
# 对接第三方系统常用方式
# 代码
``` python
#项目: 服务插件 - socket对接
#作者: 老李头(Dean)
import clr
clr.AddReference("System")
clr.AddReference("System.Core")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.App")
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.ComponentModel import *
from System.Net import *
from System.Net.Sockets import *
from System.IO import *
from System.Linq import *
from System.Text import *
from Newtonsoft.Json import *
from Newtonsoft.Json.Linq import *
def AfterExecuteOperationTransaction(e):
billid="";
Billno = "";
this.OperationResult.IsShowMessage = True; #弹出操作结果
server = "127.0.0.1"; #IP地址
ServerPort = 9000; #端口
#保存之后 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(); #单据编号
#发送数据
SendResult = SocketSend(server, ServerPort, JsonConvert.SerializeObject(obj));
result = OperateResult();
result.PKValue = billid;
result.Number = Billno;
result.