BOS平台单据自动审核功能
通过Python脚本实现单据自动审核功能
轻易云数据集成平台在系统集成过程中,经常需要处理单据间的自动化流转需求。当单据A审核通过后,系统需要自动生成单据B并完成审核。传统BOS平台的【自动下推】功能虽然能实现单据生成和关联,但缺乏自动审核能力。现在通过Python脚本可以完美补足这一功能缺口。
实现步骤详解
-
配置下游单据
- 在BOS平台中打开需要自动生成的下游单据
- 新增【复选框】字段(字段标识:F_IsAutoAudit),用于控制自动审核功能
- 建议将该字段放置在【其他】页签,避免干扰用户正常操作
-
注册Python脚本
- 在目标单据的【操作列表】中找到【保存】操作
- 进入【编辑】界面后,在【其他控制】-【服务插件】中注册自动审核脚本
关键技术说明
##****************************保存服务插件*******************
#引入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.Contracts')
clr.AddReference('Kingdee.BOS.ServiceHelper')
#导入cloud基础库中的常用实体对象
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Contracts import *
from Kingdee.BOS.App import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from System import *
from System.Data import *
from System.Text import *
from System.Collections import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from Kingdee.BOS.ServiceHelper import *
def OnPreparePropertys(e):
e.FieldKeys.Add("F_IsAutoAudit");
def EndOperationTransaction(e):
idList =List[object]();
for billObj in e.DataEntitys:
BillId = str(billObj["Id"]);
F_IsAutoAudit = str(billObj["F_IsAutoAudit"]);
if (F_IsAutoAudit == "1" or F_IsAutoAudit == "True"):
idList.Add(BillId);
if(idList.Count <= 0):
return;
pkArray = idList.ToArray();
formID=this.BusinessInfo.GetForm().Id;
meta = MetaDataServiceHelper.Load(this.Context, formID);
submitOption = None;
submitResult = BusinessDataServiceHelper.Submit(this.Context,meta.BusinessInfo,pkArray,"Submit",submitOption);
if (submitResult.IsSuccess == True):
auditOption = None;
auditResult = BusinessDataServiceHelper.Audit(this.Context,meta.BusinessInfo,pkArray,auditOption);
重要注意事项
- 审批流处理:如果单据启用了审批流,脚本执行时会自动跳过审批流程直接完成审核
- 界面刷新机制:手工保存单据时,虽然后台会自动完成审核,但界面不会实时刷新状态,需要关闭后重新打开单据查看最新状态
轻易云数据集成平台的这一解决方案,完美解决了企业单据自动化流转中的最后一环问题,大幅提升了业务流程效率。通过灵活的脚本控制和稳定的后台执行机制,确保企业关键业务数据的准确性和时效性。