以下是发通知代码.
------------------------------------------
VAR
AFuncURL, ATaskTypeName, ATaskTypeID, ASubject, ABizField, ABizFieldValue,
ADept, APosition, APerson : string;
begin
try
AFuncURL := 'Biz:\BJRLJTSBYT\BZFBFUNC.Func'; // 自定义任务关联功能
ATaskTypeName := '标准发布'; // 自定义任务关联的任务名称
ATaskTypeID := 'BZFB'; // 自定义任务关联的任务ID
ASubject := '代码启动通知';
ABizField := 'Biz:\BJRLJTSBYT\RLSBYTSJK.DATABASE\SB_XDSQ.Table\FGUID.Field'; // 关联字段
ABizFieldValue := 'EE9A8FF584524EE5A24DB006C531D0C0'; // 关联字段值
ADept := '';//dsb.DataSet.FieldByName('FDept').AsString;; // 接收部门
APosition := '';//dsb.DataSet.FieldByName('FPosition').AsString;; // 接收岗位
APerson := 'test';//dsb.DataSet.FieldByName('FPerson').AsString;; // 接收人
UserStartTask(AFuncURL, ATaskTypeName, ATaskTypeID, ASubject, ABizField,
ABizFieldValue, ADept, APosition, APerson);
jsDialogs.ShowMsg('启动 ' + ASubject + ' 成功', '');
finally
end;
end;
//-------------------------------------------------------------------------------------------------------------
procedure TMainForm.UserStartTask(AFuncURL, ATaskTypeName, ATaskTypeID,
ASubject, ABizField, ABizFieldValue, ADept, APosition, APerson : string);
VAR
lOrgURL : TOrgURL;
lTask ,lTask1 : TTask;
lTaskBizData : TTaskBizData;
lTaskBizDataRec : TTaskBizDataRec;
begin
lTask := TTask.Create;
lTask1:=ttask.Create;
{任务接受者}
lOrgURl := TOrgURL.Create(ADept, APosition, APerson);
{任务业务关联数据定义}
lTaskBizData := TTaskBizData.Create;
lTaskBizDataRec := TTaskBizDataRec.Create;
try
lTaskBizDatarec.BizField := ABizField; //业务数据的关键字段,用于检索业务数据
lTaskBizDataRec.Value := ABizFieldValue; //业务数据的关键字段值
lTaskBizData.BizDataKeys.Add(lTaskBizDataRec);
//lTaskBizData.BizDatas.Add(lTaskBizDataRec);
{任务信息的定义}
lTask.Subject := ASubject;
lTask.Kind:= ''; //无流程任务为空
lTask.TaskType := ATaskTypeID; //任务类型,如:工作任务:WORKTASKDEAL, WORKTASK
lTask.TaskTypeName := ATaskTypeName;
lTask.FuncURL := AFuncURL; //处理任务的功能
lTask.SenderDeptID := ADept;
lTask.SenderPositionID := APosition;
lTask.SenderID := APerson;
lTask.NeedProcess := false;
lTask.BizDatas.Add(lTaskBizData); //设置业务数据与任务关联关系, 保存任务业务关联信息到‘系统空间\系统数据库\任务业务数据表’
lTask.TaskMessages.AddTaskMessage(nil, lOrgURl, TTaskmessagestate.tmsSend, 0,
False); //添加到任务列表
// business.Forms.Dialogs.ShowMessage(ltask.GUID);
{保存任务}
Business.Model.Flow.Flow.FlowEngine.SaveTask(lTask); //保存任务信息到‘系统空间\系统数据库\任务表’,任务消息到‘任务消息表’
finally
//lTaskBizDataRec.Free;
//lTaskBizData.Free;
lTask .Free;
lTask1.free;
lOrgURL.Free;
end;
end; |