LayersMRPBuilder(内联)
Foxtable使用LayersMRPBuilder类来完成层级MRP统计。
执行以下示例代码之前,打开CaseStudy目录下的示例文件: MRP统计.Table
示例一
选择表"物料清单B",在命令窗口执行代码:
Dim
mrp As
New
LayersMRPBuilder("统计表1")
'设置BOM表
mrp.BOM.DataTable
= DataTables("物料清单B")
mrp.BOM.PathCol
= "级码"
mrp.BOM.MaterialCol
= "物料"
mrp.BOM.QuantityCol
= "数量"
mrp.BOm.Separator
= "."
'指定分割符号
'设置成品率表
mrp.Yield.DataTable
= DataTables("成品率")
mrp.Yield.MaterialCol
= "物料"
mrp.Yield.YieldCol=
"成品率"
'设置库存表
mrp.Stock.DataTable
= DataTables("库存")
mrp.Stock.MaterialCol
= "物料"
mrp.Stock.QuantityCol=
"库存数量"
mrp.Stock.MinimumCol
= "安全库存"
'设置生产计划
mrp.Plan.Add("P01",10)
mrp.Plan.Add("P02",8)
'生成统计结果
mrp.Build()
MainTable =
Tables("统计表1")
得到的统计结果如下图:
示例二
选择表"物料清单C",在命令窗口执行代码:
Dim
mrp As
New
LayersMRPBuilder("统计表1")
'设置BOM表
mrp.BOM.DataTable
= DataTables("物料清单C")
mrp.BOM.PathCol
= "级码"
mrp.BOM.MaterialCol
= "物料"
mrp.BOM.QuantityCol
= "数量"
mrp.BOm.Lengths=
{2}
'指定各级长度
'设置成品率表
mrp.Yield.DataTable
= DataTables("成品率")
mrp.Yield.MaterialCol
= "物料"
mrp.Yield.YieldCol=
"成品率"
'设置库存表
mrp.Stock.DataTable
= DataTables("库存")
mrp.Stock.MaterialCol
= "物料"
mrp.Stock.QuantityCol=
"库存数量"
mrp.Stock.MinimumCol
= "安全库存"
'设置生产计划
mrp.Plan.Add("P01",10)
mrp.Plan.Add("P02",8)
'生成统计结果
mrp.Build()
MainTable =
Tables("统计表1")
提示:可以分别指定各级长度,假定第一级的长度是1,第二级的长度是3,第三级开始长度为2,那么可以将长度设置代码改为:
mrp.BOm.Lengths=
{1,3,2}
示例三
选择表"物料清单D",在命令窗口执行代码:
Dim
mrp As
New
LayersMRPBuilder("统计表1")
'设置BOM表
mrp.BOM.DataTable
= DataTables("物料清单D")
mrp.BOM.PathCol
= "物料"
mrp.BOM.QuantityCol
= "数量"
mrp.BOm.Separator=
"\"
'指定分割符号
'设置成品率表
mrp.Yield.DataTable
= DataTables("成品率")
mrp.Yield.MaterialCol
= "物料"
mrp.Yield.YieldCol=
"成品率"
'设置库存表
mrp.Stock.DataTable
= DataTables("库存")
mrp.Stock.MaterialCol
= "物料"
mrp.Stock.QuantityCol=
"库存数量"
mrp.Stock.MinimumCol
= "安全库存"
'设置生产计划
mrp.Plan.Add("P01",10)
mrp.Plan.Add("P02",8)
'生成统计结果
mrp.Build()
MainTable =
Tables("统计表1")