二开案例-【Python】设置生产用料清单发料组织

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例-【Python】设置生产用料清单发料组织

【应用场景】

需求描述:物料清单未设置发料组织,且没有设置供料方式,生产订单为组织委托加工时,生产用料清单的发料组织设置为货主,前提货主类型必须为组织。


【注意事项】

该实现方案涉及到生产订单保存自动生成生产用料清单的过程中,更改发料组织的值,非标准业务场景,二开需注意仅限于特殊场景下的特殊应用,拷贝代码进行测试时,需要理解代码含义,针对不同场景进行修改,另外代码中Logger.Info语句为记录日志语句,输出日志,方便查看各个变量的值,可删除。


【实现步骤】

<1>编写生产用料清单保存操作插件,示例采用Python开发,具体代码如下:

'''
需求描述:物料清单未设置发料组织,且没有设置供料方式,生产订单为组织委托加工时,用料清单的发料组织设置为货主,前提货主类型必须为组织
'''
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Log')
clr.AddReference('Kingdee.BOS.ServiceHelper')


from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Log import *
from Kingdee.BOS.ServiceHelper import *


def OnPreparePropertys(e):
    e.FieldKeys.Add("FMOType");
    e.FieldKeys.Add("FOwnerTypeId");
    e.FieldKeys.Add("FOwnerID");
    e.FieldKeys.Add("FSupplyOrg");

def BeginOperationTransaction(e):
    billDatas = e.DataEntitys;
    if len(billDatas)>0:
        for billData in billDatas:
            moBillType=billData["MOType_Id"];
            Logger.Info("CS001", str(moBillType));
            billTypePara = BusinessDataServiceHelper.LoadBillTypePara(this.Context, "MoBillTypeParaSetting",moBillType);
            IsEntrust=billTypePara["IsEntrust"];
            Logger.Info("CS002", str(IsEntrust));
            if bool(IsEntrust):
                entryDatas = billData["PPBomEntry"];
                for entryData in entryDatas:
                    ownerTypeId=entryData["OwnerTypeId"];
                    Logger.Info("CS003", str(ownerTypeId));
                    if ownerTypeId=='BD_OwnerOrg':
                        ownerId=entryData["OwnerID_Id"];
                        Logger.Info("CS004", str(ownerId));
                        entryData["SupplyOrg_Id"]=ownerId;


<2>BOSIDE扩展生产用料清单,将代码注册到生产用料清单保存操作插件上,保存元数据,开发完毕,具体注册如图所示:



【功能验证】

<1>登录业务站点,新增生产订单,查看生产用料清单上发料组织是否设置正确。




【金蝶云星空BOS二次开发案例演示】

https://vip.kingdee.com/article/94751030918525696



二开案例-【Python】设置生产用料清单发料组织

【应用场景】需求描述:物料清单未设置发料组织,且没有设置供料方式,生产订单为组织委托加工时,生产用料清单的发料组织设置为货主,前提...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息