起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 173|回复: 11

【结贴】[请求]任务数据生成了,流程数据没有!!!**

[复制链接]
发表于 2007-10-10 10:20:02 | 显示全部楼层 |阅读模式
做一笔单据,存盘,流转给下一个用户,
在下一个用户的工作台上,看到了任务,但是无法打开,打开就死机!到数据库里查一下,用户数据存上了,用户表的流程ID也生成出来了,用这个流程ID值,在系统的流程表(TFLOWid)里找不到?
为什么会这样呢?
用户使用出错。。。。。。。。无法打开待办任务。。。。

流程启动模式:处理时

X3版本:2611

在线等。。。
回复

使用道具 举报

发表于 2007-10-10 10:33:27 | 显示全部楼层
1、在录入单据的环节里做了什么特殊处理

2、下一个用户打开死机:具体是什么现象

3、针对这个流程,是每做一个单据都有这个现象呢,还是只有刚才一笔
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-10 10:43:17 | 显示全部楼层

出过几次了,不是经常发生。

录入单据在流转时加入判断了,
procedure TATTENDANCEFRM.FlowBroker1BeforeFlowOut(Sender: TObject; Command: TFlowOutCommand);
begin
  if DataSetBroker1.DataSet.UpdatesPending then
  begin
    JsDialogs.Showmsg('请保存数据,然后进行流转!','提示');
    SysUtils.Abort;
  end;
  if DataSetBroker1.DataSet.IsEmpty then
  begin
    JsDialogs.Showmsg('无考勤数据,不能进行流转!','提示');
    SysUtils.Abort;
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-10 10:53:03 | 显示全部楼层

原为没有流程ID的值,打开任务应该是把所有记录都调入了

所以系统停止响应了。等好长时间,会出现:list index out of bounds(0)
回复 支持 反对

使用道具 举报

发表于 2007-10-10 11:00:41 | 显示全部楼层
楼主,你把Sysutils.Abort改成Command.Accept := false;试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-10 11:03:35 | 显示全部楼层

你的意思是sysutils.abort引起的?

这个错误不经常发生的,改完了,测也不一定能测出来。只能暂时这样改一下了。继续跟踪了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-10 11:04:39 | 显示全部楼层

这样代码,用加一下吗?

FlowBroker1.FlowControl.FlowManager.Transaction :=
  DataSetBroker1.DataSet.Connection.Transaction;
回复 支持 反对

使用道具 举报

发表于 2007-10-10 11:09:28 | 显示全部楼层
可以加一下,在以前的版本,业务数据和流程数据没有在同一个事务中
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-10 11:34:42 | 显示全部楼层

这样加一下,是不是sysutils.abort就不用改了?

?
回复 支持 反对

使用道具 举报

发表于 2007-10-10 11:38:14 | 显示全部楼层
应该是的,我没有测试过,你测试一下吧。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-28 20:45 , Processed in 0.045760 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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