起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 959|回复: 14

流转问题

[复制链接]
发表于 2010-11-17 18:03:36 | 显示全部楼层 |阅读模式
点击中止按扭时,设置FBillState字段的值 为tsAborted,流转完成时设置FBillState 为tsFinished。怎么样做?

我在FlowBrokerAfterTaskAbort事件中设置FBillState 为tsAborted,在 FlowBrokerAfterFlowFinish事件中设置FBillState 为tsFinished。提示出错:数据在正提交。原因是:先执行了FlowBrokerAfterFlowFinish事件已提交数据,然后又执行FlowBrokerAfterTaskAbort事件,再次提交数据。点中止按扭时,在FlowBrokerAfterFlowFinish事件中如何判断?
回复

使用道具 举报

发表于 2010-11-18 09:20:55 | 显示全部楼层
没明白楼主的意思,您是要实现什么需求?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-18 12:44:59 | 显示全部楼层
整个流程正常的流转完成时,把自己建的一张把中的某个字段(FBillState)的值设为tsFinished,如果流转过程中,操作人员觉得这张单子不需要了,点击“终止”按扭时,把FBillState字段的值设为tsAborted;
回复 支持 反对

使用道具 举报

发表于 2010-11-18 14:20:46 | 显示全部楼层
您可以在FlowBrokerAfterTaskAbort做一个标记,然后在FlowBrokerAfterFlowFinish事件中判断这个标记,如果标记为真,把FBillState字段的值设为tsAborted,否则改成tsFinished,不就可以了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-18 15:03:33 | 显示全部楼层
如果点“终止”按扭,这两个事件中,先执行的是FlowBrokerAfterFlowFinish,然后才执行FlowBrokerAfterTaskAbort,你说,按你说的做行吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-18 16:07:15 | 显示全部楼层
隔了段时间没来,效率怎么这么差了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-19 11:20:09 | 显示全部楼层
这问题问得很笨?怎么从昨天下午到现在都没有人理?
回复 支持 反对

使用道具 举报

发表于 2010-11-19 11:21:35 | 显示全部楼层
楼上稍等,正在测试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-19 11:35:36 | 显示全部楼层
我的版本3088
回复 支持 反对

使用道具 举报

发表于 2010-11-19 13:08:53 | 显示全部楼层
用下面的代码设置没有问题。您看看是否和您的类似?
procedure TMAINFORM.FlowBroker1AfterFlowFinish(Sender: TObject; Command: TFlowFinishCommand);
begin
  Dialogs.ShowMessage('Finish');
  DataSetBroker1.DataSet.Edit;
  DataSetBroker1.DataSet.FieldByName('FNUMBER').AsString := '1';
  DataSetBroker1.DataSet.Post;
  DataSetBroker1.DataSet.ApplyUpdates;
end;

procedure TMAINFORM.FlowBroker1AfterTaskAbort(Sender: TObject; Command: TTaskAbortCommand);
begin
  Dialogs.ShowMessage('Abort');
  DataSetBroker1.DataSet.Edit;
  DataSetBroker1.DataSet.FieldByName('FNUMBER').AsString := '0';
  DataSetBroker1.DataSet.Post;
  DataSetBroker1.DataSet.ApplyUpdates;
end;
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 04:50 , Processed in 0.043207 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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