U8API开发手册(C#版) 联系客服

发布时间 : 星期三 文章U8API开发手册(C#版)更新完毕开始阅读55e38b25770bf78a642954a3

DomHead[0][\主关键字段,int类型 DomHead[0][\盘点单号,string类型 DomHead[0][\盘点日期,DateTime类型 DomHead[0][\账面日期,DateTime类型 DomHead[0][\盘点仓库,string类型 ??

/***************************** 以下是非必输字段 ****************************/ DomHead[0][\修改人,string类型 DomHead[0][\修改日期,DateTime类型 DomHead[0][\制单时间,DateTime类型 DomHead[0][\修改时间,DateTime类型 DomHead[0][\审核时间,DateTime类型

??

2) 给普通参数赋值

例如,给普通参数sVouchType(参数名)赋值:

broker.AssignNormalValue(\

注意:所有参数名不限大小写。

3) 给“OUT型”参数赋值

为方便用户使用U8API,如果参数数据类型为一般值类型,如String、Integer、Long、Single、Double、Boolean、Date,则不必传入一个参数变量(传入也可);否则,则必须一个参数变量。

如: ??

// 该参数errMsg为OUT型参数,由于其数据类型为System.String,为一般值类型,因此不必传入一个参数变量。在API调用返回时,可以通过GetResult(\获取其值

//该参数domMsg为OUT型参数,由于其数据类型为MSXML2.IXMLDOMDocument2,非一般值类型,因此必须传入一个参数变量。在API调用返回时,可以直接使用该参数

MSXML2.IXMLDOMDocument2 domMsg = new MSXML2.IXMLDOMDocument2(); broker.AssignNormalValue(\

??

注意:当不传入一个参数变量时,在API调用返回时,可以通过GetResult(参数名)获取其值;当不必传入一个参数变量时,在API调用返回时,可以直接引用该参数。

4) 给“INOUT型”参数赋值

对“INOUT型”型参数,则不论是否是一般值类型,都需要传入参数变量。其他与“OUT型”参数一样。

6. 调用API

//示例调用如下:

if (!broker.Invoke())

{ }

注意:对调用失败,可以获取出错信息,如果是API框架的原因,则报告MomSysException异常,如果是业务组件的原因,则报告MomBizException异常。

//错误处理

Exception apiEx = broker.GetException(); if (apiEx != null) { }

//结束本次调用,释放API资源 broker.Release(); return;

if (apiEx is MomSysException) { }

else if (apiEx is MomBizException) { }

MomBizException bizEx = apiEx as MomBizException; Console.WriteLine(\异常:\//todo:异常处理

MomSysException sysEx = apiEx as MomSysException; Console.WriteLine(\系统异常:\//todo:异常处理

7. 获取返回结果

1) 获取BO对象

在“装载单据”时,通过GetBoParam方法获取表头或表体参数

BusinessObject DomHeadRet = broker.GetBoParam(\

Console.WriteLine(\对象行数为:\获取BO对象的行数 如果要取原始的XMLDOM对象结果,请使用GetResult(\MSXML2.DOMDocument DomHeadRet = broker. GetResult(\以上获取的行数是BO对象的实际行数。

//获取BO对象各字段的值。以下代码示例只取第一行。字段定义详见API服务接口定义

/****************************** 以下是必输字段 ****************************/ int id = Convert.ToInt32(DomHeadRet[0][\主关键字段,int类型

string ccvcode = Convert.ToString(DomHeadRet[0][\盘点单号,string类型 DateTime dcvdate = Convert.ToDateTime(DomHeadRet[0][\盘点日期,DateTime类型 DateTime dacdate = Convert.ToDateTime(DomHeadRet[0][\账面日期,DateTime类型 string cwhname = Convert.ToString(DomHeadRet[0][\盘点仓库,string类型

注意:

??

/***************************** 以下是非必输字段 ****************************/

string cmodifyperson = Convert.ToString(DomHeadRet[0][\修改人,string类型 DateTime dmodifydate = Convert.ToDateTime(DomHeadRet[0][\修改日期,DateTime类型

DateTime dnmaketime = Convert.ToDateTime(DomHeadRet[0][\制单时间,DateTime类型

DateTime dnmodifytime = Convert.ToDateTime(DomHeadRet[0][\//修改时间,DateTime类型

DateTime dnverifytime = Convert.ToDateTime(DomHeadRet[0][\//审核时间,DateTime类型 ??

2)

获取普通返回值

代码如下:

//获取普通返回值。此返回值数据类型为System.String,此参数按值传递,具体请参考服务接口定义 System.String result = broker.GetReturnValue() as System.String; 3)

获取普通“OUT型”或“INOUT型”返回值

如前所述,对普通“OUT型”或“INOUT型”参数,如果是一般值类型,则通过GetResult方法获取其返回值,否则直接使用该引用。

如,

//获取普通OUT参数domPos。此返回值数据类型为MSXML2.IXMLDOMDocument2,前面已定义该参数,请直接使用

//获取普通OUT参数errMsg。此返回值数据类型为System.String,在使用该参数之前,请判断是否为空 System.String errMsgRet = broker.GetResult(\??