如何利用python插件实现自动下推服务下推单据自动提交审核原创
128人赞赏了该文章
1,457次浏览
编辑于2024年07月26日 17:27:02
一、业务背景
系统中的操作服务中有预置的单据自动下推服务,但是下推的下游单据都是创建状态,需要人工去手动提交然后审核,比较不灵活。
以采购入库单自动下推应付单为例:
1、首先需要在采购入库单的审核操作中配置自动下推服务。
案例中没有设置条件,就是默认所有采购入库的单据类型审核后都会自动下推应付单。此时下推到下游应付单的单据是创建状态。
2、如果需要自动提交审核,需要注册python插件。
3、首先,可以在应付单上面添加一个复选框,用来区分是采购入库单下推的,下推下来的自动提交审核,还有手工新增的应付单不自动提交审核。
4、然后在采购入库单到应付单的单据转换规则,表单服务策略,设置复选框默认勾选。这样采购入库下推的应付此复选框就默认勾选。
5、然后在应付单上的保存操作上注册此python脚本。
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.Orm 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; subResult =BusinessDataServiceHelper.Submit(this.Context,meta.BusinessInfo,pkArray,"Submit",submitOption); if (subResult .IsSuccess == True): auditOption = None; auditResult = BusinessDataServiceHelper.Audit(this.Context,meta.BusinessInfo,pkArray,auditOption);
脚本来源参考周老师的帖子:https://vip.kingdee.com/article/157179291166940672?productLineId=1&lang=zh-CN
6、然后就可以做一个采购入库单,就会自动生成应付单并审核了。
赞 128
128人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读