起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 180|回复: 5

【搞定】按钮触发启动流程的方法

[复制链接]
发表于 2007-7-5 16:17:30 | 显示全部楼层 |阅读模式
通过按钮来触发启动一个流程,并且传一些数据到这个流程,怎么做比较好?
用下面这个代码了话,还要制定部门和人员很不方便啊,有没有好的解决方案?而且怎么传数据进去阿?
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-7-5 16:56:22 | 显示全部楼层
首先,纠正一下,数据不是通过传递的,而是通过过滤!
回复 支持 反对

使用道具 举报

发表于 2007-7-5 17:00:18 | 显示全部楼层
对于启动流程,楼主可以在论坛中搜索,应该有很多
http://bbs.justep.com/search.php ... ortorder=descending
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-5 17:54:44 | 显示全部楼层
我想用调用子流程来解决这个问题,在CreateSubFlow事件里写好了调用子流程,在按钮里调用
CreateSubFlow这个过程应该怎么作呢?(需求中包括多次启动这个子流程,但是却停留在该功能,所以用按钮来触发)
回复 支持 反对

使用道具 举报

发表于 2007-7-6 15:07:37 | 显示全部楼层
不知道楼主要实现什么样的需求(请搂住具体描述一下您的需求)。
如果用子流程的话,相对会复杂了,万不得已才去用它的!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-8 10:20:52 | 显示全部楼层
已经解决了,结帖吧
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-12 09:03 , Processed in 0.037360 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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