以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  保存机制的疑问  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=46856)

--  作者:scott518
--  发布时间:2014/2/28 13:32:00
--  保存机制的疑问
入库时禁止多入,在入库单的保存前代码用加载表中录入的 入库数量+后台累计入库 < 需求数量 来判断能否保存。
比如现有产品A ,需求数量是500;原累计入库为0,
操作者同时开了几张入库单,都还没有保存,第一张中有A 300,第二张中又有A300.此时按通用的保存按钮,两张单的保存顺序时随机的吧,请问后面一张单保存时是否会提取刚刚保存的前一张单保存后更新的累计数量300来相加。还是按同一次保存按钮,每张单都是提取原来的同一个后台数量即0来相加?也就是两张单都能保存,还是只能保存一张?

谢谢!

--  作者:lifeofyiyi
--  发布时间:2014/2/28 13:36:00
--  
操作环境说一下? 一台电脑?两台电脑?有数据库?
--  作者:不倒的翁
--  发布时间:2014/2/28 14:14:00
--  
以下是引用scott518在2014-2-28 13:32:00的发言:
入库时禁止多入,在入库单的保存前代码用加载表中录入的 入库数量+后台累计入库 < 需求数量 来判断能否保存。
比如现有产品A ,需求数量是500;原累计入库为0,
操作者同时开了几张入库单,都还没有保存,第一张中有A 300,第二张中又有A300.此时按通用的保存按钮,两张单的保存顺序时随机的吧,请问后面一张单保存时是否会提取刚刚保存的前一张单保存后更新的累计数量300来相加。还是按同一次保存按钮,每张单都是提取原来的同一个后台数量即0来相加?也就是两张单都能保存,还是只能保存一张?

谢谢!

 相加与否是看你的代码写法,可在保存代码前验证后台数据是否存在。
--  作者:scott518
--  发布时间:2014/2/28 16:44:00
--  
同一个人同一台电脑同一次操作。(不同人员操作当然是累加的,主要是不明白同一个保存动作执行下去的多张单是否侩累计数量)
如果入库单直接更新后台数据的保存前事件代码是 ;update 入库单 set 累计入库 =  累计入库 + 数量
原累计入库为0,
现在有两张以上单据 只按一次保存按钮保存
001 ,入库数量300
002,入库数量500
保存后,累计入库是800还是最后保存的那张单据的数量?谢谢

--  作者:jspta
--  发布时间:2014/2/28 16:52:00
--  
以下是引用scott518在2014-2-28 16:44:00的发言:
同一个人同一台电脑同一次操作。(不同人员操作当然是累加的,主要是不明白同一个保存动作执行下去的多张单是否侩累计数量)
如果入库单直接更新后台数据的保存前事件代码是 ;update 入库单 set 累计入库 =  累计入库 + 数量
原累计入库为0,
现在有两张以上单据 只按一次保存按钮保存
001 ,入库数量300
002,入库数量500
保存后,累计入库是800还是最后保存的那张单据的数量?谢谢

必须加判断条件
where 累计入库 = 0  
这个是你获得的值,当你更新这个值时候,与原来不符合,就不会更新,这样就避免了多人操作的重复性。
当两人同事保存的时候,总会先后,但001更新后,累计已经变成300,
此时002,在更新,不会生效,因为条件语句已经变化。

http://www.foxtable.com/help/topics/1994.htm


--  作者:scott518
--  发布时间:2014/2/28 17:35:00
--  
谢谢jspta,主要是同一个操作者开单的时候不是开一张保存一张,而是同时开几张再保存,就想知道开了5张只点击一次保存按钮,只是用最后保存那张单更新数据,还是每张都能累加进去,如果能累加就是想要的。
--  作者:jspta
--  发布时间:2014/2/28 17:52:00
--  
以下是引用scott518在2014-2-28 17:35:00的发言:
谢谢jspta,主要是同一个操作者开单的时候不是开一张保存一张,而是同时开几张再保存,就想知道开了5张只点击一次保存按钮,只是用最后保存那张单更新数据,还是每张都能累加进去,如果能累加就是想要的。
参考网络编号问题,你就能明白这个机制了。


--  作者:有点甜
--  发布时间:2014/2/28 19:30:00
--  
 关键是后台累计数量是否准确,每一次保存之前,你都是需要去获取后台累计数量值的。

 这样的话,在保存前就可以判断此行记录是否应该被保存了 入库数量+后台累计入库 < 需求数量

--  作者:yinyb36
--  发布时间:2014/2/28 19:47:00
--  
需要计算的话,不要用系统自带的保存按扭,除非一条一条保存