Foxtable(狐表)用户栏目专家坐堂 → [求助]生产BOM问题


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

主题:[求助]生产BOM问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/16 15:14:00 [显示全部帖子]

参考

 

http://www.foxtable.com/webhelp/scr/2479.htm

 

具体问题上传实例说明


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/16 15:55:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/16 18:02:00 [显示全部帖子]

count内部函数

 

Dim dt As DataTable =DataTables("BOM明细")
Dim ln As String = args(0)
Dim s As Integer = args(1)
Dim cs As Integer=0
For Each dr As DataRow In dt.Select("父项名称='" & ln & "'")
    Dim count As Integer=dr("用量") * s
    Dim drr As DataRow = DataTables("工单明细表").Find("名称='" & dr("名称") & "'")
    If drr Is Nothing Then
        drr = DataTables("工单明细表").addnew
        drr("名称")=dr("名称")
    End If
    drr("用量")+=count
    Functions.Execute("Count",dr("名称"),count)
Next
Return Nothing

 

调用代码

 

DataTables("工单明细表").DataRows.Clear
For Each drr As DataRow In DataTables("工单主表").DataRows
    Functions.Execute("Count",drR("名称"),drr("数量"))
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 9:14:00 [显示全部帖子]

 

你工单主表,要输入名称和数量,才能计算得到工单明细表的内容。

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 12:01:00 [显示全部帖子]

看懂代码,然后改写成你自己的。如果不想移除,请删除这句

 

DataTables("工单明细表").DataRows.Clear

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 16:49:00 [显示全部帖子]

函数

 

Dim dt As DataTable =DataTables("BOM明细")
Dim ln As String = args(0)
Dim s As Integer = args(1)
Dim lvl As Integer = args(2)
Dim curlvl As Integer = args(3)
Dim cs As Integer=0
If curlvl <= lvl Then
    For Each dr As DataRow In dt.Select("父项名称='" & ln & "'")
        Dim count As Single = dr("用量") * s
        Dim drr As DataRow = DataTables("工单明细表").Find("名称='" & dr("名称") & "'")
        If drr Is Nothing Then
            drr = DataTables("工单明细表").addnew
            drr("名称")=dr("名称")
        End If
        drr("用量")+=count
        Functions.Execute("Count",dr("名称"),count, lvl, curlvl+1)
    Next
End If
Return Nothing

 

调用代码

 

DataTables("工单明细表").DataRows.Clear
For Each drr As DataRow In DataTables("工单主表").DataRows
    Functions.Execute("Count",drR("名称"),drr("数量"), 3, 1)
Next


 回到顶部