BOS运行时-执行计划-上下文对象

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

BOS运行时-执行计划-上下文对象

执行计划自动调度时,使用的是administrator用户,没有组织信息(-1),有些场景下,我们需要根据用户组织和用户权限获取数据或者进行一些业务操作,这种情况下,不适合使用administrator用户进行。


建议使用以下代码克隆上下文对象Context,指定组织信息和用户id

注意,禁止直接修改上下文对应Context,因为这是一个全局变量

参考代码如下:

public void Run(Context ctx, Kingdee.BOS.Core.Schedule schedule)     
{

    var cloneContext = ctx.Clone() as Context;
    if(cloneContext == null )
    {
        Logger.Info("custError", "Clone context error");
        return;
    }

    cloneContext.CurrentOrganizationInfo = new OrganizationInfo()
    {
        //通过查询T_ORG_ORGANIZATIONS表可以得到对应的id
        ID = 100001
    };
    //通过查询 T_SEC_USER 可以得到对应的id
    cloneContext.UserId = 100007;
    //调用接口传递上下文的地方传入cloneContext
    BusinessDataServiceHelper.Save(cloneContext, dataObject);
  }



BOS运行时-执行计划-上下文对象

执行计划自动调度时,使用的是administrator用户,没有组织信息(-1),有些场景下,我们需要根据用户组织和用户权限获取数据或者进行一些...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息