如何查找和使用U8的APIWord文档格式.docx
- 文档编号:20712832
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:13
- 大小:436.59KB
如何查找和使用U8的APIWord文档格式.docx
《如何查找和使用U8的APIWord文档格式.docx》由会员分享,可在线阅读,更多相关《如何查找和使用U8的APIWord文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
>
<
/param>
result"
publicstaticvoidAddSO_SOMain(U8Login.clsLoginu8Login,Stringid,refstringvNewIDRet)
{
//第二步:
构造环境上下文对象,传入login,并按需设置其它上下文参数
U8EnvContextenvContext=newU8EnvContext();
envContext.U8Login=u8Login;
//销售所有接口均支持内部独立事务和外部事务,默认内部事务
//如果是外部事务,则需要传递ADO.Connection对象,并将IsIndependenceTransaction属性设置为false
//envContext.BizDbConnection=newADO.Connection();
//envContext.IsIndependenceTransaction=false;
//设置上下文参数
envContext.SetApiContext("
VoucherType"
12);
//上下文数据类型:
int,含义:
单据类型:
12
//第三步:
设置API地址标识(Url)
//当前API:
新增或修改的地址标识为:
U8API/SaleOrder/Save
U8ApiAddressmyApiAddress=newU8ApiAddress("
U8API/SaleOrder/Save"
);
//第四步:
构造APIBroker
U8ApiBrokerbroker=newU8ApiBroker(myApiAddress,envContext);
//第五步:
API参数赋值
//给BO表头参数domHead赋值,此BO参数的业务类型为销售订单,属表头参数。
BO参数均按引用传递
//提示:
给BO表头参数domHead赋值有两种方法
//方法一是直接传入MSXML2.DOMDocumentClass对象
//broker.AssignNormalValue("
domHead"
newMSXML2.DOMDocumentClass())
ADODB.Connectionconn=newADODB.ConnectionClass();
ADODB.Recordsetrs=newADODB.RecordsetClass();
MSXML2.DOMDocumentdomhead=newMSXML2.DOMDocumentClass();
stringstrConn=string.Format("
Provider=SQLOLEDB;
InitialCatalog={0};
DataSource={1};
"
"
UFData_"
+u8Login.get_cAcc_Id()+"
_"
+u8Login.cIYear,u8Login.dbServerName);
conn.Open(strConn,"
sa"
u8Login.SysPassword,0);
stringsql="
selecttop1*fromSaleOrderQwhereid='
+id+"
'
;
rs.Open(sql,conn,ADODB.CursorTypeEnum.adOpenForwardOnly,ADODB.LockTypeEnum.adLockOptimistic,-1);
rs.Save(domhead,ADODB.PersistFormatEnum.adPersistXML);
U8APIHelper.FormatDom(refdomhead,"
A"
broker.AssignNormalValue("
DomHead"
domhead);
domhead.selectSingleNode("
//rs:
data/z:
row"
).attributes.getNamedItem("
id"
).nodeValue="
MSXML2.DOMDocumentdomBody=newMSXML2.DOMDocumentClass();
//domBody.RowCount=1;
ADODB.Connectionconn1=newADODB.ConnectionClass();
ADODB.Recordsetrs1=newADODB.RecordsetClass();
stringstrConn1=string.Format("
conn1.Open(strConn,"
sql="
selecttop1*fromSaleOrderSQwhereid='
rs1.Open(sql,conn,ADODB.CursorTypeEnum.adOpenForwardOnly,ADODB.LockTypeEnum.adLockOptimistic,-1);
rs1.Save(domBody,ADODB.PersistFormatEnum.adPersistXML);
U8APIHelper.FormatDom(refdomBody,"
domBody"
domBody);
domBody.selectSingleNode("
autoid"
//给普通参数VoucherState赋值。
此参数的数据类型为int,此参数按值传递,表示状态:
0增加;
1修改
VoucherState"
0);
//该参数vNewID为INOUT型普通参数。
此参数的数据类型为string,此参数按值传递。
在API调用返回时,可以通过GetResult("
vNewID"
)获取其值
//给普通参数DomConfig赋值。
此参数的数据类型为MSXML2.IXMLDOMDocument2,此参数按引用传递,表示ATO,PTO选配
MSXML2.IXMLDOMDocument2DomConfig=newMSXML2.DOMDocumentClass();
DomConfig"
DomConfig);
//第六步:
调用API
if(!
broker.Invoke())
//错误处理
ExceptionapiEx=broker.GetException();
if(apiEx!
=null)
if(apiExisMomSysException)
MomSysExceptionsysEx=apiExasMomSysException;
Console.WriteLine("
系统异常:
+sysEx.Message);
//todo:
异常处理
}
elseif(apiExisMomBizException)
MomBizExceptionbizEx=apiExasMomBizException;
API异常:
+bizEx.Message);
//异常原因
StringexReason=broker.GetExceptionString();
if(exReason.Length!
=0)
异常原因:
+exReason);
//结束本次调用,释放API资源
broker.Release();
return;
//第七步:
获取返回结果
//获取返回值
//获取普通返回值。
此返回值数据类型为System.String,此参数按值传递,表示成功为空串
stringresult=broker.GetReturnValue()asSystem.String;
//获取out/inout参数值
//获取普通INOUT参数vNewID。
此返回值数据类型为string,在使用该参数之前,请判断是否为空
vNewIDRet=broker.GetResult("
)asstring;
参见附件:
SO_SOMain.cs
如何调用事件插件
客户化开发如果需要在标准单据的保存前后、审核前后、弃审前后等按钮操作时加入个性化逻辑时,则可调用相应的按钮事件插件接口。
a)事件插件位置:
事件分为同步插件和异步插件,所谓同步插件就是指插件接口逻辑包含在平台事件的事务中;
所谓异步插件就是指插件接口逻辑不包含在平台事件的事务中,插件的逻辑执行情况不影响平台的事件操作。
b)插件事件描述
选择事件,右键,可以查看插件事件描述,如下图所示:
在事件描述中描述了事件接口方法名(例如:
Save_Before),参数个数、参数名称(domhead、dombody、ermsg),参数类型。
参考附件:
U8api
c)如何调用事件插件
以调用销售订单保存前同步插件为例:
右键同步插件――所有任务――注册同步插件
输入插件编码、插件名称,进入插件绑定页签:
勾选“修改”在下拉框中选择插件类型(本例以MSDCOM为例):
选择dll路径、类名、方法名,如下图所示:
点击“自动匹配”按钮进行测试,如果测试成功则完成插件注册。
本文以VB代码为例,注册销售订单保存前事件插件。
销售订单保存前事件插件
PublicFunctionAudit_After(domhAsDOMDocument,dombAsDOMDocument,erstrAsString)AsBoolean
MsgBox"
OK"
domh.save"
E:
\ZYR\XML\付款单_domh.xml"
domb.save"
\ZYR\XML\付款单_domb.xml"
IfMsgBox("
保存后插件接口插件接口Audit_After配置成功"
vbYesNo)=vbYesThen
Audit_After=True
Else
Audit_After=False
EndIf
EndFunction
登录U8,新增销售订单,点击保存按钮,弹出对话框如下图所示:
在指定目录下生成的销售订单表头、表体的XML文件,如下图所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何查找 使用 U8 API