执行计划自动执行报错“您要读取的数据在系统中不存在,可能已经被删除![ID=-1,Type=Organization]”原创
金蝶云社区-zlz
zlz
2人赞赏了该文章 527次浏览 未经作者许可,禁止转载编辑于2022年10月18日 11:45:04

执行计划手动测试不会报错,但是自动就会报错“您要读取的数据在系统中不存在,可能已经被删除![ID=-1,Type=Organization]”

有可能是上下文里面没有组织没有值导致的,需要给context里面的当前组织赋值

(注意不需要判空赋值!!!直接赋值就好了)

//系统管理员的当前登录组织是固定的,内码为1.
    long orgId = 1;
    //得到组织并给执行计划上下文赋值
     Organization curOrg = OrganizationServiceHelper.ReadOrgInfoByOrgId(this.Context, orgId);
    List<long> functions = Array.ConvertAll(curOrg.OrgFunctions.Split(','), (a) => 
    { return Convert.ToInt64(a); }).ToList();
    this.Context.CurrentOrganizationInfo = new OrganizationInfo() //给当前上下文增加组织
    {
          ID = curOrg.Id,
          Name = curOrg.Name,
          FunctionIds = functions,
          AcctOrgType = curOrg.AcctOrgType
    };


参考链接:执行计划调用下推报没有下游单据新增权限

赞 2