关于对账差额折扣问题
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://redking.blog.51cto.com/27212/25136 |
1. 增加科目 7001 供应商付款差额 ,核算项目为 ‘供应商’;
2. 把确认后的差额以凭证的形式录入;
3. 在系统工具—单据自定义中增加字段’是否提示’;如图
4. 在数据库中执行脚本。
![]() go create trigger icpurchase_jade01 on icpurchase for insert,update as declare @ftrantype int,@finterid int,@fisprompt as bit,@fsupplyid int,@fstatus int
declare @fleftamountfor decimal(18,2),@fdiffamount decimal(18,2) select @ftrantype = ftrantype,@finterid = finterid,@fisprompt = case when isnull(FHeadSelfI0245,0) = 1 then 1 else 0 end,@fsupplyid = fsupplyid,@fstatus = fstatus
from inserted --采购专用发票,未审核,
if @ftrantype <> 75 or @fstatus = 1 or @fisprompt = 0 goto ext select @fleftamountfor = isnull(sum(famountfor),0)
from t_voucher a,t_voucherentry b,t_account c,t_itemdetailv d where a.fvoucherid = b.fvoucherid and b.faccountid = c.faccountid and b.fdetailid = d.fdetailid and d.fitemclassid = 8 and c.fnumber= '7001' and b.fdc = 0 and d.fitemid = @fsupplyid select @fdiffamount = sum((b.fauxtaxprice - c. fauxtaxprice) * b.fqty * a.fexchangerate)
from icpurchase a inner join icpurchaseentry b on a.finterid = b.finterid left join poorderentry c on b.forderinterid = c.finterid and b.forderentryid = c.fentryid where a.finterid = @finterid if @fleftamountfor < @fdiffamount begin declare @errmsg varchar(200) select @errmsg = '已经确认的差额为:' + convert(varchar(20),@fleftamountfor) + char(10) + '本张发票的差额为:' + convert(varchar(20),@fdiffamount) + char(10) raiserror (@errmsg,16,1) end ext:
/* alter table icpurchase disable trigger icpurchase_jade01 alter table icpurchase enable trigger icpurchase_jade01 */ 本文出自 “大唐网络” 博客,请务必保留此出处http://redking.blog.51cto.com/27212/25136 本文出自 51CTO.COM技术博客 |
附件下载:
icpurchase_jade01
icpurchase_jade01



redking
博客统计信息
热门文章
最新评论
友情链接


