Foxtable(狐表)用户栏目专家坐堂 → [求助] BOM延长展开


  共有3477人关注过本帖树形打印复制链接

主题:[求助] BOM延长展开

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/13 8:46:00 [显示全部帖子]

我对BOM管理这块业务不熟。不如直接使用文字描述一下过程,比如第一行,数据从哪取,每个列的数据是怎么计算的,把每个步骤和计算公式列出来。同样第二行的数据从哪里取,stock、qc、missing qty......等等列是怎么计算的,一直到第九行,每一行的计算步骤用文字描述一下

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/13 9:37:00 [显示全部帖子]

MissingQty值从哪里来?BOM用量又是怎么计算的?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/13 10:15:00 [显示全部帖子]

用文字描述一下BOM中的用量应该怎么计算。如果要递归取所有子层用量的和,这个应该之前给您写过这种递归用法

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/13 10:54:00 [显示全部帖子]

我不懂您的业务呀。都搞不清楚MisssingQty和子层是什么关系。

方便使用文字描述一下整个逻辑步骤

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/13 14:26:00 [显示全部帖子]

按钮:

……
    If dic2.ContainsKey(dr("PartNo")) Then
        If dic2(dr("PartNo")) >= qty Then
            dr("QC") = qty
            dic2(dr("PartNo")) -= dr("QC")
        ElseIf dic2(dr("PartNo")) > 0 Then
            dr("QC") = dic2(dr("PartNo"))
            dic2(dr("PartNo")) -= dr("QC")
        End If
    End If
    
    dr("MissingQty") = dr("Stock")+dr("QC") -dr("OrderDemand")
    If drr IsNot Nothing
        dr("DeamndAfterStock") = drr("FQty") * dr("MissingQty") * -1
    End If

    Functions.Execute("sumChild",ary(0),qty, ary(0), dr("Date"),ary(2),1,dr("MissingQty"))
Next

函数
Dim pn As String = args(0)
Dim qty As String = args(1)
Dim idx As Integer = args(5)
Dim MissingQty As Integer = args(6)

Dim dic1 = vars("dic1")
Dim dic2 = vars("dic2")

For Each dr As DataRow In  DataTables("BOM").Select("FNumber='" & pn & "'")
    Dim ndr As DataRow = DataTables("物料需求").AddNew
    ndr("PartNo") = dr("PN")
    ndr("Date") = args(3)
    ndr("批号") = args(4)
    ndr("OrderDemand") = dr("FQty") * qty
    ndr("层次") = "第" & idx & "层"
    ndr("DeamndAfterStock") = dr("FQty") * MissingQty*-1
……

    Functions.Execute("sumChild",dr("PN"),ndr("OrderDemand"), args(2), args(3), args(4),idx+1,MissingQty )
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/13 16:23:00 [显示全部帖子]

递归函数也加上判断啊

 回到顶部