起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 205|回复: 3

【搞定】【紧急】流程回退的问题**

[复制链接]
发表于 2007-11-15 10:23:03 | 显示全部楼层 |阅读模式
回退的模式设置为:经过的任意环节;
问题是:1、回退环节默认都是选中,而一般情况下是只会选中其中之一,这样很容易出现把这些环节都回退了,流程就乱掉了。应该默认情况下是都不选中。
2、只允许选中一个环节,而不是多个环节,

Snap1.jpg

105.22 KB, 下载次数: 157

回复

使用道具 举报

 楼主| 发表于 2007-11-15 11:52:07 | 显示全部楼层
修改回退环节默认不选中
【业务模型\系统空间\用户界面基础\界面库\系统接口\选择流程任务列表窗体】里面:
procedure TSELECTFLOWTASKLISTFORM.LoadFlowTask(AFlowTask: TFlowTask);
var
  I: Integer;
  lListItem: TListItem;
begin
  if AFlowTask.Children.Count = 0 then
  begin
    lListItem := lvFlowTasks.Items.Add;
    lListItem.Data := AFlowTask;
    lListItem.Checked := False;
    DoRefreshListItem(lListItem, AFlowTask);
  end
  else
  begin
    for I := 0 to AFlowTask.Children.Count - 1 do
      LoadFlowTask(AFlowTask.Children[I]);
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-15 16:16:08 | 显示全部楼层
修改只允许选中一个环节,而不是多个环节:
procedure TSELECTFLOWTASKLISTFORM.btnOKClick(Sender: TObject);
const
  SNoSelected = '没有选中的任务,不能继续!';
  SNoExecutors = '选中了任务:"%s",但是没有分配执行者!';
  SInvalidExecutors1 = '选择了后续环节:"%s", 但是分配的执行者超过了定义的个数!';
  SInvalidExecutors2 = '选择了后续环节:"%s", 但是没有分配所有执行者!';
var
  I, lSelCount: Integer;
  lListItem: TListItem;
  lFlowTask: TFlowTask;
  lCheckCount : Integer;
begin
  lSelCount := 0;
  lCheckCount := 0;
// do zxh
  for I := 0 to lvFlowTasks.Items.Count - 1 do
  begin
    if lvFlowTasks.Items[I].Checked then
      lCheckCount := lCheckCount + 1;
  end;
  if lCheckCount > 1 then
  begin
    jsDialogs.ShowWarning('只能选择一个环节!','注意');
    SysUtils.Abort;
    exit;
  end;
///////////////
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-13 09:00:23 | 显示全部楼层
这个帖子结了吧!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-2 09:25 , Processed in 0.050596 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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