起步软件技术论坛-X3

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

【搞定】关于流程流转时更新状态出错**

[复制链接]
发表于 2007-1-3 17:01:56 | 显示全部楼层 |阅读模式
procedure TVOUCHER_ENTER.FlowBroker1AfterFlowOut(Sender: TObject; Command: TFlowOutCommand);
var
  lDataSet,lDataSet2: TDataSet;
begin
   //更新费用状态
  lDataSet2 := DataSetBroker2.DataSet;
  if not lDataSet2.Active then
  lDataSet2.Open;
  lDataSet2.First;
  while not lDataSet2.Eof do
  begin
    with lDataSet2 do
    begin
      lDataSet2.Edit;
      lDataSet2.FieldByName('BalCheckFlg').AsString := '20';
      lDataSet2.ApplyUpdates;
      next;
    end;
  end;
  //
  lDataSet := DataSetBroker1.DataSet;
  if not lDataSet.Active then
    lDataSet.Open;
  lDataSet.Edit;
  lDataSet.FieldByName('VouAuditState').AsString := '20';
  lDataSet.ApplyUpdates;

end;

在更新lDataSet2的状态时出错:运行系统初始化的时候发生异常:正在提交类型:Exception。
结果导致流转失败,但是业务的状态我在数据库里查过了,缺是更新好了。不知是什么原因,请帮助解决,急。。。马上就要开始测试了,拜托
回复

使用道具 举报

发表于 2007-1-4 09:51:52 | 显示全部楼层
楼主,是使用的2611版本吗,如果是,就是软件缺陷。
解决方法:
1、升级到2617,在所用功能的主窗体的Create事件中加入下面代码flow.FlowControlProviderTransaction := False

2、不升级,在FlowBroker1AfterFlowOut事件中,更新数据时不使用datasetbroker,使用TQuery执行sql语句进行更新。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-4 13:51:11 | 显示全部楼层
了解
回复 支持 反对

使用道具 举报

发表于 2007-1-4 14:06:26 | 显示全部楼层
2611和2617都不能在AfterFlowOut事件里更新DataSetBroker代理的业务数据是吗?
回复 支持 反对

使用道具 举报

发表于 2007-1-4 14:08:36 | 显示全部楼层
是的。
回复 支持 反对

使用道具 举报

发表于 2007-1-4 16:28:51 | 显示全部楼层
呵呵,不太相信平台会有这样的BUG

刚才找了个用2611的朋友帮忙测试了在AfterFlowOut里更新DataSetBroker中的数据,没有问题的,请斑竹确认。
回复 支持 反对

使用道具 举报

发表于 2007-1-4 17:04:50 | 显示全部楼层
楼主,需要在修改数据后,不要点击保存,直接点击流转按钮,平台询问是否保存时点是,就会出现了。
回复 支持 反对

使用道具 举报

发表于 2007-1-5 09:00:24 | 显示全部楼层
好的,我再测试一下:)
如果这个是BUG那还是比较大的Bug,请问现在最新的稳定版本号是?2617之后有新的版本没
谢谢,我暂时还用的2401
回复 支持 反对

使用道具 举报

发表于 2007-1-5 09:02:50 | 显示全部楼层
现在还是2617
回复 支持 反对

使用道具 举报

发表于 2007-1-5 10:58:12 | 显示全部楼层
好,该问的都回答了,谢谢^_^
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 05:39 , Processed in 0.038844 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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