|
发表于 2009-4-7 13:39:52
|
显示全部楼层
哦,需要写代码来处理,楼主可以参考一下:
业务模型\协同系统\任务\任务提醒库\提醒工具栏
procedure TReminderBar.actRemindExecute(Sender: TObject);
const
cDefSubject = '提醒: ';
var
lFuncContext: TContext;
lTask: TTask;
lSubject: string;
lShowDialog: Boolean;
lReceiverURLs, lKeys, lValues: array of string;
lWarningTime: TDateTime;
lFuncURL: string;
lFlowGUID, lParentGUID: string;
begin
lShowDialog := True;
lSubject := cDefSubject;
lReceiverURLs := [];
lKeys := [];
lValues := [];
lWarningTime := 0;
lFuncContext := Context.FindParentContext(BizSys.IL_FUNC);
if lFuncContext <> nil then
lFuncURL := TFunc(lFuncContext.Owner).BizClassURL.BizURL.URL
else
lFuncURL := '';
lFlowGUID := '';
lParentGUID := '';
if Assigned(FOnReminderInit) then
FOnReminderInit(Sender, lSubject, lReceiverURLs, lKeys, lValues, lWarningTime, lFuncURL, lFlowGUID, lParentGUID, lShowDialog);
lTask := TTaskLib.CreateReminderTask(Context, lSubject, [], lWarningTime, lFuncURL, [], []);
lTask.ExecuteMode := TTaskExecuteMode.emSimultaneous;
lTask.Subject := lSubject;
lTask.WarningTime := lWarningTime;
lTask.PlanStartTime := lWarningTime; // 开始时间设置为提醒时间
lTask.FlowGUID := lFlowGUID;
lTask.ParentGUID := lParentGUID;
if Length(lReceiverURLs) > 0 then
TTaskLib.AddReceiver(lTask, lReceiverURLs);
if Length(lKeys) > 0 then
TTaskLib.AddBizDataKey(lTask, lKeys, lValues);
if lShowDialog then
begin
TNewReminder.Execute(Context, lTask, True, FOnBeforeSave)
end
else begin
if Assigned(FOnBeforeSave) then
FOnBeforeSave(lTask);
TTaskLib.SaveTask(lTask);
end;
end; |
|