PLM二开案例.BOM升版时将上层BOM一同升版
【应用场景】
设计BOM库中对BOM升版时,携带上层BOM一同升版
【注意事项】
二开时请注意严格遵循标准校验逻辑,只增不减。如果强行跳过校验可能会导致数据问题!!。
此方案无法设置上层BOM的具体版本或者跳版本,只能升单个版本。
【案例演示】
自定义升版操作,并联动上层BOM一同升版
【实现步骤】
<1>新增一个组件和类,引用组件。
<2>新增一个类,继承标准升版服务插件类UpgradeBigVersion。此案例处理升大版,升小版本则需继承UpgradeSmallVersion插件类。
重写GetAutoUpgradeRelatedObject方法,目的为在相关对象列表中加入反查的BOM对象,以此达到一同升版的目的。 同时可以维护提示信息,供升版确认。
编写代码如下:
using Kingdee.K3.PLM.CFG.App.ServicePlugIn.VersionService;
using Kingdee.K3.PLM.CFG.Common.BusinessEntity.Manager;
using Kingdee.K3.PLM.STD.Common.BusinessEntity.Bom;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace ISV.DEMO.Common.BussinessEntity
{
[Description("二开升大版服务插件")]
public class CustomUpgradeBigVersion: UpgradeBigVersion
{
public override void GetAutoUpgradeRelatedObject(Kingdee.K3.PLM.Common.Core.BOSBridge.PLMContext context, Kingdee.BOS.Orm.DataEntity.DynamicObject upgradeObj, Kingdee.K3.PLM.Common.BusinessEntity.PLMOperationParam param, ref List<Kingdee.BOS.Orm.DataEntity.DynamicObject> updateReObjList, ref string errorMsg)
{
base.GetAutoUpgradeRelatedObject(context, upgradeObj, param, ref updateReObjList, ref errorMsg);//标准逻辑先走
var parentBomIds = BomManager.Instance.GetAncestorBomIds(context, Convert.ToInt64(upgradeObj["id"])); //反查BOM对象
var bomObjs = DomainObjectManager.AutoLoad(context, parentBomIds);
string validateMessage = null;
foreach(var obj in bomObjs)
{
if (CheckUpgradeVersionRule(context, obj, param, out validateMessage)) //必须使用标准校验,强行升版可能导致数据问题
{
updateReObjList.Add(obj);
errorMsg += string.Format("{0}上层BOM({1})会一同升版。", Environment.NewLine, obj["Code"], validateMessage); // errorMsg会以提示的方式供用户确认,按自身需求
}
else
{
//不符合校验的对象可以做提示。
errorMsg += string.Format("{0}上层BOM({1})无法升版:{2}", Environment.NewLine, obj["Code"], validateMessage);
}
}
}
}
}
<3>编译后将组件放至服务器\bin目录下。 重启IIS后登录系统。
<4>在PLM操作列表上注册此操作,并在业务类型BOM上配置对应的操作
<5>更新模型后, 在业务类型授予对应的权限,即可去系统验证功能。
【金蝶云星空BOS二次开发案例演示】
https://vip.kingdee.com/article/94751030918525696
【【汇总】星空PLM二开指南(持续更新)】
https://vip.kingdee.com/article/329914697153905408?productLineId=1&isKnowledge=2
PLM二开案例.BOM升版时将上层BOM一同升版
【应用场景】设计BOM库中对BOM升版时,携带上层BOM一同升版【注意事项】二开时请注意严格遵循标准校验逻辑,只增不减。如果强行跳过校验可...
点击下载文档
本文2024-09-23 03:04:13发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-156498.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf
热门文章