对接第三方系统常用方式

import clr clr.AddReference("System") clr.AddReference("System.Core") clr.AddReference("Kingdee.BOS")  clr.AddReference("Kingdee.BOS.Core")  clr.AddReference("Kingdee.BOS.DataEntity")  clr.AddReference("Newtonsoft.Json")  from Kingdee.BOS.Util import * from Kingdee.BOS.Core.DynamicForm import * from Kingdee.BOS.Core.DynamicForm.PlugIn import * from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import * from Kingdee.BOS.Core.Metadata.FormElement import *  from System import * from System.Net import * from System.IO import * from System.Linq import * from System.Text import * from Newtonsoft.Json import * from Newtonsoft.Json.Linq import * class dog:   tenantId=0   relationshipId="12621517591749"   id=""   key="" def AfterExecuteOperationTransaction(e):   billid="";   Billno = "";   this.OperationResult.IsShowMessage = True;   #保存之后 Operation_Save   #提交之后 Operation_Submit   #审核之后 Operation_Audit   if this.FormOperation.OperationId == FormOperation.Operation_Save:       obj = e.DataEntitys;       for  item in obj:         billid = item["Id"].ToString();         Billno = item["BillNo"].ToString();         SendData(billid,Billno); #发送到第三方服务器          def post(url,postdata):   encode = "UTF-8";   webRequest = HttpWebRequest.Create(url);   webRequest.Method = "POST";   webRequest.ContentType = "application/json";    paraUrlCoded = postdata;   payload = Encoding.GetEncoding(encode.ToUpper()).GetBytes(paraUrlCoded);   webRequest.ContentLength = payload.Length;   writer = webRequest.GetRequestStream();   writer.Write(payload, 0, payload.Length);   writer.Close();   response = webRequest.GetResponse();   sr = StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encode));   res = sr.ReadToEnd();    return res;  def SendData(billid, Billno):   url = "http://127.0.0.1:8052/SendData";   dog.id = billid;   result_str = post(url,JsonConvert.SerializeObject(dog));   postresult = JObject.Parse(result_str);   result = OperateResult();    if postresult != None:      if postresult["code"].ToString() == "200":      #注意解析返回格式:接口返回格式 {"code":"200","msg":"success"}       #TojObjectresult = JObject.Parse(postresult["result"].ToString());       result.SuccessStatus = True;       result.PKValue = billid;       result.Number = Billno;       result.Message = postresult["msg"].ToString(); #"【{0}】- 同步成功【主键值:{1}】【消息:{2}】!".format(Billno,TojObjectresult["pkid"],TojObjectresult["msg"]);       this.OperationResult.OperateResult.Add(result);       return;   else:     result.SuccessStatus = False;     result.PKValue = billid;     result.Number = Billno;     result.Message = "【{0}】- 同步失败 !".format(Billno);     this.OperationResult.OperateResult.Add(result);   return;


简单的python开发集合

记录一下python简单的插件开发- beforef7select&基础资料组织 列表只显示用户拥有的组织权限

记录一下python简单的插件开发- 单元格格式化事件&物料收发汇总格式化仓位编码

记录一下python简单的插件开发- 菜单按钮事件(表体菜单按钮事件)执行SQL语句

python插件 - 动态 简单账表 通过SQL存储过程输出列实现动态展示

Python插件 - 将生产订单二开字段携带至下级订单上 

Python插件 - 单据转换插件-WebApi下推单据 自定义入参插件 

简单Python插件 - 点击菜单弹窗动态表单录入数据返回父窗体 

Python插件 - 【服务插件】取文本字段值赋值基础资料字段

Python插件 - 保存、审核、提交 发送请求传输至第三方系统


作者:敏蝶老李头

来源:金蝶云社区

原文链接:https://vip.kingdee.com/article/452432069977609216?productLineId=1&lang=zh-CN

著作权归作者所有。未经允许禁止转载,如需转载请联系作者获得授权。


标签: none

添加新评论