📄 tri_+
字号:
---锦晖ERP推广中心
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,@物料编码 varchar(30),@直接材料 Numeric(18,6),@直接人工 Numeric(18,6),@制造费用 Numeric(18,6),
@材料成本金额 Numeric(18,6),@直接人工金额 Numeric(18,6),@制造费用金额 Numeric(18,6),@入库数量 Numeric(18,6),
@货位编码 varchar(10) ,@批号 varchar(15),@仓库编码 varchar(10)
select @年=YEAR(处理日期),@月=MONTH(处理日期),@物料编码=物料编码,
@入库数量=入库数量, @材料成本金额=材料成本金额,@直接人工金额=人工成本金额,
@制造费用金额=制造费用金额,@货位编码=货位编码,@批号=批号,@仓库编码=仓库编码 from inserted---给变量赋值
select @直接材料=直接材料, @直接人工=直接人工,@制造费用=制造费用 from 物料主文件_成本
where 物料编码=@物料编码--给变量赋值
UPDATE 入库 SET 材料成本金额=@入库数量*@直接材料,人工成本金额=@入库数量*@直接人工,
制造费用金额=@入库数量*@制造费用 WHERE 物料编码=@物料编码----取实际单位成本计算入库成本
if not exists (select* from 明细库存表 where 物料编码=@物料编码 AND 年=@年 AND 月=@月)
insert 明细库存表(物料编码,年,月,入库累计数量,入库累计材料成本,入库累计人工成本,入库累计制造费用)
values(@物料编码,@年,@月,@入库数量,@入库数量*@直接材料,@入库数量*@直接人工,@入库数量*@制造费用 )----增加新据
ELSE
update 明细库存表 set 入库累计数量=入库累计数量+@入库数量, 入库累计材料成本=入库累计材料成本+@入库数量*@直接材料,
入库累计人工成本=入库累计人工成本+@入库数量*@直接人工,入库累计制造费用=入库累计制造费用+@入库数量*@制造费用
where 物料编码=@物料编码 AND 年=@年 AND 月=@月-----更新数据
if not exists (select* from 物料与货位对照表 where 物料编码=@物料编码 and 货位编码=@货位编码 and 批号=@批号 AND 仓库编码=@仓库编码)
insert 物料与货位对照表(仓库编码,物料编码,货位存量,货位编码,批号)VALUES( @仓库编码,@物料编码,@入库数量,@货位编码,@批号)
ELSE
update 物料与货位对照表 set 货位存量=货位存量+@入库数量 WHERE 物料编码=@物料编码 and 货位编码=@货位编码 and 批号=@批号 AND 仓库编码=@仓库编码
--DELETE 入库
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -