?? tri_銷(xiāo)售出庫(kù).sql
字號(hào):
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE NAME='TRI_銷(xiāo)售出庫(kù)' AND TYPE='TR')
DROP TRIGGER TRI_銷(xiāo)售出庫(kù)
GO
CREATE TRIGGER [TRI_銷(xiāo)售出庫(kù)] ON 銷(xiāo)售出庫(kù)單明細(xì)表
FOR INSERT, UPDATE
AS
DECLARE
@銷(xiāo)售單號(hào) INT,
@年 INT,
@月 INT,
@客戶(hù)編碼 VARCHAR(10),
@物料編碼 VARCHAR(30),
@行 INT,
@出庫(kù)日期 DATETIME,
@出庫(kù)數(shù)量 NUMERIC,
@材料成本 NUMERIC,
@人工 NUMERIC,
@制造 NUMERIC,
@倉(cāng)庫(kù) VARCHAR(10),
@貨位 VARCHAR(10),
@批號(hào) VARCHAR(15),@借項(xiàng)退貨 CHAR(1),
@直接材料 NUMERIC,@直接人工 NUMERIC,@制造費(fèi)用 NUMERIC,
@匯率 NUMERIC(18,6),@本位幣 VARCHAR(10),@外幣編碼 VARCHAR(10),@年月 DATETIME
SELECT @匯率=匯率,@外幣編碼=外幣編碼,@年月=年月 FROM 貨幣匯率
SELECT @銷(xiāo)售單號(hào) =銷(xiāo)售單號(hào) ,@借項(xiàng)退貨=借項(xiàng)退貨,@客戶(hù)編碼=客戶(hù)編碼,@物料編碼=物料編碼,
@出庫(kù)日期=出庫(kù)日期,
@出庫(kù)數(shù)量=出庫(kù)數(shù)量,@倉(cāng)庫(kù)=倉(cāng)庫(kù),@貨位=貨位,@批號(hào)=批號(hào),@材料成本=材料成本,@年=YEAR(出庫(kù)日期),@月=MONTH(出庫(kù)日期),
@人工=人工,@制造=制造,@行=行 FROM INSERTED
SELECT @直接材料=直接材料,@直接人工=直接人工,@制造費(fèi)用=制造費(fèi)用 FROM 物料主文件_成本 WHERE 物料編碼=@物料編碼
IF @借項(xiàng)退貨='0'----銷(xiāo)售出庫(kù)
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 出庫(kù)累計(jì)數(shù)量=出庫(kù)累計(jì)數(shù)量+@出庫(kù)數(shù)量,
出庫(kù)累計(jì)材料成本=出庫(kù)累計(jì)材料成本+@出庫(kù)數(shù)量*@直接材料,
出庫(kù)累計(jì)人工成本=出庫(kù)累計(jì)人工成本+@出庫(kù)數(shù)量*@直接人工,
出庫(kù)累計(jì)制造費(fèi)用=出庫(kù)累計(jì)制造費(fèi)用+@出庫(kù)數(shù)量*@制造費(fèi)用 WHERE 物料編碼=@物料編碼
AND 年=@年 AND 月=@月
UPDATE 物料與貨位對(duì)照表 SET 貨位存量=貨位存量+@出庫(kù)數(shù)量 WHERE 物料編碼=@物料編碼
AND 倉(cāng)庫(kù)編碼=@倉(cāng)庫(kù) AND 貨位編碼=@貨位 AND 批號(hào)=@批號(hào)
UPDATE 銷(xiāo)售出庫(kù)單明細(xì)表 SET 材料成本=(出庫(kù)數(shù)量*@直接材料)/@匯率,人工=(出庫(kù)數(shù)量*@直接人工)/@匯率,
制造=(出庫(kù)數(shù)量*@制造費(fèi)用)/@匯率
WHERE 物料編碼=@物料編碼 AND 貨幣=@外幣編碼 AND YEAR(出庫(kù)日期)=YEAR(@年月) AND MONTH(出庫(kù)日期)=MONTH(@年月)
END
IF @借項(xiàng)退貨='1'------銷(xiāo)售退回
BEGIN
UPDATE 明細(xì)庫(kù)存表 SET 出庫(kù)累計(jì)數(shù)量=出庫(kù)累計(jì)數(shù)量-@出庫(kù)數(shù)量,
出庫(kù)累計(jì)材料成本=出庫(kù)累計(jì)材料成本-@出庫(kù)數(shù)量*@直接材料,出庫(kù)累計(jì)人工成本=出庫(kù)累計(jì)人工成本-@出庫(kù)數(shù)量*@直接人工,
出庫(kù)累計(jì)制造費(fèi)用=出庫(kù)累計(jì)制造費(fèi)用-@出庫(kù)數(shù)量*@制造費(fèi)用
WHERE 物料編碼=@物料編碼 AND 年=@年 AND 月=@月
--增加貨位庫(kù)存數(shù)量
UPDATE 物料與貨位對(duì)照表 SET 貨位存量=貨位存量+@出庫(kù)數(shù)量 WHERE 物料編碼=@物料編碼 AND 倉(cāng)庫(kù)編碼=@倉(cāng)庫(kù) AND 貨位編碼=@貨位 AND 批號(hào)=@批號(hào)
UPDATE 銷(xiāo)售出庫(kù)單明細(xì)表 SET 材料成本=出庫(kù)數(shù)量*@直接材料/@匯率,人工=出庫(kù)數(shù)量*@直接人工/@匯率,
制造=出庫(kù)數(shù)量*@制造費(fèi)用/@匯率
WHERE 物料編碼=@物料編碼 AND 貨幣=@外幣編碼 AND YEAR(出庫(kù)日期)=YEAR(@年月) AND MONTH(出庫(kù)日期)=MONTH(@年月)
END
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -