起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 121|回复: 7

【搞定】流程流转途中,跳转到另外一个子流程,还要传一些数据给这个子流程**

[复制链接]
发表于 2007-6-14 11:37:49 | 显示全部楼层 |阅读模式
有没有什么好的方案或者例子?子流程还要回到这个主流程
用下面这个函数可以吗?
有没有更好的方法,最好可以方便传数据到子流程
procedure TMainForm.UserStartFlow
(AFlowUrl,ADept,ARole,APerson,AStartProc,AFlowID,ASubject,ADescription:string);
var
  lBizURL: TBizURL;
  lFlowValue: TFlowValue;
  lFlowControl: TFlowControl;
  lExecutor: Business.Model.Org.TOrgURL;
begin
  lBizURL := TBizURL.Create;
  lFlowValue := TFlowValue.Create;
  lFlowControl := TFlowControl.Create(Self.Context);
  lExecutor := Org.TOrgURL.Create(ADept, ARole, APerson);
  lBizURL.URL := AFlowUrl;
  try
    lFlowValue.IDs.Add(AFlowID); //流程ID
    lFlowValue.Subject := ASubject; //流程主题
    lFlowValue.Description := ADescription; //流程描述
    //启动流程实例
    lFlowControl.StartupFlow(lBizURL, AStartProc, lExecutor, lFlowValue);
    //流程实例数据保存到数据库
    lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SaveToDB;
  finally
    lFlowControl.Free;
    lFlowValue.Free;
    lBizURL.Free;
  end;
end;
回复

使用道具 举报

发表于 2007-6-14 14:45:35 | 显示全部楼层
用系统系统的子流程来实现不行吗?楼主出于什么考虑要用代码控制呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-14 14:55:09 | 显示全部楼层
要从现在的流程传一些数据到这个子流程的数据集,这个该怎么实现?如果用子流程了话
回复 支持 反对

使用道具 举报

发表于 2007-6-14 16:10:55 | 显示全部楼层
不需要实现,只要他们使用统一的流程ID,自然就会统一过滤数据
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-14 16:35:48 | 显示全部楼层
可能是我说的不够清楚,这两个流程其实是数据库中的两张表,现在主流程流转到一半,进入子流程,要把主流程前面填写的一些数据传给子流程的一些字段,这个应该要通过写代码传值吧,然后子流程中填的数据,还有一部份要同步回传到主流程的一些字段,大体上就是这样了,主要是数据的传送不知道怎么写
回复 支持 反对

使用道具 举报

发表于 2007-6-14 17:46:53 | 显示全部楼层
这两个表之间的数据传递应该写在功能里实现。和流程无关。流程只实现数据过滤。所有的数据修改添加存储都应该通过功能里面的信息来实现。您可以把您要传递的两个数据集分配到同一个信息里,在信息中写相应的业务逻辑
回复 支持 反对

使用道具 举报

发表于 2007-6-18 13:47:54 | 显示全部楼层
楼主,这个还有问题吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-19 08:22:52 | 显示全部楼层
有问题再问吧,这个先结帖了吧
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 18:37 , Processed in 0.037483 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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