服务热线:

400-665-0027

知识资讯
联系我们

电话:400-665-0027


您当前位置:首页 > 知识资讯  > 知识学习 > 正文知识学习
金蝶K3处理双单位计价的解决方案比如:购下的物料单位为PCS,入库按平方或公斤
服务热线:400-665-0027 新购有特价、金蝶老客户升级金蝶云产品可以享受5折优惠,送手机、送话费,好礼不断!

相信使用K3的朋友经常会遇到这样一个问题,
比如螺丝,钉子这些物料,采购部下的采购订单数量单位是“个”,但实际供应商是按公斤发货,单价也是按公斤结算,
这会导致外购入库单上按“个”入库的单价每次都要手工去换算,非常麻烦。


按我的方法,可以按【供应商】或【物料分类】自动将现实中以“公斤”结算的单价换算成系统中以“个”结算的单价。

第一步:以“公斤”换算成“PCS”为例。先建一个价格模块,将需要把换算的物料按供应商都登录到表里。

1.png

2.png


第二步,做触发器,根据条件,让他们自动换算,求出以“PCS”为单位的单价


3.png

触发器代码,各位根据需求自行修改吧


create TRIGGER [dbo].[ICStockBill_ye]
on  [dbo].[ICStockBill]
FOR INSERT,update
AS


declare @Finterid int select @Finterid=Finterid from inserted;
declare @FTranType int select @FTranType=FTranType from inserted;
declare @Fstatus int select @Fstatus=Fstatus from inserted;
declare @FSupplyID int  select @FSupplyID=FSupplyID from inserted;   --读取供应商内码


declare @FDate datetime select @FDate=FDate from inserted;
update v1 set v1.FEntrySelfA0185=@FDate
from ICStockBillEntry v1
inner join  ICStockBill v2  on   v1.finterid=v2.Finterid
where v2.finterid=@Finterid  and v2.FTranType=1
--该段后加,将外购入库单制单日期复制到表体新建的字段里,条件是单据类型为外购入库单 FTranType=1

IF @Fstatus=0  AND @FTranType =1    and      @FSupplyID  in('25770','479')     --这段是如果是外购入库单,并且是其中一个供应商【越来  内码25770或 海廷  内码479】 的情况下执行触发
BEGIN
SET NOCOUNT ON;

UPDATE v1 SET  v1.FEntrySelfA0182=v4.FName,
v1.FEntrySelfA0184=v2.FPrice*FEntrySelfA0183,
v1.FEntrySelfA0181=v2.FPrice,
v1.FPurchasePrice=v2.FPrice*FEntrySelfA0183/v1.FQty,
v1.FPurchaseAmount=v1.FPurchasePrice*v1.FQty--这段是用计价单价总金额除以入库数量,得到弹簧的采购单价和根据新采购单价,反写新的采购金额(如果不一并反写采购金额,采购金额会是错的)
from ICStockBillEntry v1
inner join t_BOS216100003Entry2 v2  on  v1.FItemid=v2.Fbase
inner join ICStockBill v3 on  V1.FInterID=V3.FInterID  and v3.FSupplyID=v2.FBase2
inner join t_MeasureUnit v4 on v2.FBase1=v4.FMeasureUnitID
where  V1.FInterID=@Finterid
end