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

python插件开发-BOM保存前新增物料

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

python插件开发-BOM保存前新增物料

公司业务部门提出需求,希望一些特殊物料依据一定的规则在保存BOM时,能自动增加到单据体中,

下面是利用python编写的插件,插件注册在菜单插件中,特殊物料按照一定的规则通过SQL存储过程获取。

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

from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.Metadata import *
from Kingdee.BOS.Core.Validation import *
from Kingdee.BOS.Log import Logger
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.Core.Bill.PlugIn import *
from Kingdee.BOS.Core.Bill.PlugIn.Args import *
from Kingdee.BOS.App.Data import *

def BeforeDoOperation(e):
    opCode=e.Operation.FormOperation.Operation.ToUpperInvariant();#触发操作代码大写,例如保存:SAVE
    if(opCode=="SAVE"):        
        fmodel = this.View.Model.GetValue("F_BLNS_Text")                        #获取表头规格型号
        FMATERIALID = this.View.Model.GetValue("FMATERIALID",0)         #获取表头物料ID
        FDESCRIPTION = this.View.Model.GetValue("FDESCRIPTION",0)      #获取备注内容
        FFNUMBER = FMATERIALID["Number"]
        FNAME = FMATERIALID["Name"]
        FNAME = str(FNAME)                                                                          #此处一定要转为str
        FDESCRIPTION = str(FDESCRIPTION)
        FNAME = FNAME.rstrip()  #清除字符串后的空格                                    
        FDESCRIPTION = FDESCRIPTION.rstrip()  #清除字符串后的空格

        #只有符合条件的BOM才新增物料
        if FFNUMBER[0:3] == 'QGC' and FNAME == "改造机器" and FDESCRIPTION != "系统自动生成":        
            #执行MSSQL存储过程,获取物料编码
            sql = """/*dialect*/exec ZRL_ZJ_QueryMaterial  '{0}' """.format(fmodel)
            result = DBUtils.ExecuteDataSet(this.Context, sql)

            #操作盒贴纸
            

python插件开发-BOM保存前新增物料

公司业务部门提出需求,希望一些特殊物料依据一定的规则在保存BOM时,能自动增加到单据体中,下面是利用python编写的插件,插件注册在菜单...
点击下载文档文档为doc格式

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

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