起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: huangyue

【结贴】代码启动流程后执行者的问题??**

[复制链接]
 楼主| 发表于 2010-4-26 16:29:04 | 显示全部楼层
检查任务中心发现只添加了这小段代码而已:
static function TTASKCENTERINFO.DefaultDesktopTaskOrgRange: TOrgTypes;
begin
  Result := [TOrgType.otPerson]+[TOrgType.otDept];
  if TSettingLib.GetDefaultConfig.Task_Desktop_IncludeDeptProcess then
    Result := Result + [TOrgType.otDept];
end;
想要实现我的业务需求这个怎么改?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-26 16:45:57 | 显示全部楼层
我把这小段代码去掉。。。发现待办任务那里问题依旧?貌似有没有都不影响?
回复 支持 反对

使用道具 举报

发表于 2010-4-26 17:17:39 | 显示全部楼层
1、首先请楼主确认此任务的任务消息表中到底是发给部门还是发给岗位或者人员。
2、31楼的代码改成
static function TTASKCENTERINFO.DefaultDesktopTaskOrgRange: TOrgTypes;
begin
  Result := [TOrgType.otPerson];
end;
试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-27 09:20:09 | 显示全部楼层
1.从任务消息表中看任务是发到部门下的岗位的(如图)

2.那样修改后。。。部门所有人员登录进去再待办任务都看不到任务了

qwsedf.jpg

33.29 KB, 下载次数: 158

回复 支持 反对

使用道具 举报

发表于 2010-4-27 09:30:59 | 显示全部楼层
回34楼,你的任务消息是发到了岗位上,那么33楼代码中再加上 岗位的,然后再看。

另外,为什么会这样,业务需要还是?:有的任务发到岗位有的任务发到部门?(18楼的数据和34楼的数据)
一个原则:你要实现你1楼所描述的需求,一定要保证发到岗位或者人员上,而不是部门上,否则部门下的所有人都能看到了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-27 09:54:19 | 显示全部楼层
1、33楼的代码里面就4个参数,怎么在后面写它的默认岗位?

2、业务需要的。现在我单单只控制发到岗位上都不成功,(为什么会出现有的任务发到部门有的发到岗位)
回复 支持 反对

使用道具 举报

发表于 2010-4-27 10:05:06 | 显示全部楼层
1、建议 直接把任务发到 人上(如果 主任和副主任都要看,那么可以发两次即产生任务消息表中两个任务消息)
2、只要保证有的 人能看到有的人看不到,就可以符合业务需求,所以具体你这里怎么做,用户不会有别的说法。
由此,你21楼的代码 要做些调整,就是一定要保证任务发给 人员成员才行。(如果涉及到多人,你那个urls 这个要利用上,而不是仅仅取出来人了又不利用它)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-27 10:14:52 | 显示全部楼层
1、这个请给个详细点的?
2、能做出符合业务需求的就可以了。zfang能否帮我看下21楼怎么调?那个urls用在那个地方?我一直调都不出结果,还有直接发到人员成员怎么设置[I][B]?(因为业务需求是要根据这个任务是哪个部门的就发给那个部门下的主任或者副主任)[/B] [/I]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-27 10:41:48 | 显示全部楼层
还有我这样调整的话只有副主任能看到,主任却看不到?
   OrgSys.OrgSystem.GetBizURLsByOrgExpr('OrgChildren(OrgKey('''',''FZR'', '''') , OrgCondition(''*.psm'', '''', ''''), True, False) or  OrgChildren(OrgKey('''',''ZR'', '''')  , OrgCondition(''*.psm'', '''', ''''), True, False)',urls);

sdf.jpg

15.91 KB, 下载次数: 148

回复 支持 反对

使用道具 举报

发表于 2010-4-27 10:44:51 | 显示全部楼层
21楼,这段代码
urls:=TStringList.Create();
    //只有主任(ZR) 副主任(FZR) 才有权限查看
    OrgSys.OrgSystem.GetBizURLsByOrgExpr('OrgChildren(OrgKey('+ADept+',''FZR'', '''') , OrgCondition(''*.psm'', '''', ''''), True, False) or OrgChildren(OrgKey('+ADept+',''ZR'', '''')  , OrgCondition(''*.psm'', '''', ''''), True, False)',urls);
   // OrgSys.OrgSystem.GetBizURLsByOrgExpr('OrgChildren(OrgKey('''',''FZR'', '''') , OrgCondition(''*.psm'', '''', ''''), True, False) or OrgChildren(OrgKey('''',''ZR'', '''')  , OrgCondition(''*.psm'', '''', ''''), True, False)',urls);
    //Memo1.Text:='OrgChildren(OrgKey('+ADept+',''FZR'', '''') , OrgCondition(''*.psm'', '''', ''''), True, False) or OrgChildren(OrgKey('+ADept+',''ZR'', '''')  , OrgCondition(''*.psm'', '''', ''''), True, False)';
   // Memo1.Lines.Add(urls.Text);
    urls.Free;
你可以把 urls显示出来看看,比如放个memo用于表现
memo1.lines.addstrings(urls);
看是否 是你所要的 主任或者副主任。如果是,那么 下面的代码中 利用上那个urls而不是直接给那个传入进来的三个参数
    lFlowControl.FlowRunnerByIndex[0].CurrentTask.subject:=StrSubject;//这是任务主题
    lFlowControl.FlowRunnerByIndex[0].CurrentTask.TaskMessages[0].ReceiverDeptID := ADept;//传入接收者的部门ID
    lFlowControl.FlowRunnerByIndex[0].CurrentTask.TaskMessages[0].ReceiverPositionID :=ARole;//  Business.Model.Org.OrgExpr.OrgKey(ADept, 'FZR', '')+'OR'+Business.Model.Org.OrgExpr.OrgKey(ADept, 'ZR', '');//岗位; //传入接收者的岗位ID
    lFlowControl.FlowRunnerByIndex[0].CurrentTask.TaskMessages[0].ReceiverID :=APerson; //传入接收者的人员ID
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 10:44 , Processed in 0.044226 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表