起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 195|回复: 1

[分享]关于流程入口环节多条业务数据的处理

[复制链接]
发表于 2007-10-24 17:16:30 | 显示全部楼层 |阅读模式
流程有一个流程字段FlowField属性,缺省流程可以根据流程字段的一个值创建一个流程实例。在有些情况下,一个流程实例可能会对应多条业务数据,这些业务数据同时随着流程流转或者回退。

举例1:一个流程实例中对应多条业务数据
可以在流程入口环节的BeforeFlowStartup事件中,可以定义对应一个流程实例对应多条业务数据

如下面的例子中,当前数据集DataSet中有几条记录都可以放到这一个流程实例中
procedure TMAINFORM.FlowBroker1BeforeFlowStartup(Sender: TObject; Command: TFlowStartupCommand);
begin
  Command.FlowValue.IDs.Clear;
  DataSetBroker1.DataSet.First;
  while not DataSetBroker1.DataSet.Eof do
  begin
    Command.FlowValue.IDs.Add(DataSetBroker1.DataSet.FieldByName('PRODUCTID').AsString);
    DataSetBroker1.DataSet.Next;
  end;
end;

2.rar

18.82 KB, 下载次数: 79

回复

使用道具 举报

 楼主| 发表于 2007-10-25 11:20:40 | 显示全部楼层
举例2:在流程入口环节输入多条业务数据,每一条数据启动一个流程实例
设置流程启动规则的启动模式为流转时
设置流程启动规则的能否多次启动为True

在入口环节的功能窗体上放一个Button,在OnClick事件中做流转
procedure TMAINFORM.Button1Click(Sender: TObject);
begin
  DataSetBroker1.DataSet.First;
  while not DataSetBroker1.DataSet.Eof do
  begin
    FlowBroker1.FlowControl.FlowOut(nil);
    DataSetBroker1.DataSet.Next;
  end;
end;

1.rar

11.76 KB, 下载次数: 80

回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-29 02:17 , Processed in 0.041999 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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