金蝶的事件python脚本触发主动写入到轻易云数据如何操作?
1 comments
金蝶的事件python脚本触发主动写入到轻易云数据如何操作?
本文将介绍通过Python脚本,实现在金蝶点击按钮,对应的轻易云方案自动生成一条请求队列的方法。
1.启动金蝶的BOS设计器


2.通过云之家账号登录BOS设计器

3.创建应用
- 若此前本地无该账套应用,则先创建应用,此处的应用是创建在计算机本地的文件实体,此前所有对该账套的修改都会同步到云服务器的数据中心中,引用表单和签出的动作会同步数据中心的信息到本地,无需担心覆盖掉其他操作者对金蝶进行的开发

4.选择应用
- 完成应用创建或本地已有该账套的应用时,点击该应用的开发

5.选择单据模块
- 打开单据所属的模块,此处以销售退货单演示

6.引入该目标单据
- 在项目树中引入需要操作的表单,若其他开发者开发过该表单,需要把扩展的下级表单也引入到应用中,如未进行过扩展,把[KD]开发的表单进行扩展


7.扩展并迁出表单
- 右键签出扩展后的单据,若未扩展则扩展后直接操作


8.注册python脚本
点击编辑-批量设置字段属性

依次打开:表单属性-操作列表-选择需要实现该功能的按钮(或新建一个列表按钮)-编辑

依次打开:其他控制-服务插件-注册python脚本

填入以下内容并确认,确认语法报错提示,退回主界面保存;以下为python脚本,对于不同的方案,我们修改脚本中的轻易云HOST和方案ID即可,即
QEASY_HOST和QEASY_STRATEGY_ID两个值。# -*- coding: utf-8 -*- # from Newtonsoft.Json import JsonConvert # SerializeObject # from Newtonsoft.Json.Linq import * # from Kingdee.BOS.ServiceHelper import * # from System.Collections.Generic import List # from Kingdee.BOS.App.Data import * from System.IO import * from System.Text import * from System.Net import * from System.Data import * # from System import * from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import * from Kingdee.BOS.Core.DynamicForm.PlugIn import * from Kingdee.BOS.Core.Bill import * from Kingdee.BOS.Core import * from Kingdee.BOS import * 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.ServiceHelper') clr.AddReference('Newtonsoft.Json') # 导入cloud基础库中的常用实体对象(分命名空间导入,不会递归导入) # from System.String import * # 开启debug调试消息 SHOW_DEBUG = True # 轻易云集成平台服务器主机 QEASY_HOST = 'https://pro-service.qliang.cloud' # 集成方案的ID QEASY_STRATEGY_ID = ['97ac4289-616d-3d7-86a2-760', '97ac4289-66d-39d7-862-70','97a289-616d-3d7-86a2-7e0'] # 操作完成后需要弹出的提示 QEASY_MESSAGE = False def OnPrepareOperationServiceOption(e): e.SupportTransaction = True # 是否启动事务,默认true e.SurportBatchTransaction = True # 是否支持批量处理,默认true #字段预加载事件,这是一个非常必要使用的事件 #出于性能考虑,服务插件并不会加载单据完整的数据包,只有默认加载单据编号、单据ID等一些关键字段 #在插件中需要读取的其他字段信息,需要在此事件中先加载,方法也很简单。 #如果在后续事件中取单据字段时,报错提示字段标识不存在时,可以看是否在这里进行预加载 def OnPreparePropertys(e): # e.FieldKeys.Add("字段标识");#这里使用的是字段标识,后面从数据包取值用的是绑定实体属性 # e.FieldKeys.Add("F_ZOHO_ID") pass def AfterExecuteOperationTransaction(e): for STRATEGY_ID in QEASY_STRATEGY_ID: url = QEASY_HOST + "/v2/open/"+STRATEGY_ID+'/dispatch-source' HttpPost(url,'') def HttpPost(Url, Content): httpRequest = HttpWebRequest.Create(Url) httpRequest.Method = "POST" httpRequest.ContentType = "application/json" httpRequest.Timeout = 1000 * 60 * 10 reqStream = httpRequest.GetRequestStream() sContent = Content bytes = Encoding.UTF8.GetBytes(sContent) reqStream.Write(bytes, 0, bytes.Length) reqStream.Flush() repStream = httpRequest.GetResponse().GetResponseStream() reader = StreamReader(repStream) return ValidateResult(reader.ReadToEnd()) def ValidateResult(responseText): s = ('{0}').format(responseText) # if (s.find("response_error:")>=0): # failText = s.TrimStart("response_error:".ToCharArray()); return s可在方案的链接中获取到
QEASY_HOST和QEASY_STRATEGY_ID,以测试方案的链接为例https://pro.qliang.cloud/strategy/detail/260ccb96-46cc-39d4-b54d-fe67ce6f3fb1#BasicSummary,其中https://pro.qliang.cloud为轻易云的HOST,路径的后半段为方案ID260ccb96-46cc-39d4-b54d-fe67ce6f3fb1(注意方案ID不包含网页的定位锚点#BasicSummary)



9.功能测试
- 返回金蝶单据,点击保存按钮,对应方案即生成一条请求队列


Hot Discussions
- 电商多平台财务自动对账:从手工核数到智能闭环的完整落地指南2026-07-15
- 主流AI深度评测合集:轻易云全场景异构系统对接硬核技术资源大全2026-07-04
- ### 2026年企业级数据集成平台与AI模型实战图谱2026-06-26
- 打破数据高墙:从“轻易云”实践看企业异构系统集成的技术范式革命2026-06-26
- 境内外电商平台对账的技术挑战与智能化解决方案2026-06-25














