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


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

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

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


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

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

 

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

 

 


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


加好友 发短信
等级:童狐 帖子:266 积分:2478 威望:0 精华:0 注册:2019/2/15 9:43:00
  发帖心情 Post By:2019/5/17 14:18:00 [只看该作者]

已经改了谢谢

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


加好友 发短信
等级:童狐 帖子:266 积分:2478 威望:0 精华:0 注册:2019/2/15 9:43:00
  发帖心情 Post By:2019/5/17 16:08:00 [只看该作者]

以下是引用有点甜在2019/5/17 12:01:00的发言:

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

 

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

 

 

老师,在请问一下,目前实现的是到最末级进行计算,如果只运算到其中一级(比如第3级),递归的函数如何判断, 比如集合有两行,循环第一行递归到第3级就停止(如果只有第2级的那就直接取第二级,再去执行集合中下一行的递归),然后去循环集合中的第二行进行递归

[此贴子已经被作者于2019/5/17 16:10:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


 回到顶部
总数 14 上一页 1 2