[易飞]直接材料明细表

来源:互联网 发布:十字绣淘宝网 编辑:程序博客网 时间:2024/05/04 05:02

最近税务局在审核公司高薪技术。

如果未通过要补税+滞纳金。财务有一个这样的需求,高薪产品销售的金额、数量到工单材料成本。

财务成本模块有个直接材料明细表。

缺少销售数量。

自行考虑了很久,抓成本主要是领料单进入交易明细的时候有成本、数量、金额。

销货单-订单-工单-领料单 这条线去处理。

订单可能分批出货,工单可能分批领料。跨年月现象也比较多。

故考虑入库单抓工单,工单去抓所有领料单的材料成本明细,按工单汇总,算出总数量和金额。

SQL:

-- =============================================   -- Author: <David Gong>   -- Create date: <2013-05-13>   -- Description: <产品销售与材料成本分析>   -- =============================================ALTER Procedure UP_PrdSale_MtrCost(@startdate as nchar(8),@enddate as nchar(8))asbeginSET ANSI_WARNINGS off ;SET ARITHABORT off ;withCT1 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=TA002WHERE 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.TG015LEFT JOIN INVMB ON LA001=MB001group 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