? ? ?K/3 V10.3 库存账龄分析表的原理
? ? ?账龄分析表是按先进先出原则进行账龄分析,时间的判定方法是:以系统的当前日期为截止日期和单据日期进行比较(采用保质期管理的物料同样是以单据日期作为比较对象),得到存储天数;如果是初始化录入的余额,则以初始化录入的入库日期为比较对象,得到存储天数。调拨单参与分析必须选择过滤条件:调拨单参与账龄分析。单价依据,系统提供了计划价、采购单价、最新入库价、最新出库价、上期最新出库价、期初余额加权平均价6种计价方式供选择。
? ? ?在K3 v12.2对虚仓没有现成的虚仓库龄分析表,现在有这个需求,试了做了一下这个报表,可能有问题,请高手看到这个帮忙指正,谢谢!
? ? ?方法:
? ? ?1、将虚仓入库单按时间段分类汇总,例如:30天以内,30-60天,……180天以上, ? ? ?
? ? ?2、用现有库存去依次减去30天以内,30-60天,……180天以上的分段数据,得到最终的报表即为库龄分析表。
具体做法及代码:
--虚仓入库单按时间段分类创建视图, ? drop view vw_pokl ? ? create view vw_pokl ?as ? ? select b.fitemid,? ? b.fdcstockid,? ? sum(case when datediff(d,a.fcheckdate,getdate()) <= 30 then b.fqty else 0 end) as 'f30day',getdate()) > 30 and datediff(d,getdate()) <= 60 then b.fqty else 0 end) as 'f60day',getdate()) > 60 and datediff(d,getdate()) <= 90 then b.fqty else 0 end) as 'f90day',getdate()) > 90 and datediff(d,getdate()) <= 120 then b.fqty else 0 end) ?as'f120day',getdate()) > 120 and datediff(d,getdate()) <= 180 then b.fqty else 0 end) ?as'f180day',getdate()) > 180 ?then b.fqty else 0 end) ?as'up180day' ? ? from zpstockbill a,? ? zpstockbillentry b ? ? where a.finterid = b.finterid ? ? and a.ftrantype = 6 ? ? and b.fitemid = 30453 ? ? group by b.fitemid,b.fdcstockid
第二步:
select --a.fitemid,? --b.fstockid,? ? c.fnumber as '物料编码',? ? c.fname as '物料名称',? ? c.fmodel as '规格型号',? ? d.fnumber as '仓库代码',? ? d.fname as '仓库名称',? ? b.fqty as '库存数量',? ? case when b.fqty-a.f30day >= 0 ?then a.f30day else ?b.fqty ?end as '30天以内',? ? case when b.fqty-a.f30day-a.f60day >= 0 then a.f60day when b.fqty >= a.f30day then ?b.fqty-a.f30day else 0 end as '30-60天',? ? case when b.fqty-a.f30day-a.f60day-a.f90day >= 0 then a.f90day when ?b.fqty-a.f30day-a.f60day >= 0 then b.fqty-a.f30day-a.f60day else 0 end as '60-90天',? ? case when b.fqty-a.f30day-a.f60day-a.f90day-a.f120day >= 0 then a.f120day when b.fqty-a.f30day-a.f60day-a.f90day >= 0 then b.fqty-a.f30day-a.f60day-a.f90day else 0 end as '90-120天',? ? case when b.fqty-a.f30day-a.f60day-a.f90day-a.f120day-a.f180day >= 0 then a.f180day when b.fqty-a.f30day-a.f60day-a.f90day-a.f120day >= 0 then b.fqty-a.f30day-a.f60day-a.f90day-a.f120day else 0 end as '120天-180天',? ? case when b.fqty-a.f30day-a.f60day-a.f90day-a.f120day-a.f180day-up180day >= 0 then a.up180day when b.fqty-a.f30day-a.f60day-a.f90day-a.f120day-f180day >= 0 then b.fqty-a.f30day-a.f60day-a.f90day-a.f120day-a.f180day else 0 end as '180天以上' ? ? from vw_pokl a,--视图 ? ? poinventory b,?--代管仓即时库存表 ? ? t_icitem c,? ? --物料表 ? ? t_stock d ? ? ? --仓库表 ? ? where a.fitemid = b.fitemid ? ? and a.fdcstockid = b.fstockid ? ? and c.fitemid = a.fitemid ? ? and d.fitemid = a.fdcstockid ? ? order by 4,1
--校验数据 ? select * ? ?from poinventory b,? ? vw_pokl a ? ?where a.fitemid = b.fitemid ? ?and fdcstockid = b.fstockid ? ?--order by fqty desc ? ?
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|