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

📄 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,
@月 INT,
@客户编码 VARCHAR(10),
@物料编码 VARCHAR(30),
@行 INT,
@出库日期 DATETIME,
@出库数量 NUMERIC,
@材料成本 NUMERIC,
@人工 NUMERIC,
@制造 NUMERIC,
@仓库 VARCHAR(10),
@货位 VARCHAR(10),
@批号 VARCHAR(15),@借项退货 CHAR(1),
@直接材料 NUMERIC,@直接人工 NUMERIC,@制造费用 NUMERIC,
@汇率 NUMERIC(18,6),@本位币 VARCHAR(10),@外币编码 VARCHAR(10),@年月 DATETIME
SELECT  @汇率=汇率,@外币编码=外币编码,@年月=年月 FROM 货币汇率
SELECT  @销售单号 =销售单号 ,@借项退货=借项退货,@客户编码=客户编码,@物料编码=物料编码,
@出库日期=出库日期,  
@出库数量=出库数量,@仓库=仓库,@货位=货位,@批号=批号,@材料成本=材料成本,@年=YEAR(出库日期),@月=MONTH(出库日期),
@人工=人工,@制造=制造,@行=行  FROM INSERTED

SELECT @直接材料=直接材料,@直接人工=直接人工,@制造费用=制造费用 FROM 物料主文件_成本 WHERE 物料编码=@物料编码
IF @借项退货='0'----销售出库
 BEGIN
       UPDATE	明细库存表 SET	出库累计数量=出库累计数量+@出库数量,
       出库累计材料成本=出库累计材料成本+@出库数量*@直接材料,
出库累计人工成本=出库累计人工成本+@出库数量*@直接人工,
       出库累计制造费用=出库累计制造费用+@出库数量*@制造费用 WHERE 物料编码=@物料编码
 AND 年=@年 AND 月=@月
       UPDATE 物料与货位对照表 SET 货位存量=货位存量+@出库数量  WHERE 物料编码=@物料编码 
       AND 仓库编码=@仓库 AND  货位编码=@货位 AND   批号=@批号
UPDATE 销售出库单明细表 SET 材料成本=(出库数量*@直接材料)/@汇率,人工=(出库数量*@直接人工)/@汇率,
  制造=(出库数量*@制造费用)/@汇率
WHERE 物料编码=@物料编码 AND  货币=@外币编码 AND YEAR(出库日期)=YEAR(@年月) AND MONTH(出库日期)=MONTH(@年月)
END
IF @借项退货='1'------销售退回
BEGIN
   UPDATE	明细库存表 SET	出库累计数量=出库累计数量-@出库数量,
       出库累计材料成本=出库累计材料成本-@出库数量*@直接材料,出库累计人工成本=出库累计人工成本-@出库数量*@直接人工,
       出库累计制造费用=出库累计制造费用-@出库数量*@制造费用
       WHERE 物料编码=@物料编码 AND 年=@年 AND 月=@月
      --增加货位库存数量
      UPDATE 物料与货位对照表 SET 货位存量=货位存量+@出库数量    WHERE	物料编码=@物料编码 AND 仓库编码=@仓库 AND  货位编码=@货位 AND   批号=@批号
   UPDATE 销售出库单明细表 SET 材料成本=出库数量*@直接材料/@汇率,人工=出库数量*@直接人工/@汇率,
  制造=出库数量*@制造费用/@汇率
WHERE 物料编码=@物料编码 AND  货币=@外币编码 AND YEAR(出库日期)=YEAR(@年月) AND MONTH(出库日期)=MONTH(@年月)
END

⌨️ 快捷键说明

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