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

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

}

}

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

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

7. 获取返回结果

1) 获取BO对象

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

BusinessObject DomHeadRet = broker.GetBoParam(\

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

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

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

DateTime dpodate = Convert.ToDateTime(DomHeadRet[0][\日期,DateTime类型 string cpoid = Convert.ToString(DomHeadRet[0][\订单编号,string类型 ??

/***************************** 以下是非必输字段 ****************************/ string ipresent = Convert.ToString(DomHeadRet[0][\现存量,string类型 DateTime cmaketime = Convert.ToDateTime(DomHeadRet[0][\制单时间,DateTime类型 ??

注意:

2)

获取普通返回值

代码如下:

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

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

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

如,

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

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

2.2.2 销售管理

? 功能介绍

为了支持U8二次开发对业务单据的开发,本功能提供了实现销售业务单据各种操作功能的编程接口。使用销售管理API开发接口,可以完成销售管理的销售报价单、销售订单、销售发货单、销售退货单、销售普通发票、销售专用发票、委托代销发货单、委托代销结算单、销售调拨单等单据的审核、弃审、获取、新增、修改、删除。

? 使用环境

必须安装.NET FrameWork 2.0; 必须安装U8-872版本的销售管理产品; 必须安装API适配器组件SAAPIConcrete.dll;

? 接口说明

销售管理二次开发接口及参数说明: ? 审核或弃审单据-Audit方法

参数:

domHead —— 单据表头,DOM对象,必输 bVerify —— 审核/弃审标志,必输。true表审核;false表弃审 API上下文:

VoucherType —— 单据类型,必输。具体类型参看API上下文描述

? 删除单据-Delete方法

参数:

domHead —— 单据表头,DOM对象,必输 API上下文:

VoucherType —— 单据类型,必输。具体类型参看API上下文描述

? 装载单据-Load方法

参数:

domHead —— 单据表头,DOM对象,必输 domBody —— 单据表体,DOM对象,必输 VouchID —— 需要装载的单据号,可选 blnAuth —— 是否控制权限:true

API上下文:

VoucherType —— 单据类型,必输。具体类型参看API上下文描述

? 新增或修改单据-Save方法

参数:

domHead —— 单据表头,DOM对象,必输 domBody —— 单据表体,DOM对象,必输 VoucherState —— 保存状态,必输。0增加;1修改 VNewID —— 单据的id,可选 DomConfig —— ATO,PTO选配配置,必输,可设置为nothing API上下文:

VoucherType —— 单据类型,必输。具体类型参看API上下文描述

? 开发步骤

实现销售单据某一功能,主要有以下七个步骤: 1. 构造u8login对象并登陆

声明和创建u8login类对象前应该先引用U8API类库中的Interop.U8Login.dll,代码示例如下:

U8Login.clsLogin u8Login = new U8Login.clsLogin(); //声明u8login对象 String sSubId = \String sYear = \String sUserID = \String sPassword = \String sDate = \String sServer = \String sSerial = \

if(!u8Login.Login(ref sSubId, ref sAccID, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer, ref sSerial))

{

}

Console.WriteLine(\登陆失败,原因:\Marshal.FinalReleaseComObject(u8Login); return;

//登陆

String sAccID = \

如果当前环境中有login对象则可以省去第一步。

2. 构造环境上下文对象,传入login,并按需设置其它上下文参数 U8EnvContext envContext = new U8EnvContext();

envContext.U8Login = u8Login; //设置上下文参数

envContext.SetApiContext(\new int()); //上下文数据类型:int,含义:单据类型

//构造环境上下文对象 //传入login