起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 169|回复: 6

【结贴】用下面代码怎么将回退流转窗口弹出

[复制链接]
发表于 2009-7-30 10:31:59 | 显示全部楼层 |阅读模式
procedure TSCJSBSHCT.FlowBroker1BeforeFlowOut(Sender: TObject; Command: TFlowOutCommand);

var ACommand: TFlowBackCommand;

begin
  DataSetBroker1.DataSet.DisableControls;
  try
    DataSetBroker1.DataSet.First;
    while not DataSetBroker1.DataSet.Eof do
    begin
      if DataSetBroker1.DataSet.FieldByName('status').AsInteger <> 1 then
      begin
        Command.Accept := False;
        Break;
      end;
      DataSetBroker1.DataSet.Next;
    end;
  finally
    DataSetBroker1.DataSet.EnableControls;
  end;
  if not Command.Accept then
   begin
    [U] ACommand.Create(FlowBroker1.FlowControl);
     SystemCore.TSystemCore.SystemInterface.EditFlowBackFlowTasks[/U] (ACommand);
     ACommand.Free;
   end;
  end;
下划线部分代码我写的不对,能编译,但运行时报错!如下图

dd0d5850-4f8f-44e3-88f8-e8b753ac70fc.jpg

25.26 KB, 下载次数: 100

回复

使用道具 举报

发表于 2009-7-30 10:35:27 | 显示全部楼层
为什么要这么做呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-30 10:41:06 | 显示全部楼层
那怎么做呢,因为这是会签,用条件分支环节不起作用,所以就想用代码控制!
回复 支持 反对

使用道具 举报

发表于 2009-7-30 10:46:19 | 显示全部楼层
你可以按这个思路去做:如果会签不同意,那么当他做流转时给出提示,只能回退,不能流转。
按你同事的做法
http://bbs.justep.com/forum.php?mod=viewthread&tid=29528
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-30 10:53:12 | 显示全部楼层
我知道4楼的做法,还是我弄出来的!但这样和以前的流转动作就不一样了,我想弄成能弹出回退流转窗口的怎么做呢?
回复 支持 反对

使用道具 举报

发表于 2009-7-30 11:04:12 | 显示全部楼层
那你这样吧
procedure TMainForm.FlowBroker1BeforeFlowOut(Sender: TObject; Command: TFlowOutCommand);
begin
  if DataSetBroker1.DataSet.FieldByName('sl').AsFloat > 1 then
  begin
    Command.Accept := False;
    Command.FlowControl.FlowBack(nil);
  end;
end;

但是这样子做对操作者来说,感觉不是很好(就是指执行的是流转操作,结果执行的是回退)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-30 11:06:17 | 显示全部楼层
好的,谢谢!可以结贴了!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 16:19 , Processed in 0.044807 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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