Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

2、确认客户的业务流程,是否是同时多个人在同一个时间点同时操作同一张单据,比如一个人过账,另外一个人修改单据,过账的人先提交,修改的人后提交,导致单据被写回了草稿状态,并且单据明细也被覆盖了,时间差可能只有0.0几秒的样子,就容易导致该现象,如果要避免,需要客户优化操作流程,尽量避免多人并发操作的流程。0几秒的样子,就容易导致该现象,可以打开单据,点击单据助手-单据操作记录,查看操作记录,如果要避免,需要客户优化操作流程,尽量避免多人并发操作的流程。

3、优化服务器和客户端电脑的配置,性能越高出现并非的几率越小,比如提供资源比较充足的内存、CPU,优化网络的上行和下行速度等。3、优化服务器和客户端电脑的配置,性能越高出现并发的几率越小,比如提供资源比较充足的内存、CPU,优化网络的上行和下行速度等。

4、可以在SQL数据库里面执行下面语句,查询并发导致单据过账又被写回草稿的单据日志。

select o.id,o.billnumberid,o.OperateType,e.usercode 操作员编号,e.fullname 操作员名称,o.operatetime 操作时间,o.IP,o.billcode,o.billdate,case when ifcheck ='f' then '草稿' when ifcheck='t' then '过账' end 单据状态 ,b.usercode 往来单位编号,b.fullname 往来单位名称,o.ntotalmoney 单据金额,bn.billname from BillOperateLog o left join employee e on e.typeid=o.etypeid left join btype b on b.typeid=o.btypeid left join billname bn on bn.billtype=o.billtype 
where o.billnumberid in(
select billnumberid from billindex b where ( b.ifcheck='f' or b.draft = 1)
and ( exists (select 1 from inoutstocktable i where i.billnumberid=b.billnumberid and i.billtype=b.billtype)
or exists(select 1 from listtable l where l.billnumberid=b.billnumberid and l.billtype=b.billtype)))
order by o.billnumberid,o.id


处理方法:备份数据后,执行下面脚本:
DECLARE @BillCode TABLE 
( BillCode VARCHAR (300) )
UPDATE bi SET bi.draft = 0 , bi.ifcheck = 't' 
OUTPUT INSERTED.BillCode INTO @BillCode
FROM BillIndex bi 
WHERE 
(
( 
EXISTS (SELECT 1 FROM Listtable l WHERE l.BillNumberId = bi.BillNumberId ) 
AND EXISTS (SELECT 1 FROM InOutstocktable io1 WHERE bi.BillNumberId = io1.BillNumberId ) 
)
OR 
( ( 
EXISTS (SELECT 1 FROM Listtable l WHERE l.BillNumberId = bi.BillNumberId ) 
OR EXISTS (SELECT 1 FROM InOutstocktable io1 WHERE bi.BillNumberId = io1.BillNumberId )
) 
) 
)
AND ( bi.ifcheck = 'f' OR bi.draft = 1 ) 
AND bi.IsIni = 0 AND bi.ifYearBill = 0 
SELECT * FROM @BillCode注意:执行完以上脚本后,该单据在经营历程了,请客户核对一下库存和往来即可。https://share.weiyun.com/f1XUb9mY          --- 本张草稿已过账.sql

注意:执行完以上脚本后,该单据在经营历程了,请客户核对一下库存和往来即可,有问题的话红冲或删除单据,重新做单。费用类 收付款单 调账单据等单据改不了状态


Image Added