起步软件技术论坛-X3

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

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

[复制链接]
 楼主| 发表于 2010-4-26 09:57:29 | 显示全部楼层
那就是说第一步流转第2部的时候没有出现流转对话框?
1、是的。没有。
那么第2个环节中执行规则是如何设置的?
2、(如图设置)
有没有代码在beforeflowout或者OnCreateFlowouFLowtasks方法中对流程的执行者进行设置?
3、没有设置

112.jpg

101.53 KB, 下载次数: 299

回复 支持 反对

使用道具 举报

发表于 2010-4-26 10:01:27 | 显示全部楼层
缺省执行者表达式和限定执行者表达式分别是如何设置的?
回复 支持 反对

使用道具 举报

发表于 2010-4-26 10:05:05 | 显示全部楼层
楼主,你这样,在数据库中或者通过studio中浏览表的方式,在任务表中把第二个环节的任务找到,然后再到任务消息表中根据任务guid找到他的任务消息。导出到excel发上来看看
(TTask.FGUID=TTaskMessage.FTASKGUID)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-26 10:06:07 | 显示全部楼层
最初由 shangxy 发布
[B]缺省执行者表达式和限定执行者表达式分别是如何设置的? [/B]

这2个没有做设置
回复 支持 反对

使用道具 举报

发表于 2010-4-26 10:14:18 | 显示全部楼层
楼主,按13楼说的把数据传上来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-26 10:24:59 | 显示全部楼层
导了条今天的数据(附件)

新建 microsoft excel 工作表.rar

2.61 KB, 下载次数: 75

回复 支持 反对

使用道具 举报

发表于 2010-4-26 10:57:25 | 显示全部楼层
楼主,首先你上面给的数据是任务表的数据,不是任务消息表的数据。
其次就是你导出的话,尽量通过平台的方式,因为会带出字段列名,方便查看。(studio中浏览表,选择数据网格,然后右键,有一个输出为的菜单,用它就可以导出到excel)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-26 11:05:44 | 显示全部楼层
那个确实是任务消息表的数据啊。。。这个附件的数据是直接输出为excel的数据

ww.rar

2.84 KB, 下载次数: 74

回复 支持 反对

使用道具 举报

发表于 2010-4-26 11:31:13 | 显示全部楼层
16楼的肯定不是任务消息表的数据,因为任务消息表中的数据是不带 BIZ:\ZJGLXT\PROC\XJCFF_BZQRJL.PROC这种数据列的。
18楼的就是任务消息数据
从数据上看,是你发给部门了,所以导致该部门下所有人都能看。
所以只能看看你发任务时指定的执行者是否在代码中做的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-26 12:24:10 | 显示全部楼层
我发送任务的代码,帮看下是哪个设错?


procedure TZJ.BitBtn1Click(Sender: TObject);
Var
Str:String;
BGBZ,BM,NoBH,YBZ:String;//报告标准,确认部门,NoBH,原标准
BM_ID,GW_ID:String; //部门ID,岗位ID
lFlowControl: TFlowControl;
begin
  YBZ:='';
  BM:=DataSetBroker4.DataSet.FieldByName('LQBM').AsString;

  if DataSetBroker4.DataSet.State in [TDataSetState.dsInsert,TDataSetState.dsEdit] then
     DataSetBroker4.DataSet.ApplyUpdates;

  if DataSetBroker4.DataSet.RecordCount=0 then Exit;

  if BM=''then
  begin
     JsDialogs.ShowMsg('请选择标准确认部门','提示');
     Exit;
  end;
  if DataSetBroker4.DataSet.FieldByName('QRQK').AsString<>''then
  begin             //   待确认
     JsDialogs.ShowMsg('该标准已处于"'+DataSetBroker4.DataSet.FieldByName('QRQK').AsString+'"状态','提示');
     Exit;
  end;
  Query1.Close;
  query1.ConnectionString := 'dataBaseURL=Biz:\ZJGLXT\ZJSJK.Database';
  query1.CommandText:='Select TOP 1 * From BZSZB WHERE LX=''标准科室代码''and MC=:MC';
  query1.Params.ParamByName('MC').AsString:=BM;
  query1.Open;
  if (query1.RecordCount=0) OR (query1.FieldByName('DM').AsString='')then
  begin
     JsDialogs.ShowMsg('请在分类设置初始化 '+BM+' 的科室代码','提示');
     Exit;
  end;
  NoBH:=NoNumber(query1.FieldByName('DM').AsString); //流程编号

  query1.Close;
  query1.ConnectionString := 'dataBaseURL=Biz:\SYSTEM\SYSTEM.DATABASE';
  query1.CommandText :='SELECT Top 1 TPOSITION.FID, TDEPT.FID '+
                        'FROM TORGSYSTEM, TDEPT, TPOSITION '+
                        'WHERE TORGSYSTEM.FKIND = ''.PSM'' and fpath like ''\ROOT\GXCPZLJDJYY.OGN%'' and '+
                        'TDEPT.FID = TORGSYSTEM.FDEPT and TORGSYSTEM.FPOSITION = TPOSITION.FID '+
                        'and TDEPT.FDISPLAYNAME=:BM and (TPOSITION.FDISPLAYNAME =''主任'' or TPOSITION.FDISPLAYNAME =''副主任'')';
  query1.Params.ParamByName('BM').AsString:=BM;
  query1.Open;
  if query1.RecordCount=0 then
  begin
     JsDialogs.ShowMsg('请联系系统管理员设置['+BM+']下的主任/副主任的相关人员!','提示');
     Exit;
  end else
  begin
     GW_ID:=query1.Fields[0].AsString;//岗位
     BM_ID:=query1.Fields[1].AsString;//部门
  end;
