起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 182|回复: 9

[搞定]流程流转时,如何改变状态字段值?

[复制链接]
发表于 2007-7-24 23:22:56 | 显示全部楼层 |阅读模式
环节A后面XOR了二个环节,其中一个为结束环节,一个为环节B,
想设置状态字段值(FieldByName(Afield).Value := Avalue;),如果是结束设置04,如果流转到B则设为03。
我原来一个在A的afterFlowOut中,一个在afterFlowFinish中设置的,报错。后来在表单文档中添加flow.FlowControlProviderTransaction := False;还是不行。
或者就不是这样来搞的?请指教。
                             by YCFC_WYJ
回复

使用道具 举报

发表于 2007-7-25 13:34:13 | 显示全部楼层
楼主,可以这么试试看
在afterflowout中处理,根据你的条件环节,即
if 走end环节 then
  '04'
else if 走B环节 then
  '03'
明白?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-25 14:37:06 | 显示全部楼层
那么,这个‘走end环节’和‘走B环节’在A的afterflowout中怎么知道呢?并且怎么来表示?可以具体一点吗?谢谢。
回复 支持 反对

使用道具 举报

发表于 2007-7-25 15:09:20 | 显示全部楼层
就是根据XOR环节的条件可以知道下一个环节走哪儿吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-25 15:43:50 | 显示全部楼层
XOR后面没有条件,用户可以任意选定一个通路(结束和B)走下去的。
回复 支持 反对

使用道具 举报

发表于 2007-7-25 17:56:12 | 显示全部楼层
楼主可以用下面的试试看
在AfterFlowOut()中用
lFlowTask:=Command.FlowTasks[0];
这样就可以得到你下一个环节了,然后判断就可以了
回复 支持 反对

使用道具 举报

发表于 2007-7-25 21:26:00 | 显示全部楼层
在环节A的AfterFlowOut按照6楼的方法就可以判断.然后直接修改数据集里面的直post,applyudpates就可以,系统会去做和流程的事务同步.
回复 支持 反对

使用道具 举报

发表于 2007-7-26 17:30:46 | 显示全部楼层
o了吗,楼主?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-27 08:50:36 | 显示全部楼层
OK,请结帖。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-31 16:45:25 | 显示全部楼层
var lFlowtask : TFlowTask;
begin
  lFlowTask:= Command.FlowTasks[0];
end;

执行到Command.FlowTasks[0]时报错:
在计算表达式的时候产生异常,类型:“EListError”,内容:
List index out of bounds (0)。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-13 07:56 , Processed in 0.036641 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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