Files
GateDge2023_ljy/14.宝锐/GZ.LJY000.Biori/PUR_ReceiveBill/OperationEventPlugInEx.py
PastSaid 9725ab5376 a
2024-12-05 15:39:19 +08:00

59 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#引入clr运行库
import clr
#添加对cloud插件开发的常用组件引用
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.App.Core')
clr.AddReference('Kingdee.BOS.Contracts')
clr.AddReference('Kingdee.BOS.DataEntity')
clr.AddReference('Kingdee.BOS.ServiceHelper')
#dairycloud基础库中的常用实体对象分命名空间导入不会递归导入
from Kingdee.BOS.Core import *
from Kingdee.BOS.Util import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.List import *
from Kingdee.BOS.Core.Bill.PlugIn import *
from Kingdee.BOS.Orm.DataEntity import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs import *
from System import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from Kingdee.BOS.App import *
from Kingdee.BOS.Orm import *
from Kingdee.BOS.Contracts import *
from System.Collections.Generic import List
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.App.Core import *
def OnPreparePropertys(e):
# e.FieldKeys.Add("FPMoBillTypeId_Id")
e.FieldKeys.Add("FShowEntryID")
def EndOperationTransaction(e):
# * 保存8提交9审核1反审核26删除3
if this.FormOperation.OperationId == 8:
WriteBackFShowEntryID(e.DataEntitys);
def WriteBackFShowEntryID(dataEntitys):
entryIds = List[str]()
for item in dataEntitys:
# raise Exception(JsonUtil.Serialize(item))
for entity in item.PUR_ReceiveEntry:
FShowEntryID = entity["FShowEntryID"]
if FShowEntryID == 0:
entryIds.Add(str(entity["Id"]))
if entryIds.Count > 0:
sqlL = """/*dialect*/
UPDATE T_PUR_RECEIVEENTRY SET FShowEntryID = FENTRYID WHERE FENTRYID IN ({0})
""".format(",".join(entryIds))
DBUtils.Execute(this.Context, sqlL);