电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

单据转换插件实现基础资料赋值(python)

来源:金蝶云社区作者:金蝶2024-09-167

单据转换插件实现基础资料赋值(python)

【业务背景】

单据转换 A -> B -> C,其中B -> C 转换路线中需要用到分组功能,设置根据明细分录中的"采购供应商"(基础资料属性,取物料档案中采购的默认供应商)合并分录下推,B中的物料供应商由A下推物料时,默认自动携带。


【需求分析】

由于在转换中分组合并无法选择"基础资料属性"的字段,只能在B中在扩展一个基础资料属性,由B -> C时,根据物料供应商进行生成下游多张单据C,这涉及一个问题,从A -> B时,需要对"物料供应商"(础资料字段)进行赋值,在单据转换中赋值有3种方式:

1、字段映射自定义公式:基础资料 = 物料.采购.默认供应商,跨级的引用,BOS不支持,类型报错

2、表单策略无法实现

3、单据转换插件


【插件实现】


image.webp


import clr 
clr.AddReference("System")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS.App")
clr.AddReference('Kingdee.BOS.ServiceHelper')
clr.AddReference('Kingdee.BOS.DataEntity')
clr.AddReference("Kingdee.BOS.App.Core")
clr.AddReference('Kingdee.BOS.ServiceHelper')
clr.AddReference("Kingdee.BOS.Contracts")

from System import *
from System import StringComparison
from Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import *
from Kingdee.BOS.ServiceHelper import * 
from Kingdee.BOS.Core.Metadata import SelectorItemInfo 
from Kingdee.BOS.Core.SqlBuilder import QueryBuilderParemeter 
from Kingdee.BOS.Orm.DataEntity import *
from Kingdee.BOS.Contracts import *
from Kingdee.BOS.App.Core import *

def AfterConvert(e):
    dataObjs = e.Result.FindByEntityKey("FBillHead")
    viewService = ViewService()
    field = e.TargetBusinessInfo.GetField("F_KCY_Base")
    for obj in dataObjs:     
        entrys = obj.DataEntity["FEntity"]
        for entry in entrys:
            material = entry["MaterialId"]
            if material is not None:
                p = QueryBuilderParemeter()
          

单据转换插件实现基础资料赋值(python)

【业务背景】单据转换 A -> B -> C,其中B -> C 转换路线中需要用到分组功能,设置根据明细分录中的"采购供应商"(基础资料属性,...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信