起步软件技术论坛-X3

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

【搞定】如何控制流转**

[复制链接]
发表于 2007-4-2 12:04:35 | 显示全部楼层 |阅读模式
现在在一个功能里面我把流程过滤去掉了 把所有的数据都显示出来了,但是这样流转就会重复流转了,应该怎么控制是否这条记录能流转?
回复

使用道具 举报

发表于 2007-4-2 14:00:19 | 显示全部楼层
啥意思,你想实现,
1、如果启动过流程的记录就不能启动了,且不让操作者在入口看到,是这样马?
2、如果启动过流程的记录就不能启动了,且操作者在入口看到,只是不能做流转,是这样马?

另外,请问出于啥原因需要设置成“流程过滤去掉了”
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-2 14:31:55 | 显示全部楼层
是第二个 如果启动过流程的记录就不能启动了,且操作者在入口看到,只是不能做流转

流程过滤去掉 是为了能显示所有数据
回复 支持 反对

使用道具 举报

发表于 2007-4-2 15:23:14 | 显示全部楼层
那就用一个字段出来标识 该记录是否启动过流程实例,当启动流程后(在流程的AfterFlowOut),修改标识字段的值
回复 支持 反对

使用道具 举报

发表于 2007-4-2 15:27:09 | 显示全部楼层
可以以这条记录的流程字段对应的值为关键字,查询有没有对应的流程已经存在,如果有就不允许启动流程。

查询相应的流程:
1、直接查找对应的流程ID表

2、或者,使用系统提供的函数,以流程ID、过程的URL作为条件,进行查询。
  Flow.FlowEngine.GetFlows(AParam: TLoadFlowParam; AFlows: Business.System.TObjectList); overload;
TLoadFlowParam = class(Business.System.TPersistent)
public
  constructor create;
  procedure Assign(Source: Business.System.TPersistent); override;
  procedure Destroy; override;
  property CreateDateTimeRange: TDateTimeRange;
  property GUIDs: Business.System.TStrings;
  property IDs: Business.System.TStrings;
  property ProcURLs: Business.System.TStrings;
  property States: TFlowStates;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-3 14:45:20 | 显示全部楼层
结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-18 20:39 , Processed in 0.040752 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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