if DataSetBroker2.DataSet.RecordCount<>0 then
begin
    DataSetBroker2.DataSet.First;
    while not DataSetBroker2.DataSet.Eof do
    begin
      if DataSetBroker2.DataSet.FieldByName('SFSKG').AsString='是' then
      begin
         YBZ:=YBZ+','+DataSetBroker2.DataSet.FieldByName('BZDH').AsString+' '+DataSetBroker2.DataSet.FieldByName('BZMC').AsString;
      end;
      DataSetBroker2.DataSet.Next;
    end;

    if YBZ<>'' then
    begin
       if YBZ[1]=',' then
       YBZ:=strUtils.RightStr(YBZ,stringUtils.LengthAnsi(YBZ)-StringUtils.PosAnsi(',',YBZ));
    end;
end;
Str:=Business.System.JSCommon.CreateGUIDStr;
BGBZ:=DataSetBroker1.DataSet.FieldByName('BZDH').AsString+' '+DataSetBroker1.DataSet.FieldByName('BZMC').AsString;
query1.Close;
query1.ConnectionString := 'dataBaseURL=Biz:\SYSTEM\SYSTEM.DATABASE';
query1.CommandText := 'Insert into BZQRJL(BH,NoBH,YBZ,BGBZ,ZLBS,JYS,QRBH,LRRQ) values(:BH,:NoBH,:YBZ,:BGBZ,:ZLBS,:JYS,RBH,RRQ)';
query1.Params.ParamByName('BH').AsString:=Str;
query1.Params.ParamByName('NoBH').AsString:=NoBH;  //No编号
query1.Params.ParamByName('YBZ').AsString:=YBZ;   //原标准
query1.Params.ParamByName('BGBZ').AsString:=BGBZ;  //变更标准
query1.Params.ParamByName('QRBH').AsString:=DataSetBroker4.DataSet.FieldByName('ZDBH').AsString;//关联的编号
query1.Params.ParamByName('ZLBS').AsString:=DataSetBroker1.DataSet.FieldByName('ZLBS').AsString;//关联的编号
query1.Params.ParamByName('LRRQ').AsDateTime:=Business.Data.SysSrv.SysService.Time; //日期时间
query1.Params.ParamByName('JYS').AsString:=BM;//
query1.Execute;

  UserStartFlow('Biz:\ZJGLXT\PROC\XJCFF_BZQRJL.PROC', //流程URL
                 BM_ID,//部门
                 '', //岗位
                 '',    //人员
                 'JYSJYY',Str,BGBZ,'新检测方法、标准确认记录流程');
  DataSetBroker4.DataSet.Edit;
  DataSetBroker4.DataSet.FieldByName('QRQK').AsString:='待确认';
  DataSetBroker4.DataSet.ApplyUpdates;
  JsDialogs.ShowMsg('标准:'+BGBZ+' 已发放至'+BM,'提示');
end;
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

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

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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