以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]生产BOM问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=135077)

--  作者:晨曦396
--  发布时间:2019/5/16 15:02:00
--  [求助]生产BOM问题
通过订单和BOM(多阶) 如何生成领料单?
--  作者:有点甜
--  发布时间:2019/5/16 15:14:00
--  

参考

 

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

 

具体问题上传实例说明


--  作者:晨曦396
--  发布时间:2019/5/16 15:43:00
--  

想实现的效果是 在订单数量表上输入物料名称,数量,可以根据BOM(可以指定展开阶数),在关联的明细表上填入所需物料,并根据订单数量和BOM用量算出子件的需求数量

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目11.foxdb


--  作者:有点甜
--  发布时间:2019/5/16 15:55:00
--  

参考

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=128306&skin=0

 


--  作者:晨曦396
--  发布时间:2019/5/16 16:51:00
--  
以下是引用有点甜在2019/5/16 15:55:00的发言:

参考

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=128306&skin=0

 

通过工单主表的窗口现在实现了BOM一阶的生成发料,但是如何实现多阶的呢,指定BOM 展开到第几阶生成发料单并计算用量


--  作者:晨曦396
--  发布时间:2019/5/16 17:01:00
--  
以下是引用晨曦396在2019/5/16 16:51:00的发言:

通过工单主表的窗口现在实现了BOM一阶的生成发料,但是如何实现多阶的呢,指定BOM 展开到第几阶生成发料单并计算用量

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:bom测试.foxdb


--  作者:有点甜
--  发布时间: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


--  作者:晨曦396
--  发布时间:2019/5/17 8:26:00
--  
以下是引用有点甜在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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:bom测试.foxdb
  还是不行呢?

--  作者:有点甜
--  发布时间:2019/5/17 9:14:00
--  

 

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

 

 


--  作者:晨曦396
--  发布时间:2019/5/17 11:00:00
--  
以下是引用有点甜在2019/5/17 9:14:00的发言:

 

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

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:bom测试1.foxdb

现在可以了,但是想实现工单明细表可以保存数据,工单主表新增后带出bom的用量 保存在工单明细表上