需求
按上周沟通的, 现在有很多采购零星退货, 电子磁电都有。 主要是不良造成的额外附属材料要供应商买单, 走零星采购退货,退货时, 系统不能带出库存的结存单价, 所以, 你这边看一下, 是否能做触发器或和系统供应商探讨一下, 如何做?
还有, 不良品退货, 采购退货模块没法做批号自动拆分, 这样采购做单非常耗时, 需手工一个去查,算。
以上, 帮忙看一下是否有什么快捷的办法, 磁电委外加工越来越多, 材料的领用也越来越多。
分析
用户因为考虑退货给不同供应商,不考虑供应商情况,手工查询品号最近一次进货价格。
方案
(1) 录入采购退货单时候,自动带出单身品号信息最近一次价格。–PURTJ UDF51
(2) 自定义函数[dbo].[GetPurchasePrice]
– =============================================
– Author:
– Create date: <2020-01-02>
– Description: <取品号(不考虑供应商)最后一次单位进价>
– =============================================
ALTER Function [dbo].[GetPurchasePrice](
@item as nvarchar(30)
)returns decimal(18,6)
as
begin
declare @price as decimal(18,6);
WITH A as(
SELECT TG003 进货日期,TH004 AS 品号,TH018 原币单位进价
FROM PURTH LEFT JOIN PURTG ON TH001=TG001 AND TH002=TG002
WHERE TH004=Rtrim(@item)
),B AS(
select t.品号,t.原币单位进价,rn 排名
from (
select A.品号,A.原币单位进价,
ROW_NUMBER() over(partition by A.品号 order by A.进货日期 desc ) rn
from A ) t
where rn=1)
SELECT @price=isnull(原币单位进价,0) FROM B
return @price
end