数量工单[易飞]直接材料明细表
PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!
近来税务局在审核公司高薪技术。
如果未通过要补税+滞纳金。财务有一个这样的需求,高薪产品销售的金额、数量到工单材料本钱。
财务本钱模块有个直接材料明细表。
缺乏销售数量。
自行斟酌了很久,抓本钱主要是领料单进入交易明细的时候有本钱、数量、金额。
销货单-订单-工单-领料单 这条线去处置。
订单可能分批出货,工单可能分批领料。跨年月现象也比较多。
故斟酌入库单抓工单,工单去抓全部领料单的材料本钱明细,按工单汇总,算出总数量和金额。
SQL:
-- ============================================= -- Author: <David Gong> -- Create date: <2013-05-13> -- Description: <产品销售与材料本钱分析> -- ============================================= ALTER Procedure UP_PrdSale_MtrCost ( @startdate as nchar(8), @enddate as nchar(8) ) as begin SET ANSI_WARNINGS off ; SET ARITHABORT off ; with CT1 as( select TG014,TG015,TG004,TG006,sum(TG011) 当期入库数量,TA017 as 工单数量 from MOCTG INNER JOIN MOCTF ON TF001=TG001 AND TF002=TG002 LEFT JOIN MOCTA ON TG014=TA001 AND TG015=TA002 WHERE TF003>=@startdate AND TF003<=@enddate --AND TG004='10105012640024' group by TG014,TG015,TG004,TG006,TA017 ), CT2 as( select TG014,TG015,TG004,TG006,LA001,MB002,MB003,ABS(sum(LA011*LA005)) 数量,sum(LA013) 金额,TE006 from CT1 LEFT JOIN MOCTE ON TE011=CT1.TG014 AND TE012=CT1.TG015 INNER JOIN INVLA ON LA006=TE001 AND LA007=TE002 AND LA008=TE003 AND LA024=CT1.TG014+'-'+CT1.TG015 LEFT JOIN INVMB ON LA001=MB001 group by TG014,TG015,TG004,TG006,LA001,MB002,MB003,TE006) select CT1.TG014+'-'+CT1.TG015 as 工单,CT1.TG004 产品品号,CT1.TG006 产品规格,CT1.当期入库数量,CT1.工单数量, CT2.LA001 材料品号,CT2.MB002 材料品名,CT2.MB003 材料规格,CT2.TE006 单位,CT2.数量,CT2.金额,CT2.数量/CT1.工单数量 as 材料单耗,CT2.金额/CT1.工单数量 as 单耗本钱 from CT1 left join CT2 on CT1.TG014=CT2.TG014 AND CT1.TG015=CT2.TG015 end
文章结束给大家分享下程序员的一些笑话语录:
姿势要丰富,经常上百度!