⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tri_

📁 本系统为企业进存销管理系统
💻
字号:
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE NAME='TRI_采购入库' AND TYPE='TR')
DROP TRIGGER TRI_采购入库
GO
CREATE TRIGGER [TRI_采购入库] ON 采购入库单明细表
FOR INSERT, UPDATE
AS
DECLARE
@年 INT,@月 INT,
@KEY_ID INT,@采购单号 INT,@供应商编码 VARCHAR(10),@物料编码 VARCHAR(30),
@行 INT,@入库日期 DATETIME,@入库数量 NUMERIC(18,6),@单位材料成本 NUMERIC(18,6),
@仓库 VARCHAR(10),@货位 VARCHAR(10),@发票金额 NUMERIC(18,6),@增值税额 NUMERIC(18,6),@批号 VARCHAR(15),@借项退货 CHAR(1),@货币编码 VARCHAR(10),@汇率 NUMERIC(18,6)
SELECT @年=YEAR(入库日期),@月=MONTH(入库日期),@KEY_ID=KEY_ID, @采购单号 =采购单号 ,
@借项退货=借项退货,@供应商编码=供应商编码,@物料编码=物料编码,@入库日期=入库日期, 
 @入库数量=入库数量,@仓库=仓库,@货位=货位,@批号=批号,
@单位材料成本=单位材料成本,@货币编码=货币编码,@行=行,@发票金额=发票金额,
@增值税额=增值税额  FROM INSERTED
SELECT @汇率=汇率 FROM 货币汇率 
WHERE YEAR(年月)=YEAR(@入库日期) AND MONTH(年月)=MONTH(@入库日期) AND 外币编码=@货币编码
IF @借项退货='0' /*不是正数退货.正数退货是在生成应付账款之后的退货,生成应付账之前用负数退货*/
 BEGIN
      /*更新库存成本*/
       IF NOT EXISTS (SELECT * FROM 明细库存表 WHERE 物料编码=@物料编码 AND 年=@年 AND 月=@月 )
       INSERT  INTO 明细库存表(物料编码,年,月,入库累计数量,入库累计材料成本)VALUES(@物料编码,@年,@月,@入库数量,(@入库数量*@单位材料成本)*@汇率  )
       ELSE
       UPDATE	明细库存表 SET	入库累计数量=入库累计数量+@入库数量,
入库累计材料成本=入库累计材料成本+(@入库数量*@单位材料成本)*@汇率
 WHERE 物料编码=@物料编码 AND 年=@年 AND 月=@月
 IF NOT EXISTS (SELECT * FROM 物料与货位对照表 WHERE 物料编码=@物料编码 AND 仓库编码=@仓库 AND  货位编码=@货位 AND   批号=@批号)
 INSERT INTO 物料与货位对照表(物料编码,货位存量)VALUES(@物料编码,@入库数量)
       ELSE
   UPDATE 物料与货位对照表 SET 货位存量=货位存量+@入库数量  WHERE 物料编码=@物料编码  AND 仓库编码=@仓库 AND  货位编码=@货位 AND   批号=@批号
 END
   IF @借项退货='1  '/*用正数退货*/
BEGIN

INSERT INTO 记账凭证 (供应商编码,采购单号,发票金额,增值税额)VALUES(@供应商编码,@采购单号,-@发票金额,-@增值税额)
  UPDATE	明细库存表 SET	入库累计数量=入库累计数量+@入库数量,入库累计材料成本=入库累计材料成本-@入库数量*@单位材料成本*@汇率
WHERE 物料编码=@物料编码
/*冲减货位库存数量*/
      UPDATE 物料与货位对照表 SET 货位存量=货位存量-@入库数量    WHERE	物料编码=@物料编码 AND 仓库编码=@仓库 AND  货位编码=@货位 AND   批号=@批号
     END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -