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


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

主题:[求助] BOM 展开

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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/6/26 9:11:00 [只看该作者]

版主, 这次还请不厌其烦指导,这个实在是有点难度的。感谢。

 

[此贴子已经被作者于2019/6/26 19:41:53编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/26 9:24:00 [只看该作者]

Dim pn As String = args(0)
Dim qty As String = args(1)
Dim dic1 = vars("dic1")
Dim dic2 = vars("dic2")
Dim dic3 = vars("dic3")
Dim dic4 = vars("dic4")
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("Demand") = dr("FQty") * qty
    Functions.Execute("sumChild",dr("PN"),ndr("Demand"), args(2), args(3), args(4))
    If dic1.ContainsKey(ndr("PartNo")) Then
        If dic1(ndr("PartNo")) >= ndr("Demand") Then
            ndr("Stock") = ndr("Demand")
            dic1(ndr("PartNo")) -= ndr("Stock")
        ElseIf dic1(ndr("PartNo")) > 0 Then
            ndr("Stock") = dic1(ndr("PartNo"))
            dic1(ndr("PartNo")) -= ndr("Stock")
        End If
    End If
   
    If dic2.ContainsKey(ndr("PartNo")) Then
        Dim qty1 = ndr("Demand") - ndr("stock")
        If qty1 > 0 Then
            If dic2(ndr("PartNo")) >= qty1 Then
                ndr("QC") = qty1

                dic2(ndr("PartNo")) -= ndr("QC")
            ElseIf dic2(ndr("PartNo")) > 0 Then
                ndr("QC") = dic2(ndr("PartNo"))
                dic2(ndr("PartNo")) -= ndr("QC")
            End If
        End If
    End If
   
   
    If dic3.ContainsKey(ndr("PartNo")) Then
        Dim qty1 = ndr("Demand") - ndr("stock") - ndr("qc")
        If qty1 > 0 Then
            If dic3(ndr("PartNo")) >= qty1 Then
                ndr("purchasingorder") = qty1
                dic3(ndr("PartNo")) -= ndr("purchasingorder")
            ElseIf dic3(ndr("PartNo")) > 0 Then
                ndr("purchasingorder") = dic3(ndr("PartNo"))
                dic3(ndr("PartNo")) -= ndr("purchasingorder")
            End If
        End If
    End If
   
    ndr("MissingQty") = ndr("Stock")+ndr("QC") -ndr("Demand")
    If dic4.ContainsKey(ndr("PartNo")) = False Then
        dic4.add(ndr("PartNo"), ndr("MissingQty"))
    Else
        dic4(ndr("PartNo")) += ndr("MissingQty")
    End If
    ndr("SumMissing") = dic4(ndr("partno"))
Next

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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/6/26 13:38:00 [只看该作者]

感谢老师帮忙。

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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/6/28 17:27:00 [只看该作者]

 

[此贴子已经被作者于2019/10/7 10:56:07编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/28 18:13:00 [只看该作者]

Dim pn As String = args(0)
Dim qty As String = args(1)
Dim dic1 = vars("dic1")
Dim dic2 = vars("dic2")
Dim dic3 = vars("dic3")
Dim dic4 = vars("dic4")
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("Demand") = dr("FQty") * qty
    Dim flag = True
    If args.length < 6 OrElse args(5) = True Then       
        If dic1.ContainsKey(ndr("PartNo")) Then
            If dic1(ndr("PartNo")) >= ndr("Demand") Then
                ndr("Stock") = ndr("Demand")
                dic1(ndr("PartNo")) -= ndr("Stock")
                flag = False
            ElseIf dic1(ndr("PartNo")) > 0 Then
                ndr("Stock") = dic1(ndr("PartNo"))
                dic1(ndr("PartNo")) -= ndr("Stock")
            End If
        End If
    End If
    Functions.Execute("sumChild",dr("PN"),ndr("Demand"), args(2), args(3), args(4), flag)
   
    If dic2.ContainsKey(ndr("PartNo")) Then
       
        Dim qty1 = ndr("Demand") - ndr("stock")
        If qty1 > 0 Then
            If dic2(ndr("PartNo")) >= qty1 Then
                ndr("QC") = qty1
               
               
                dic2(ndr("PartNo")) -= ndr("QC")
            ElseIf dic2(ndr("PartNo")) > 0 Then
                ndr("QC") = dic2(ndr("PartNo"))
                dic2(ndr("PartNo")) -= ndr("QC")
            End If
        End If
    End If
   
   
    If dic3.ContainsKey(ndr("PartNo")) Then
        ' If dic3(ndr("PartNo")) >= ndr("Demand") Then
        '    ndr("purchasingorder") = ndr("Demand")
        Dim qty2 = ndr("Demand") - ndr("stock") - ndr("QC")
        If qty2 > 0 Then
            If dic3(ndr("PartNo")) >= qty2 Then
                ndr("purchasingorder") = qty2
               
               
               
                dic3(ndr("PartNo")) -= ndr("purchasingorder")
            ElseIf dic3(ndr("PartNo")) > 0 Then
                ndr("purchasingorder") = dic3(ndr("PartNo"))
                dic3(ndr("PartNo")) -= ndr("purchasingorder")
            End If
        End If
       
    End If
   
   
    ndr("MissingQty") = ndr("Stock")+ndr("QC") -ndr("Demand")
    If dic4.ContainsKey(ndr("PartNo")) = False Then
        dic4.add(ndr("PartNo"), ndr("MissingQty"))
    Else
        dic4(ndr("PartNo")) += ndr("MissingQty")
    End If
    ndr("SumMissing") = dic4(ndr("partno"))
Next

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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/6/30 10:00:00 [只看该作者]

 

[此贴子已经被作者于2019/10/7 10:56:19编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/30 12:11:00 [只看该作者]

Dim pn As String = args(0)
Dim qty As String = args(1)
Dim dic1 = vars("dic1")
Dim dic2 = vars("dic2")
Dim dic3 = vars("dic3")
Dim dic4 = vars("dic4")
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("Demand") = dr("FQty") * qty
    Dim flag = True
    If args.length < 6 OrElse args(5) = True Then
        Dim aa As Integer
        If args.length = 7 Then
            aa = args(6)
        End If
        If dic1.ContainsKey(ndr("PartNo")) Then
            If dic1(ndr("PartNo")) >= ndr("Demand")-aa Then
                ndr("Stock") = ndr("Demand")-aa
                dic1(ndr("PartNo")) -= ndr("Stock")
                flag = False
            ElseIf dic1(ndr("PartNo")) > 0 Then
                ndr("Stock") = dic1(ndr("PartNo"))
                dic1(ndr("PartNo")) -= ndr("Stock")
            End If
        End If
    End If
    Functions.Execute("sumChild",dr("PN"),ndr("Demand"), args(2), args(3), args(4), flag, ndr("Stock"))
   
    If dic2.ContainsKey(ndr("PartNo")) Then
       
        Dim qty1 = ndr("Demand") - ndr("stock")
        If qty1 > 0 Then
            If dic2(ndr("PartNo")) >= qty1 Then
                ndr("QC") = qty1
               
               
                dic2(ndr("PartNo")) -= ndr("QC")
            ElseIf dic2(ndr("PartNo")) > 0 Then
                ndr("QC") = dic2(ndr("PartNo"))
                dic2(ndr("PartNo")) -= ndr("QC")
            End If
        End If
    End If
   
   
    If dic3.ContainsKey(ndr("PartNo")) Then
        ' If dic3(ndr("PartNo")) >= ndr("Demand") Then
        '    ndr("purchasingorder") = ndr("Demand")
        Dim qty2 = ndr("Demand") - ndr("stock") - ndr("QC")
        If qty2 > 0 Then
            If dic3(ndr("PartNo")) >= qty2 Then
                ndr("purchasingorder") = qty2
               
               
               
                dic3(ndr("PartNo")) -= ndr("purchasingorder")
            ElseIf dic3(ndr("PartNo")) > 0 Then
                ndr("purchasingorder") = dic3(ndr("PartNo"))
                dic3(ndr("PartNo")) -= ndr("purchasingorder")
            End If
        End If
       
    End If
   
   
    ndr("MissingQty") = ndr("Stock")+ndr("QC") -ndr("Demand")
    If dic4.ContainsKey(ndr("PartNo")) = False Then
        dic4.add(ndr("PartNo"), ndr("MissingQty"))
    Else
        dic4(ndr("PartNo")) += ndr("MissingQty")
    End If
    ndr("SumMissing") = dic4(ndr("partno"))
Next

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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/6/30 14:48:00 [只看该作者]


[此贴子已经被作者于2019/10/7 10:56:35编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/7/1 9:33:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:颜色进度管理4 (1).foxdb


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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/7/1 11:53:00 [只看该作者]

 

[此贴子已经被作者于2019/10/7 10:56:49编辑过]

 回到顶部
总数 49 上一页 1 2 3 4 5 下一页