以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]库存消耗自动计算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100664) |
||||||||||||||||||||||||||||
-- 作者:l1q2lq -- 发布时间:2017/5/16 9:41:00 -- [求助]库存消耗自动计算
附件的排程附表是月排程安排,库存消耗附表是BOM明细,
想实现以下功能: 若库存消耗表的库存统计日期列=排程表的首行日期,那么从该日期开始计算零件的库存消耗,第二天消耗不完循环计算第三天,直至消耗结束,显示消耗结束的日期 如A001零件,5.5下班时统计的库存为:50,按照排程消耗,5.6消耗30*1+20*1=50,当日全部用完,则预计消耗日期为5.6 代码如何写
[此贴子已经被作者于2017/5/16 9:43:06编辑过]
|
||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2017/5/16 10:00:00 -- 没有看懂你那些关系,上传实例测试 |
||||||||||||||||||||||||||||
-- 作者:l1q2lq -- 发布时间:2017/5/16 10:19:00 --
例子 [此贴子已经被作者于2017/5/16 10:19:35编辑过]
|
||||||||||||||||||||||||||||
-- 作者:l1q2lq -- 发布时间:2017/5/16 10:22:00 -- 若库存消耗表中库存统计日期列=排程表的首行日期,那么从该日期开始计算零件的库存消耗(车型*BOM中的单车用量),第二天消耗不完(库存-第二天的车型*BOM中的单车用量>0)循环计算第三天,直至消耗结束(库存-第二天的车型*BOM中的单车用量-第三天的车型*BOM中的单车用量<=0),显示消耗结束的日期 如A001零件,统计日期:5.5,下班时统计的库存为50, 按照排程消耗(从5.5的第二天开始计算),5.6消耗30*1+20*1=50,50-50=0,当日全部用完,则预计消耗日期为5.6 [此贴子已经被作者于2017/5/16 10:27:36编辑过]
|
||||||||||||||||||||||||||||
-- 作者:有点色 -- 发布时间:2017/5/16 10:45:00 -- For Each dr As DataRow In DataTables("库存消耗").DataRows Dim fdr As DataRow = DataTables("排程").DataRows(0) Dim flag As Boolean = False Dim sum As Double = 0 For Each dc As DataCol In fdr.DataTable.DataCols If flag Then For i As Integer = 1 To fdr.DataTable.DataRows.Count-1 Dim cdr As DataRow = fdr.DataTable.DataRows(i) sum += val(dr(cdr("第一列"))) * val(cdr(dc.name)) Next If sum >= dr("库存") dr("预计消耗日期") = fdr(dc.name) Exit For End If Else If fdr(dc) = dr("库存统计日期") Then flag = True End If End If Next Next |