树形维护中的树形复制如何不复制BOM分组
是个好功能,可以通过树形的方式查看BOM,特别是支持整个BOM树的复制,在一个实际项目中使用场景需要一些变化,记录如下。
重点说明:这是总部的大神提供的解决方案,实测可行,我只是搬运工,分享给有需求的星友。
使用场景:
1,BOM的版本号规则考虑了BOM分组;
2,客户通过PLM系统,把设计BOM传递给云星空 “工程数据管理-物料清单-物料清单”的设计BOM分组中;
3,根据设计BOM分组中的设计BOM,通过复制-修改-保存,生成 生产BOM;
4,通过“树形复制”的功能,会把BOM的分组一起复制,BOM的版本号也还是原来分组的标识
个性化需求:
“树形复制”不要复制原来的BOM分组信息
实现方案:
1, 物料清单-操作列表-保存,增加Python的服务插件
![](/download/01009bfe6dc41a4b4700be1469d6c1bdc0e8.png)
2, 通过Python服务插件的代码,实现“树形复制“不复制BOM分组信息
def OnPreparePropertys(e):
e.FieldKeys.Add('FGroup')
def BeforeDoSaveExecute(e):
isBomTreeUpdateVar = this.Option.GetVariableValue("IsBomTreeUpdate",None)
if isBomTreeUpdateVar is not None and bool(isBomTreeUpdateVar)==True:
for item in e.DataEntities:
item['Group'] = None
item['Group_Id'] = 0