|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
专家们好:
我的U871采购和委外的触发器有点问题,创建单据好用,修改或变更单据不好用。触发器的作用是表体添加了一个自定义项单重价格和总重,使价税合计=单重价格x总重,单重价格手动输入,总重=(存货自定义项)单重x数量
CREATE TRIGGER po ON [dbo].[po_podetails]
FOR INSERT
AS
declare @a int
select @a=inserted.isum form inserted
begin
if @a is null
begin
update po_podetails set po_podetails.cdefine26=po_podetails.iquantity*inventory.cinvdefine13
from po_podetails inner join inventory on po_podetails.cinvcode=inventory.cinvcode
inner join inserted on po_podetails.id=inserted.id
update po_podetails set
po_podetails.isum=po_podetails.cdefine27*po_podetails.cdefine26,
po_podetails.itaxprice=(po_podetails.cdefine27*po_podetails.cdefine26)/po_podetails.iquantity,
po_podetails.iunitprice=(po_podetails.cdefine27*po_podetails.cdefine26/po_podetails.iquantity)/1.17,
po_podetails.imoney=(po_podetails.cdefine27*po_podetails.cdefine26)-(po_podetails.cdefine27*po_podetails.cdefine26/1.17)*0.17,
po_podetails.itax=(po_podetails.cdefine27*po_podetails.cdefine26/1.17)*0.17,
po_podetails.inatmoney=(po_podetails.cdefine27*po_podetails.cdefine26)-(po_podetails.cdefine27*po_podetails.cdefine26/1.17)*0.17,
po_podetails.inattax=(po_podetails.cdefine27*po_podetails.cdefine26/1.17)*0.17,
po_podetails.inatsum=po_podetails.cdefine27*po_podetails.cdefine26
from po_podetails inner join inserted on po_podetails.id=inserted.id
end
end
现在遇到的问题是:创建单据时,保存,好用,修改或变更单据时再保存,价税合计不变。 请专家指点。 |
|