起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 461|回复: 13

【结贴】删除某条数据时,同时删除该数据对应的流程和消息**

[复制链接]
发表于 2008-2-25 16:06:38 | 显示全部楼层 |阅读模式
帮我看看这段代码有什么问题么?
procedure TMainForm.DataNavigatorBeforeAction(Sender: TObject; var Accept: Boolean);
var
  lRegPerson: string;
  lMsg: string;
  flowEng: TFlowEngine;
  fParam: TLoadFlowParam;
  tParam: TLoadTaskParam;
  flowGuid: string;
begin
  case (Sender as TBizDataSetAction).ID of
    BizActnConsts.ActionDataSetAppend:
      if ViewMode = TViewMode.vmList then
      begin
        Accept := False;
        ViewMode := TViewMode.vmDetail;
        DocListDataSet.Active := True;
        DocListDataSet.Insert;
      end;
    BizActnConsts.ActionDataSetDelete:
      begin
        Accept := False;
        case ViewMode of
          TViewMode.vmList, TViewMode.vmDetail:
            begin
              if ViewMode = TViewMode.vmList then
              begin
                lRegPerson := DocIndexDataSet.FieldByName('UserName').AsString;
              end
              else
              begin
                lRegPerson := DocListDataSet.FieldByName('UserName').AsString;
              end;

              flowGuid := TCOMMONFUNC.GetFlowGuidById(DocListDataSet.FieldByName('DocId').AsString);

              if lRegPerson <> WDLZInfo.GetOperatorName then
                jsDialogs.ShowWarning('不是当前客户的登记人,不能删除客户信息', '提示')
              else
              begin
                if jsDialogs.ConfirmBox('确认要删除当前记录吗?', '提问', 1) then
                begin
                   DocListDataSet.Delete;
                   DocListDataSet.ApplyUpdates;

                  flowEng := TFlowEngine.Create;
                  fParam := TLoadFlowParam.Create;
                  tParam := TLoadTaskParam.Create;
                  try
                    fParam.GUIDs.Add(flowGuid);
                    tParam.FlowGUIDs.Add(flowGuid);

                    flowEng.DeleteFlows(fParam,tParam);
                    flowEng.DeleteTasks(tParam);

                  finally
                    fParam.Free;
                    tParam.Free;
                    flowEng.Free;
                  end;

                  DocListDataSet.First;
                end;
              end;
            end;
          TViewMode.vmEncloses:   //2006-11-15 补充
            begin
            DSEncloses.DataSet.Delete;
            DSEncloses.DataSet.ApplyUpdates;
            end;
        end;
      end;
    BizActnConsts.ActionDataSetCancel:
      begin
        if DataNavigator.DataSource.DataSet.State = TDataSetState.dsInsert then
          lMsg := '确认要取消新增记录吗?'
        else
          lMsg := '确认要取消当前修改吗?';
        if not jsDialogs.ConfirmBox(lMsg, '提问', 1) then
          Accept := False;
      end;
  end;
end;
回复

使用道具 举报

发表于 2008-2-25 17:01:45 | 显示全部楼层
不知楼主先在遇到啥问题,能说说吗?是直接的结果没有满足你的需求,还是报错?如果是报错,请把原始的错误信息贴出来。如果是没有满足你的需求,请先设置断点跟踪一下,主要是看逻辑是否对。

另外,论坛上也有相关的帖子,例如 http://bbs.justep.com/forum.php?mod=viewthread&tid=20186
19楼和15楼,这些都是我们测试过的,且是正常的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-26 09:36:13 | 显示全部楼层
如下图,我的操作

第一步:当前代办任务列表如下图:

a1.jpg

26.28 KB, 下载次数: 269

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-26 09:39:20 | 显示全部楼层
第二步:文档流转功能:是一个走流程的,先录入,然后提交管理员审批;
为了测试方便,我把录入和审批的功能都付给了同一个用户。
录入一条新的文档数据,如下图:

a2.jpg

35.4 KB, 下载次数: 259

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-26 09:43:56 | 显示全部楼层
第三步:当保存以后(不提交),可以看到待办任务中已经显示了“HB2008225165739”的任务消息,如下图:

a3.jpg

27.92 KB, 下载次数: 256

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-26 09:47:28 | 显示全部楼层
第四步:删除刚录入的编码为“HB2008225165739”的数据。(所有的操作都是在不关闭“文档录入”窗口的情况下进行的)如下图:

a4.jpg

39.29 KB, 下载次数: 245

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-26 09:50:32 | 显示全部楼层
第五步:删除了刚才新建的数据后,在待办任务中所对应的“HB2008225165739”的消息也不再显示了,如下图:

a5.jpg

27.2 KB, 下载次数: 251

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-26 09:53:14 | 显示全部楼层
(截止到第五步都是正常的,都是满足需求的)
第六步: 我再次在文档录入窗口中新建一条数据保存,如下图:

a6.jpg

34.88 KB, 下载次数: 248

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-26 09:55:56 | 显示全部楼层
第七步:这是问题出现了,我第二次输入的文档数据对应的编码是“HB2008225170206”,在待办任务中的消息应该对应的是“HB2008225170206”;而在待办任务中出现了这样的消息,如下图待办任务中第一条消息:

a7.jpg

28.21 KB, 下载次数: 245

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-26 10:04:21 | 显示全部楼层
第八步:而在文档录入窗体的列表中,确实已没有编码为“HB2008225165739”的数据,将第二次录入的那条数据进行流转,如下图:

a8.jpg

48.03 KB, 下载次数: 245

回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-12 13:46 , Processed in 0.047673 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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