在系统实施过程中,我们经常会遇到这样的需求:单据A审核通过之后,自动生成单据B,并自动审核,在没有开发资源支持的情况下,通过BOS平台预置的【服务端服务】里面的【自动下推】可以很方便的实现这一功能,并且可以实现单据间的关联及反写,但是却无法实现单据自动审核,现在可以通过Python脚本来补充这一功能:
实现方法:
1.在BOS中打开需要自动生成的下游单据。
2.增加【复选框】字段(字段标识:F_IsAutoAudit),自动审核,这个字段勾选的单据才执行自动提交审核,以达到不对所有单据进行自动审核的控制。(该字段 为后台逻辑判断字段,建议加到【其他】页签,避免干扰用户!!!)
2.在【操作列表】中找到【保存】,点击【编辑】。
3.在【其他控制】-【服务插件】中注册Python脚本。
注意:
1.如果单据启用了审批流,执行该脚本时,会自动跳过审批流自动审核。
2.该自动提交审核的功能在后台执行,如果单据手工点击保存,也会自动审核,但是界面不会刷新,仍显示未审核状态,关闭单据重新打开即可刷新。
##****************************保存服务插件*******************
#引入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;#OperateOption.Create();
submitResult = BusinessDataServiceHelper.Submit(this.Context,meta.BusinessInfo,pkArray,"Submit",submitOption);
if (submitResult.IsSuccess == True):
auditOption = None;#OperateOption.Create();
auditResult = BusinessDataServiceHelper.Audit(this.Context,meta.BusinessInfo,pkArray,auditOption);
2023-04-09 16:23:35 | |
2021-11-17 21:40:48 | |
2024-02-22 14:12:09 | |
2024-01-16 04:25:49 | |
2021-03-26 11:44:24 | |
2024-07-09 06:14:15 | |
2023-05-01 08:16:01 | |
2021-06-05 14:39:01 | |
2021-10-08 18:13:12 | |
2021-02-27 13:23:49 | |
2024-12-10 21:10:36 | |
2024-10-31 06:16:47 | |
2024-12-10 22:51:25 | |
2024-12-10 11:21:45 | |
2024-12-06 17:42:22 | |
2024-11-24 21:30:11 | |
2024-11-25 01:08:28 | |
2024-11-20 15:21:14 | |
2025-03-14 11:27:16 | |
2025-03-18 11:27:41 | |
2023-05-25 00:13:36 | |
2023-05-25 00:02:40 | |
2023-05-24 23:43:58 | |
2023-05-24 16:04:51 | |
2023-05-24 13:27:40 |
黄宏棵 13286997615
数据集成顾问 资深系统集成顾问,专长于ERP、电商OMS、钉钉及CRM系统。他能提供高效的集成方案,优化企业运营流程,提升业务效率和决策智能化。
何海波 18175716035
数据集成顾问 轻易云的技术专家,拥有丰富的数据集成规划经验。他能够为客户提供专业、全面的数据集成规划方案,熟练掌握多种集成技术和工具,帮助企业在数据集成领域得到长远发展。
胡秀丛 15813570600
数据集成顾问 项目总监 她以卓越的数据集成专长,精通ERP、MES系统,以及数据中台的构建与优化。通过创新的一站式解决方案,她助力企业实现数据的无缝对接,提升业务流程效率,确保信息流通无障碍,为企业的数字化转型提供强有力的支持。
卢剑航 13760755942
数据集成专家 拥有十多年丰富的经验,擅长ERP、MES、数据中台、营销云中台等集成。他能够根据客户需求,为其提供一站式集成解决方案,帮助企业快速实现各类系统数据集成服务。