起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: rzport_lq0

【结贴】任务流转无效**

[复制链接]
 楼主| 发表于 2008-6-5 16:52:02 | 显示全部楼层
我正在测试!!
一会给你发出来!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-5 16:56:22 | 显示全部楼层
我弄了好几条数据。现在刷新就提示:

DataSetTaskIndex: 数据已经被修改,请先提交或者回滚数据!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-5 16:58:51 | 显示全部楼层
只有把窗口关了,然后重进才可以看到录入的新数据!!
回复 支持 反对

使用道具 举报

发表于 2008-6-5 17:10:09 | 显示全部楼层
您自己修改了什么?如果只改7楼的,不会有这个错误。您可以找一个比较干净的系统库试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-5 17:14:12 | 显示全部楼层
我把原来的函数换成了你7楼的代码!!其他地方没有做过任何修改!!
回复 支持 反对

使用道具 举报

发表于 2008-6-5 17:17:03 | 显示全部楼层
整个代码其实只修改
业务模型\协同系统\任务\任务中心信息
procedure TTaskOperations.FixPopupMenu(APopupMenu: TPopupMenu; ActionList: TActionList;  AFilterType: TFilterType);
函数的
APopupMenu.Items.Insert(1, lMenuItem);//APopupMenu.Items.Insert(0, lMenuItem);  修改此处
这一句。不知道楼主怎么改的。那个帖子的楼主已经是测试过的,应该没问题的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-5 17:21:25 | 显示全部楼层
我把
var
  I: Integer;
  lMenuItem: TMenuItem;
  lTaskTypeInfo: TCMTaskTypeInfo;
begin
  if (AFilterType = TFilterType.ftPost) then
  begin
    for I := APopupMenu.Items.Count - 1 downto 0 do
      if (APopupMenu.Items[I].Action <> nil) and
        (FindBizOperation(APopupMenu.Items[I].Action as TAction) <> '') then
        APopupMenu.Items.Delete(I);
    if FTaskCenterInfo.Task = nil then
      Exit;
    if FTaskCenterInfo.Task.IsFlowTask then
    begin
      if OperatorBizOperations.IndexOf('Biz:\COLLABORATION\TaskOptionGroup.OperationGroup\FetchBack.Operation') >= 0 then
      begin
        lMenuItem := TMenuItem.Create(APopupMenu);
        APopupMenu.Items.Insert(0, lMenuItem);
        lMenuItem.Action := GetBizOperationAction('Biz:\COLLABORATION\TaskOptionGroup.OperationGroup\FetchBack.Operation', ActionList);
        Exit;
      end;
    end;
  end else
    FixPopupMenu(APopupMenu, ActionList);
end;
全部用
7楼的代码替换了!

你可以试下。
先提交几条任务,然后对其中某条进行回退处理!!
接着提交这条取回的任务!!!
再增加任务,接着在代办任务下,用右键菜单进行刷新操作,这个提示就出来了!!
回复 支持 反对

使用道具 举报

发表于 2008-6-5 17:47:01 | 显示全部楼层
这个不太好试验。
楼主改  业务模型\协同系统\任务\任务中心信息\任务导航(基类)
actViewRefreshExecute 函数 ,也就是报错的时候停的地方。
修改成这样。
procedure TTASKNAV.actViewRefreshExecute(Sender: TObject);
begin
  TaskDataSet.DisableControls;
  try
    TaskDataSet.CancelUpdates;
    TaskDataSet.Refresh;
  finally
    TaskDataSet.EnableControls;
  end;
end;

看看效果如何。
这个错误跟楼上改那个回收错误没有什么关系,是一个隐藏的缺陷。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-5 18:22:24 | 显示全部楼层
TTaskOperations.FixPopupMenu 这个过程重要吗?
我想把这个过程注释掉,不让代办任务,和提交任务下面 弹出菜单!!
回复 支持 反对

使用道具 举报

发表于 2008-6-6 08:37:56 | 显示全部楼层
那楼主可以在  业务模型\协同系统\任务\任务中心信息\任务导航(基类)
修改
procedure TTASKNAV.PopupMenuPopup(Sender: TObject);
begin
//  actViewDetail.Visible := not (FFilterType = TFilterType.ftNeedProcess);
//  if FFilterType = TFilterType.ftNeedProcess then
//    FTaskOperations.FixPopupMenu(Sender as TPopupMenu, ActionList);
  if FFilterType in [TFilterType.ftNeedProcess, TFilterType.ftPost] then
    FTaskOperations.FixPopupMenu(Sender as TPopupMenu, ActionList, FFilterType);
end;
注释掉这里。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-17 05:26 , Processed in 0.040121 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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