起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 888|回复: 0

“任务数据已经被修改”错误的原因及解决方法

[复制链接]
发表于 2008-8-22 15:28:18 | 显示全部楼层 |阅读模式
关键字:
    任务 工作台 待办 刷新 任务数据已经被修改

说明:
    在工作台点击待办任务或在任务中心点击任务记录时,有可能会报错:任务数据已经被修改。这是由于当前客户端的任务数据与数据库已经不一致(如:任务被他人修改)而导致的。与协同任务的脚本有关,是个缺陷。

解决方法:
    修改“协同系统\任务\任务中心信息”代码
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;
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 00:44 , Processed in 0.034845 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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