|
关键字:
任务 工作台 待办 刷新 任务数据已经被修改
说明:
在工作台点击待办任务或在任务中心点击任务记录时,有可能会报错:任务数据已经被修改。这是由于当前客户端的任务数据与数据库已经不一致(如:任务被他人修改)而导致的。与协同任务的脚本有关,是个缺陷。
解决方法:
修改“协同系统\任务\任务中心信息”代码
function TTASKCENTERINFO.CanTaskDelete: Boolean;
begin
//TODO: 未实现删除 //只能删除活动的流程通知任务
try
Result := (Task <> nil) and (Task.State in [TTaskState.tsStarted, TTaskState.tsProcessing, TTaskState.tsWaiting]) and SysUtils.SameText(Task.Kind, 'ftkNotify');
except
//jhm 任务被改变时,报错:任务数据已经被修改
on E: Exception do
begin
//jsDialogs.ShowMsg(e.message, '');
TaskRefresh;
if FTask <> nil then
ReLoadTask;
Result := False;
end;
end;
end;
procedure TTASKCENTERINFO.UpdateTaskState;
begin
// TODO: 需要做效率优化
// FTaskCanProcess := FTask <> nil;
try
FTaskCanProcess := (FTask <> nil) and TTaskServices.GetTaskCanRun(Context, FTask);
except
//jhm 任务被改变时,报错:任务数据已经被修改
on E: Exception do
begin
//jsDialogs.ShowMsg(e.message, '');
TaskRefresh;
if FTask <> nil then
ReLoadTask;
FTaskCanProcess := False;
end;
end; |
|