楼主: mgs834

[业务问题] K3出库单据数量不足时不允许保存问题

[复制链接]
求职 : ERP实施
论坛徽章:
22
2013年新春福章
日期:2013-02-25 14:51:24秀才
日期:2017-02-22 15:18:00秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-28 15:59:38秀才
日期:2017-05-09 11:37:55秀才
日期:2017-08-18 11:02:47秀才
日期:2018-04-08 14:48:31秀才
日期:2018-06-21 10:08:00ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57
21#
发表于 2014-7-11 10:22 | 只看该作者
你再将审核时更新库存关闭就好了。
应该也在t_systemprofile表里。找找fkey

使用道具 举报

回复
论坛徽章:
0
22#
发表于 2014-7-11 15:34 | 只看该作者
mgs834 发表于 2014-7-11 09:44
我照着这个方法在测试账套中试验了,修改了库存控制方式:
select * from t_systemprofile where fcateg ...

检查此生产任务单入库上限是多少,另外如你所想,保存就更新库存的话,你可以先保存单据,不审核,去查下库存是否有增加,另外查看系统设置里参数有没有更改过来,

使用道具 举报

回复
论坛徽章:
0
23#
 楼主| 发表于 2014-7-12 09:46 | 只看该作者
轩辕小珂 发表于 2014-7-11 10:22
你再将审核时更新库存关闭就好了。
应该也在t_systemprofile表里。找找fkey

但这是个开关选项,要么0,要么1呀,我已经改成1了,也就是说改成保存时更新库存,那怎么还会有审核时更新的这个功能???难道在其他地方还会有选项???

使用道具 举报

回复
求职 : ERP实施
论坛徽章:
22
2013年新春福章
日期:2013-02-25 14:51:24秀才
日期:2017-02-22 15:18:00秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-28 15:59:38秀才
日期:2017-05-09 11:37:55秀才
日期:2017-08-18 11:02:47秀才
日期:2018-04-08 14:48:31秀才
日期:2018-06-21 10:08:00ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57
24#
发表于 2014-7-12 15:39 | 只看该作者
mgs834 发表于 2014-7-12 09:46
但这是个开关选项,要么0,要么1呀,我已经改成1了,也就是说改成保存时更新库存,那怎么还会有审核时更新 ...

我猜是有的。看看你更新的这个语句
update t_systemprofile set fvalue='1' where fcategory='ic' and fkey='upstockwhensave'
更新表  t_systemprofile 把字段fvalue更新为‘1’ 条件是fcategory='ic' and fkey='upstockwhensave'
(fcategory F的类别是 ic, F的关键字 是‘保存时更新库存’)
猜测,fkey应该还有其他的upstockwhen.....
你找下看喽。
直接修改数据库,和在软件中修改肯定是不一样的。因为不知道软件中改一个东西,数据库实际改了几个地方。

使用道具 举报

回复
论坛徽章:
0
25#
 楼主| 发表于 2014-7-21 10:33 | 只看该作者
轩辕小珂 发表于 2014-7-12 15:39
我猜是有的。看看你更新的这个语句
update t_systemprofile set fvalue='1' where fcategory='ic' and f ...

帮我看看这样写行不?谢谢!


--领料单保存时检查库存,不足不能保存
ALTER  trigger  [dbo].[trig10] on [dbo].[ICStockBill]

FOR INSERT, UPDATE
NOT FOR REPLICATION
AS
       DECLARE  @fitemid int  
       DECLARE  @fbatchno varchar(50)
       DECLARE  @fqty decimal(18,6)
       DECLARE  @fname varchar(50)
       DECLARE  @sumqty decimal(18,6)


       select @fitemid = fitemid, @fbatchno = isnull(fbatchno,''), @fqty = fqty from inserted where ftrantype = '24'
       set @sumqty = isnull((select sum(fqty) from ICInventory where fitemid = @fitemid and fbatchno = @fbatchno),0)

       if @fqty > @sumqty
       begin
          select @fname = fname from t_icitem where fitemid = @fitemid
          ROLLBACK TRAN
          RAISERROR('此单据货品 %s (%s),超库存!',18,18, @fname, @fbatchno)
       end

使用道具 举报

回复
求职 : ERP实施
论坛徽章:
22
2013年新春福章
日期:2013-02-25 14:51:24秀才
日期:2017-02-22 15:18:00秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-28 15:59:38秀才
日期:2017-05-09 11:37:55秀才
日期:2017-08-18 11:02:47秀才
日期:2018-04-08 14:48:31秀才
日期:2018-06-21 10:08:00ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57
26#
发表于 2014-7-21 17:18 | 只看该作者
mgs834 发表于 2014-7-21 10:33
帮我看看这样写行不?谢谢!

考虑下会不会出现以下情况,不管正常流程还是误操作。
1.一张领料单,同一物料分2次领料的情况。
2.某物料存在其他未审核的领料单。例如库存500,前张未审核的领料400,这张也是领料400。

使用道具 举报

回复
论坛徽章:
1
秀才
日期:2015-10-26 09:24:12
27#
发表于 2014-7-22 10:25 | 只看该作者
路过 学习一下

使用道具 举报

回复
论坛徽章:
0
28#
 楼主| 发表于 2014-7-28 11:36 | 只看该作者
轩辕小珂 发表于 2014-7-21 17:18
考虑下会不会出现以下情况,不管正常流程还是误操作。
1.一张领料单,同一物料分2次领料的情况。
2.某物 ...

已经搞定了,不写触发器,还是通过后台更改库存控制方式来实现,先前测试时遇到的那个产品入库单会重复计数问题已经解决,原来是金蝶的一个BUG

使用道具 举报

回复
论坛徽章:
0
29#
发表于 2014-8-18 15:52 | 只看该作者
可以从数据库里直接修改参数的,没有影响,从V9.2版本一直到12.3的版本,我都做过,没有问题

使用道具 举报

回复
论坛徽章:
0
30#
发表于 2014-9-28 14:50 | 只看该作者
你改成单据保存时扣库存数就可以了。

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表