|
用如下代码发通知:
lTask := TTask.Create;
lTaskBizData:=TTaskBizData.Create;
lTaskBizDataRec:=TTaskBizDataRec.Create;
try
lTaskBizDatarec.BizField:='iz:\KHXT\KHSJK.DATABASE\ZGPJB.Table\BH.Field';
lTaskBizDataRec.Value:=DsbZGPJ.DataSet.FieldByName('BH').AsString;
lTaskBizData.BizDataKeys.Add(lTaskBizDataRec);
lOrgURl := TOrgURL.Create('','',DsbZGPJ.DataSet.FieldByName('khry').AsString);
lTask.Subject:='定性考核结果通知' ;
lTask.Kind:='ftkNotify'; //任务类型为通知
lTask.TaskType:='INFORMATION3';
lTask.TaskTypeName:='通知';
//下面这句话是把那个功能以通知的方式发出去
lTask.FuncURL:='Biz:\KHXT\FUNC\ZGPJGXPJFFK.Func';
lTask.BizDatas.Add(lTaskBizData);
lTask.TaskMessages.AddTaskMessage(nil, lOrgURl, TTaskmessagestate.tmsSend, 0, False);
//添加到任务消息列表里
Flow.FlowEngine.SaveTask(lTask); //保存任务
finally
lTask .Free;
end;
dialogs.ShowMessage('已发送!');
初始化运行设断点跟踪发现:DsbZGPJ.DataSet.FieldByName('BH').AsString;的值,和通知窗体打开之后,关联DsbZGPJ数据集的BH字段的dataEdit中的值不同,也就是说,不是指向DsbZGPJ数据集的同一条记录,可能是怎么回事? |
|