}
}
//结束本次调用,释放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