二开实现序列号单据备注保存写入序列号主档(Python实现)

业务需求和C#的插件实现,参考文章:【二开实现单据录入携带序列号主档备注信息】,重写一个Python版本的实现,供参考。
import clr
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.DataEntity')
clr.AddReference('Kingdee.BOS.Business.DynamicForm')
clr.AddReference('Kingdee.BOS.ServiceHelper')
clr.AddReference('Kingdee.BOS.Contracts')
from Kingdee.BOS.Log import Logger
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Contracts import *
from System.Data import *
from System import *
from System.Collections import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from System.Collections.Generic import Dictionary
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from System import StringComparison
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.Core.Metadata.EntityElement import *
def AfterExecuteOperationTransaction(e):
if(this.OperationResult.IsSuccess == False):
return
if len(e.DataEntitys) == 0 or e.DataEntitys == None:
return
snEntryName = "";
entryName = "";
for entity in this.BusinessInfo.Entrys:
if type(entity) is SNSubEntryEntity:
snEntryName = entity.EntryName
parentEntity = this.BusinessInfo.GetEntity(entity.ParentEntityKey)
entryName = parentEntity.EntryName;
if snEntryName == "":
return;
havaUpdateSerials = Dictionary[str,str]()
for bill in e.DataEntitys:
billEntry = bill[entryName]
for entry in billEntry:
snEntrys = entry[snEntryName]
for sn in snEntrys:
serialId = Convert.ToString(sn["SerialId_Id"])
serialNote = Convert.ToString(sn["SerialNote"])
if serialNote != "":
havaUpdateSerials[serialId] = serialNote
if havaUpdateSerials.Count > 0:
lstSqlObj = List[SqlObject]()
serialTmpTable = DBServiceHelper.CreateTemporaryTableName(this.Context)
BuildUpdateDestSerialTmpTable(this.Context, serialTmpTable)
serialDt = DataTable(serialTmpTable)
otColumn1 = DataColumn()
otColumn1.ColumnName = "FSERIALID"
serialDt.Columns.Add(otColumn1)
otColumn2 = DataColumn()
otColumn2.ColumnName = "FDESCRIPTION"
serialDt.Columns.Add(otColumn2)
pythondict = dict(havaUpdateSerials)
for key,value in pythondict.item二开实现序列号单据备注保存写入序列号主档(Python实现)
业务需求和C#的插件实现,参考文章:【二开实现单据录入携带序列号主档备注信息】,重写一个Python版本的实现,供参考。import clrclr.AddR...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



