和小青GPT助理聊天吧

小青是一位基于大语言预训练模型的超级智能AI,熟悉轻易云产品并能为您提供多种数据集成方案和技术支持。您在使用轻易云产品时遇到问题或有关技术咨询,小青都将为您提供专业、即时、高效的帮助和建议。与小青智能对话,您可享受同人类互动一样的使用体验,全面了解最新产品更新、功能特性及相关技术资讯,进一步提升您在数据集成领域的实力。小青是您友好、智能、便捷的助手,与她互动让您的数据集成之路轻松愉快。
轻易云自训练大语言模型小青助理
扫码关注公众号即可开始聊天

金蝶的事件python脚本触发主动写入到轻易云数据如何操作?

金蝶的事件python脚本触发主动写入到轻易云数据如何操作?

本文将介绍通过Python脚本,实现在金蝶点击按钮,对应的轻易云方案自动生成一条请求队列的方法。

1.启动金蝶的BOS设计器

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

3.创建应用

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

4.选择应用

  • 完成应用创建或本地已有该账套的应用时,点击该应用的开发

5.选择单据模块

  • 打开单据所属的模块,此处以销售退货单演示

6.引入该目标单据

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

7.扩展并迁出表单

  • 右键签出扩展后的单据,若未扩展则扩展后直接操作

8.注册python脚本

  • 点击编辑-批量设置字段属性

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

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

  • 填入以下内容并确认,确认语法报错提示,退回主界面保存;以下为python脚本,对于不同的方案,我们修改脚本中的轻易云HOST和方案ID即可,即QEASY_HOSTQEASY_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_HOSTQEASY_STRATEGY_ID,以测试方案的链接为例 https://pro.qliang.cloud/strategy/detail/260ccb96-46cc-39d4-b54d-fe67ce6f3fb1#BasicSummary,其中 https://pro.qliang.cloud为轻易云的HOST,路径的后半段为方案ID 260ccb96-46cc-39d4-b54d-fe67ce6f3fb1(注意方案ID不包含网页的定位锚点 #BasicSummary


9.功能测试

  • 返回金蝶单据,点击保存按钮,对应方案即生成一条请求队列

热门文章

电商平台与财务软件对接:实现电商财务核算流程

2023-07-09 11:49:29

大型集团企业如何实现母子公司金蝶ERP系统的无缝对接?

2023-07-09 06:44:00

业财一体化与数据集成平台:实现数字化转型的关键利器

2023-07-09 03:40:36

# 金蝶云星空即时库存与物料收发存不一致

2023-07-01 10:46:45

化工企业通过轻易云打通畅捷通T+Cloud接口

2023-06-29 00:45:33