U8API开发手册(VB版).doc

上传人:scccc 文档编号:14903370 上传时间:2022-02-23 格式:DOC 页数:39 大小:298.50KB
返回 下载 相关 举报
U8API开发手册(VB版).doc_第1页
第1页 / 共39页
U8API开发手册(VB版).doc_第2页
第2页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《U8API开发手册(VB版).doc》由会员分享,可在线阅读,更多相关《U8API开发手册(VB版).doc(39页珍藏版)》请在三一文库上搜索。

1、 U8API开发手册 作者:商平锋 版权所有:用友软件股份有限公司 1. 简介 U8API是为U8客户化应用开发提供的一套标准化的 U8ERP业务编程接口。是 U8UAP二 次开发体系的重要组成部分。它包括一整套涵盖 U8ERP采购、销售、库存、制造(规划中)、 财务(规划中)、基本档案(规划中)等业务模块的 API接口资源。U8API的推出为U8标准 产品更好的适应用户的个性化需求,更好的实现客户化交付提供了有力支持。 U8API按照U8ERP业务产品模块进行分类,并以 U8主要业务实体(单据、档案、凭证) 作为操作对象, 提供了常用的基本操作。 比如:对于库存的收发单据, 提供“新增”、“

2、审核”、 “弃审”、“删除”、“装载”、“修改”六个API接口。目前,U8API提供了供应链采购、销售、 库存三个产品的所有单据的增删改、 审核/弃审等 API 接口, 后续版本会逐步将制造、 财务、 基本档案等模块的 API 纳入进来。 U8API通过“U8API资源管理器”对U8范围内所有API进行集中统一分类管理, 形成了 一套完整的 U8API 资源库。 U8API 的使用者可以使用“ U8API 资源管理器”浏览、查看 API 及其接口定义,并可辅助进行代码生成 (目前支持C#和VB语言);API的开发者可以通过此 工具发布、注册 API,所有业务API都必须在“ U8API资源管理

3、器”中进行注册。 U8API 还提供了一套运行时调用框架 U8APIBroker 。 它是所有 U8API 的调用代理, 用户要使用某个 API 只需调用 U8APIBroker 即可,无需直接访问真正的 API。 U8APIBroker 作为一个服务代理中间件, 起到了隔离 API 的提供者与使用者的作用, 降低了耦合依赖关系。 U8API与U8EAI接口从功能上看比较相识,但它们的特性有差别。 U8API采用传统的编 程模型, 更靠近底层, 业务逻辑粒度更细, 而且还需要或依赖一些特定的上下文环境, 比如: login、事务等;而U8EAI接口则是完全松耦合的,采用 XML和请求/响应的消

4、息传递模式, 且业务粒度比较粗放。这些特性的差别决定了它们的应用领域不同, U8API更适合于U8内 部的功能扩展和客户个性化开发,而 U8EAI则适合外部系统与 U8之间以业务数据交换为特 征的应用集成开发。应用 2.1. API 总体应用过程 2.1.1 API 浏览查找 在“开始”- “程序”- “用友ERP-U8 - “ UAP目录下找到“ U8API资源管理器”, 单击,登录,进入“ U8API资源管理器”。在左侧 “ U8API”树形节点下,找到某某模块, 如“库存管理”模块(可以看到下面列有很多个单据,如盘点单、采购入库单等) ,展开要 操作的单据,分两个子节点: “事件”和“服

5、务接口” ,在“服务接口”下可以看到该单据提 供的API接口,如“添加新单据”、“审核单据”等。双击这些节点出现该 API的详细描述, 如下图所示。在节点上右键单击弹出“上下文菜单” ,在“代码示例”菜单项上弹出下一级 子菜单,单击它们,如单击“ VB代码示例”则可以看到调用该 API的VB示例代码,如下图 所示。直接拷贝这些代码,然后在集成开发环境( IDE)中编辑和编译这些代码,即能实现 调用U8标准API。禾U用这些代码示例时,请按照其中每一步骤的提示说明正确操作,如添 加必要的引用、按照自动生成的代码填入正确的参数等。 正确使用则可以调用成功, 否则会 返回详细的错误信息。 以下代码中

6、均以 VB为例,C#语言请具体查看对应的 C#弋码示例部分。 图2.1接口描述 图代码示例 2.1.2 API 调用过程 组件引用 针对两种语言,需要引用不同的组件。 (1) VB: %U8SOFT%UFMOMU8APIFramework %U8SOFT%UFMOMU8APIFramework tlb 、%U8SOFT%UFMOMU8APIFramework tlb、 添加 Microsoft XML 引用 如下图、所示。 2) C#: 、%U8S0FT% 如下图、 所示。 其中,U8S0FT%示U8-872的安装目录。 图 添加 对 U8API 框架类库引用 (.tlb) 图 添加 Micr

7、osoft XML 引用 图 2 添加对引用 图 添加对引用 图 添加对 U8API 框架类库引用( .dll ) API 调用 添加必要的引用后,可以直接利用自动生成的代码示例(支持 VB和C#两种语言),结 合API接口详细描述,填入必要的参数值,就可以调用 U8 API。 总体上,对U8 API的调用分成六个步骤: 1) 构造u8login 对象并登陆; tlb 2) 构造环境上下文对象,传入 login,并按需设置其它上下文参数; 3) 构造APIBroker,调用Connect,传入API地址标识(Url)和环境上下文; 4) API参数赋值; 5) 调用API ; 6) 获取返回结

8、果。 详细的API调用过程请看下文“ API内容”中各个模块中介绍的“开发步骤” 。 下面重点介绍几个关键要点和步骤:环境上下文、 API地址、APIBroker、普通参数赋 值、B0参数赋值。 环境上下文 环境上下文指在调用 U8API时需要初始化的调用环境,包括 Login、事务、特殊的业务 参数等。环境上下文被初始化后,相关的环境参数会被业务 API使用。 Dim u8EnvCtx As New U8EnvContext Login 需要将U8Login对象传递给环境上下文, U8Login对象必须已经登录过。 Set = ologin 事务 如果需要由外部发起事务, 则可以发起事务的

9、ADOConnection对象传递给环境上下文: Set = new () 同时需要设置一个外部事务标记: true 特殊业务参数 特殊业务参数指调用某些 API需要设置的特定上下文参数,比如:销售的API必须要设 置如VoucherType上下文参数,设置方法为: VoucherType, 23 API 地址 API地址是指 API在U8API系统中的唯一标识,也叫 API的URI,通过该标识唯一确定 一个U8API。如,API地址U8API/SaleOrder/Save 代表销售订单中的“新增或修改”这样一个 API 接口。 APIBroker APIBroker是所有U8API的调用代理

10、接口。使用 U8所有API都必须通过 APIBroker间 接调用。APIBroker作为一个服务代理中间件,起到了隔离 API的提供者与使用者的作用, 降低了耦合依赖关系。调用API的时候,需要首先创建一个 APIBroker,然后调用其Connect, 传入API地址和环境上下文: Dim u8apiBroker As New U8ApiComBroker U8API/SaleOrder/Save , u8EnvCtx 普通参数赋值 API参数分两种类型:B0参数和普通参数。普通参数是指非单据表头 /表体类型的参数, 包括基本类型参数(Stri ng、In teger 等)、知名对象参数(

11、Conn ection、DOMDocumer等)。 普通参数的赋值采用如下方式: VoucherState , 2 B0 参数赋值 B0参数即单据表头或表体类型的参数。对 B0参数,支持两种方式传入,一种传 B0对 象,另一种传DOM寸象。以下分别介绍: 传B0对象 给BO表头参数或表体参数赋值,推荐使用 B0对象(Buss in essObject )。 例如: Dim domHead As BusinessObject Set domHead = ( domHead) =1;设置行数,不设置也可 给 BO 对象的字段赋值,值可以是真实类型,也可以是无类型字符串 以下代码示例只设置第一行值。

12、各字段定义详见 API 服务接口定义 在此种情况下 U8API框架会对BO对象各字段进行参数校验。对字段进行赋值时,值可 以是真实类型,也可以是无类型的字符串。 传DOM寸象 给BO表头参数或表体参数赋值,也支持直接传入 DOM寸象(DOMDocument 例如: Dim domHead As New domHead(O).SetValue poid,; 主关键字段, Integer 类型 domHead(O).SetValue dpodate, ;日期,Date 类型 domHead(O).SetValue cpoid, ; 订单编号, String 类型 I * 以下是必输字段 * I *

13、 以下是非必输字段 * domHead(O).SetValue ipresent, 现存量,String 类型 domHead(0).SetValue cmaketime, 制单时间,Date 类型 domHead(0).SetValue cmodifytime, 修改时间,Date 类型 domHead, domHead 但是,在此种情况下 U8 API框架不会对DOM寸象进行参数验证。请在使用该方法之前, 确保DOM寸象的正确性。 2.1.3 API 典型应用场景 执行单一操作 单一操作指一项任务只需要一个 API完成,比如:单据新增、审核 /弃审、删除等单一 操作。这是API调用最常见的

14、场景,只需按照 API的接口规范构造参数直接调用即可。 执行复合操作 复合操作,即一项任务由多个 API的协作来完成。比如,自定义的单据维护界面的主要 逻辑,一般由以下四个步骤构成: 1) 加载单据; 2) 在编辑界面上显示; 3) 用户修改单据字段; 4) 提交保存。 以上步骤需要进行两次 API调用: 1) 加载单据时候调用“加载 API”,以获取单据B0对象(或原始DOM寸象)并在界面 上展现; 2) 用户在修改单据时其实就是在修改 BO对象,用户保存单据时调用“保存 API”,此 时要将此BO对象传给“保存API”(而不用构造新的 BO对象)。 代码示例 (1)首先,登陆; 构造 u8

15、login 对象并登陆 Dim ologin As Object Set ologin = CreateObject () If Not ( AS, (default)001 , 2008, demo, , 2008-7-7 , localhost ) Then MsgBox 然后,通过LOAD接口获取B0对象; 构造环境上下文对象,传入 login ,并按需设置其它上下文参数 Dim u8EnvCtx As New U8EnvContext Set = ologin 设置上下文参数 VoucherType, 上下文值 构造 APIBroker, 调用 Connect, 传入 Api 的地址标

16、识 (Url) ,传入上下文 Dim u8apiBroker As New U8ApiComBroker “装载单据的地址标识” , u8EnvCtx API 参数赋值 参数名 , 参数值 调用 LOA 接口 API If () = False Then 错误处理 MsgBox() If = ExceptionType_Business Then 处理 API 业务错误 ElseIf = ExceptionType_System Then 处理系统错误 End If Else 获取返回结果 获取表头或表体的 BO 寸象,如果要取原始的 XMLDOM 象结果,请使用 GetResult(参数名)

17、 Dim domHeadOrBodyRet As BusinessObject Set domHeadOrBodyRet = ( 表头或表体参数名 )MsgBox 获取返回 BO 对象的行数 End If (3)接着,BO对象经用户修改重新赋值,并传递给UPDATED口提交保存; 修改获取的 BO 对象,对需要更改的字段重新赋值 domHeadOrBodyRet(0).SetValue 字段名 ,新的字段值 重传入新“新增或修改API 的地址标识和环境上下文 新增或修改” API 的地址标识,u8EnvCtx 表头或表体参数赋值 表头或表体参数名 , domHeadOrBodyRet API

18、参数赋值 参数名 , 参数值 调用 UPDAT 接口 API If () = False Then End If (4) 最后,获取返回结果。 获取普通返回值 Dim result As String result = CStr () 获取 out/inout 参数值 结束本次调用,释放 API 资源 Set u8apiBroker = Nothing 22 API 内容 221 采购管理 功能介绍 为了支持U8二次开发对业务单据的开发,本功能提供了实现采购业务单据各种操作功 能的编程接口。使用采购管理的API开发接口,可以对库存管理中的采购到货单、 采购普通 发票、采购专用发票、采购订单、请

19、购单、采购运费发票等单据进行审核、弃审、获取(或 装载)、新增、修改、删除。 使用环境 必须安装.NET FrameWork ; 必须安装U8-872版本的采购管理产品; 必须安装API适配器组件 接口说明 采购管理二次开发接口说明: 审核单据-ConfirmPO方法 参数: domHead 单据表头,DOM寸象,必输 API上下文: VoucherType - 单据类型,具体类型参看 API上下文描述 bPositive 红蓝标识:True,蓝字;False,红字 sBillType 为空串 sBusType -业务类型:普通米购,直运米购,受托代销 弃审单据-CancelconfirmPO

20、 方法 参数: domHead 单据表头,DOM寸象,必输 API上下文: VoucherType -单据类型,具体类型参看 API上下文描述 bPositive 红监标识:True,监子 ;False,红子 sBillType -为空串 sBusType -业务类型:普通采购,直运采购,受托代销 装载单据-Load方法 参数: DomHead -表头DOM寸象 domBody -表体DOM寸象 strWhere -过滤条件串 varVoucherlD -单据主表ID strLocateWhere -疋位条件串 API上下文: VoucherType -单据类型,具体类型参看 API上下文描述

21、 bPositive 红监标识:True,监子 ;False,红子 sBillType -为空串 sBusType -业务类型:普通采购,直运采购,受托代销 删除单据-Delete方法 参数: DomHead 表头DOM寸象 domBody 表体DOM寸象 CurDom 返回DOM格式错误信息 API上下文: VoucherType 单据类型,具体类型参看 API上下文描述 bPositive 红监标识:True,监子 ;False,红子 sBillType 为空串 sBusType 业务类型:普通采购,直运采购,受托代销 新增或修改新单据 -VoucherSave 方法 参数: DomHea

22、d 单据表头,DOM寸象,必输 domBody 单据表体,DOM寸象,必输 VoucherState 保存状态,必输。2增加;1修改;0非编辑 curID 返回单据头ID CurDom 返回DOM格式错误信息 UserMode 使用模式,0: CS; 1:BS API上下文: VoucherType 单据类型,具体类型参看 API上下文描述 bPositive 红监标识:True,监子 ;False,红子 sBillType 为空串 sBusType 业务类型:普通采购,直运采购,受托代销 开发步骤 调用采购单据某一 API, 主要有以下六个步骤: 1. 构造u8login对象并登陆 声明和创

23、建u8login类对象前应该先引用 U8API类库中的,代码示例如下: Dim ologin As Object Set ologin = CreateObject () 声明 u8login 对象 登陆 If Not ( AS, (default)001 , 2008 , demo , , 2008-7-7 , localhost ) Then MsgBox 注意:如果当前环境中有 login 对象则可以省去第一步。 2 构造环境上下文对象,传入 login ,并按需设置其它上下文参数 Dim u8EnvCtx As New U8EnvContext 构造环境上下文对象 Set = olog

24、in 传入 login 设置上下文参数 VoucherType , 上下文值 上下文数据类型: int ,含义:单据类型,采购订单 bPositive , 上下文值 上下文数据类型: bool ,含义:红蓝标识: True, 蓝字 sBillType , 上下文值 上下文数据类型: string ,含义:为空串 sBusType , 上下文值 上下文数据类型: string ,含义:业务类型:普通采购 ,直运采购, 受托代销 注意:如果是外部事务,则需要传递对象,并将 IsIndependenceTransaction 设置为 true : Set = new () = true 3 构造 A

25、piBroker 对象 , 调用 Connect, 传入 API 的地址标识 (Url) 和环境上下文 Dim u8apiBroker As New U8ApiComBroker U8API/PurchaseOrder/VoucherSave , u8EnvCtx 4 API 对象参数赋值 1) 给BC表头参数DomHeac或表体参数domBody赋值有两种方法,如下 方法一是直接传入对象,代码如下: Dim domHead As New DomHead, domHead 方法二是构造 BusinessObject 对象,具体方法如下: 首先通过 GetBoParam 方法获取表头或表体参数

26、Dim DomHead As BusinessObject Set DomHead = ( DomHead) = 1 设置行数 给 BO 寸象的字段赋值,值可以是真实类型,也可以是无类型字符串 以下代码示例只设置第一行值。各字段定义详见 API 服务接口定义 注意:表体的行数只能为一行,可以对表体设置多行。当设置行数为某个值时,行数并不限定为该最 大值,可以一直顺序添加至任意行,但有一个规则:例如当设置为 10 时,可以对第 0、1、9 行赋值,当 对第 10 行赋值时候,则会顺序添加一个新行,但此时是不能对第 11 行赋值的,当添加一个新行(第 10 行) 后,又可以对第 11 行进行赋值。

27、 DomHead(0).SetValue poid, 字段值 主关键字段, Integer 类型 DomHead(0).SetValue cbustype, 字段值 业务类型, String 类型 DomHead(0).SetValue dpodate, 字段值日期,Date 类型 DomHead(0).SetValue cpoid, 字段值 订单编号, String 类型 I * 以下是必输字段 *1 I * 以下是非必输字段 *1 DomHead(0).SetValue ipresent, 字段值 DomHead(0).SetValue cmaketime, 字段值制单时间,Date 类型

28、 DomHead(0).SetValue cmodifytime, 字段值 修改时间, Date 类型 2) 给普通参数赋值 例如, 给普通参数 VoucherState (参数名)赋值。此参数的数据类型为 Integer ,此参数按值传递,具体请 参考服务接口定义 VoucherState , 参数值 参数类型: Integer 注意:所有参数名不限大小写。 3)给“ OUT型”参数赋值 为方便用户使用 U8API,如果参数数据类型为一般值类型,如 String、Integer、Long、 Double 、 Boolean 、 Date 等,则不必传入一个参数变量(传入也可) ;否则,则必须

29、一个参 数变量。 如: 该参数 curlD 为 OU 型参数,由于其数据类型为 String,为一般值类型,因此不必传入一个参数变量。 在 API 调用返回时,可以通过 GetResult(curlD) 获取 该参数 CurDomfeOUT 型参数,由于其数据类型为,非一般值类型,因此必须传入一个参数变量。在 API 调用返回时,可以直接使用该参数 Dim CurDom As New CurDom, CurDom 参数类型: 当不传入一个参数变量时,在 API调用返回时,可以通过 GetResult(参数名)获取其值; 当不必传入一个参数变量时,在 API调用返回时,可以直接引用该参数。 4)

30、 给“ INOUT型”参数赋值 现存量, String 类 对“ INOUT型”型参数,则不论是否是一般值类型,都需要传入参数变量。其他与 型”参数一样。 5 调用 API If () = False Then 错误处理 MsgBox() If = ExceptionType_Business Then 处理 API 业务错误 ElseIf = ExceptionType_System Then 处理系统错误 End If 注意:对调用失败,可以获取出错信息,如果是 API 框架的原因,则报告 MomSysException 异常, 如果是业务组件的原因,则报告 MomBizException

31、 异常。 6 获取返回结果 1) 获取BO对象 在“装载单据”时,通过 GetBoParam 方法获取表头或表体参数 Dim DomHeadRet As BusinessObject Set DomHeadRet = ( DomHead) MsgBox 获取返回 BO 寸象的行数 注意: 如果要取原始的 XMLDC 对象结果,请使用 GetResult(DomHead) Dim DomHeadRet As New Set DomHeadRet = u8apiBroker. GetResult ( DomHead) OUT 以上获取的行数是 BC 对象的实际行数。 获取 BO 对象各字段的值。以

32、下代码示例只取第一行。字段定义详见API 服务接口定义 I* 以下是必输字段 *1 Dim poidRet As Integer poidRet = CInt(DomHeadRet(0).GetValue(poid) 主关键字段, Integer 类型 Dim cbustypeRet As String cbustypeRet = CStr(DomHeadRet(0).GetValue(cbustype) 业务类型, String 类型 Dim dpodateRet As Date dpodateRet = CDate(DomHeadRet(0).GetValue(dpodate) 日期, D

33、ate 类型 Dim ipresentRet As String ipresentRet = CStr(DomHeadRet(0).GetValue(ipresent) 现存量, String 类型 Dim cmaketimeRet As Date cmaketimeRet = CDate(DomHeadRet(0).GetValue(cmaketime) 制单时间, Date 类型 Dim cmodifytimeRet As Date cmodifytimeRet = CDate(DomHeadRet(0).GetValue(cmodifytime) 修改时间, Date 类型 2) 获取普

34、通返回值 代码如下: 获取普通返回值。此返回值数据类型为 String ,此参数按值传递,具体请参考服务接口定义 Dim result As String result = CStr () 3) 获取普通“ OUT 型”或“ INOUT 型”返回值 如前所述,对普通“ OUT 型”或“ INOUT 型”参数,如果是一般值类型,则通过 GetResult 方法获取其 返回值,否则直接使用该引用。I* 以下是非必输字段 *1 如, 获取普通 0U 参数 curlD。此返回值数据类型为 String,在使用该参数之前,请判断是否为空 Dim curlDRet As String curlDRet =

35、 CStr(curlD) 获取普通 OUT 参数 CurDom 此返回值数据类型为,前面已定义该参数,请直接使用 2.2.2 销售管理 功能介绍 为了支持U8二次开发对业务单据的开发,本功能提供了实现销售业务单据各种操作功 能的编程接口。使用销售管理 API开发接口,可以完成销售管理的销售报价单、销售订单、 销售发货单、销售退货单、销售普通发票、销售专用发票、委托代销发货单、委托代销结算 单、销售调拨单等单据的审核、弃审、获取、新增、修改、删除。 使用环境 必须安装.NET Framework ; 必须安装U8-872版本的销售管理产品; 必须安装API适配器组件; 接口说明 销售管理二次开发

36、接口及参数说明: 审核或弃审单据-Audit方法 参数: domHead 单据表头,DOM寸象,必输 bVerify 审核/弃审标志,必输。true表审核;false 表弃 审 API上下文: VoucherType - 单据类型,必输。具体类型参看 API上下文描述 删除单据-Delete方法 参数: domHead 单据表头,DOM寸象,必输 API上下文: VoucherType - 单据类型,必输。具体类型参看 API上下文描述 装载单据-Load方法 参数: domHead 单据表头,DOM寸象,必输 domBody 单据表体,DOM寸象,必输 VouchID 需要装载的单据号 可选

37、 需要装载的单据号,可选 bln Auth 是否控制权限:true API上下文: 新增或修改单据-Save方法 参数: domHead 单据表头,DOM寸象,必输 domBody 单据表体,DOM寸象,必输 VoucherState - 保存状态,必输。 0增加;1修改 VNewID 单据的id,可选 DomCo nfig - ATO,PTO选配配置,必输,可设置为 noth ing API上下文: VoucherType - 单据类型,必输。具体类型参看 API上下文描述 开发步骤 调用销售单据某一 API,主要有以下六个步骤: 1. 构造u8login对象并登陆 声明和创建u8login

38、类对象前应该先引用 U8API类库中的,代码示例如下: Dim ologin As Object Set ologin = CreateObject () 声明 u8login 对象 登陆 If Not ( AS, (default)OO1 , 2008 , demo, , 2008-7-7 , localhost ) Then MsgBox 注意:如果当前环境中有 login 对象则可以省去第一步。 2. 构造环境上下文对象,传入 login,并按需设置其它上下文参数 VoucherType 单据类型,必输。具体类型参看 API上下文描述 Dim u8EnvCtx As New U8EnvC

39、ontext 设置上下文参数 VoucherType , 上下文值 上下文数据类型: int ,含义:单据类型: 12 注意:如果是外部事务,则需要传递对象,并将 IsIndependenceTransaction 设置为 true : Set = new () = true 3 构造 ApiBroker 对象 , 调用 Connect, 传入 API 的地址标识 (Url) 和环境上下文 Dim u8apiBroker As New U8ApiComBroker U8API/SaleOrder/Save , u8EnvCtx 4 API 对象参数赋值 1) 给BO表头参数DomHea(或表体

40、参数domBody赋值有两种方法,如下: 方法一是直接传入对象,代码如下: Dim domHead As New III! DomHead, domHead 方法二是构造 BusinessObject 对象,具体方法如下: 首先通过 GetBoParam 方法获取表头或表体参数 Dim DomHead As BusinessObject Set DomHead = ( DomHead) = 1 设置行数 给 BO 寸象的字段赋值,值可以是真实类型,也可以是无类型字符串 构造环境上下文对象 Set = ologin 传入 login 以下代码示例只设置第一行值。各字段定义详见 API 服务接口定

41、义 注意:表体的行数只能为一行,可以对表体设置多行。当设置行数为某个值时,行数并不限定为该最 大值,可以一直顺序添加至任意行,但有一个规则:例如当设置为 10 时,可以对第 0、1、9 行赋值,当 对第 10 行赋值时候,则会顺序添加一个新行,但此时是不能对第 11 行赋值的,当添加一个新行(第 10 行) 后,又可以对第 11 行进行赋值。 1 * 以下是必输字段 domHead(0).SetValue id, 字段值 主关键字段, Integer 类型 domHead(0).SetValue csocode, 字段值 订 单 号, String 类型 domHead(0).SetValue

42、 ddate, 字段值 订单日期, Date 类型 2) 给普通参数赋值 例如, 给普通参数 VoucherState (参数名)赋值。此参数的数据类型为 参考服务接口定义 VoucherState , 参数值 参数类型: Integer 注意:所有参数名不限大小写。 3) 给“OUT型”参数赋值 为方便用户使用 U8API,如果参数数据类型为一般值类型,如 String、Integer、Long、 Double 、 Boolean 、 Date 等,则不必传入一个参数变量(传入也可) ;否则,则必须一个参 数变量。 I * domHead(0).SetValue fstockquanO, d

43、omHead(0).SetValue fcanusequanO, domHead(0).SetValue iverifystate, 以下是非必输字段 *1 字段值 现存件数, Double 类型 字段值 可用件数, Double 类型 字段值 iverifystate , String 类型 Integer ,此参数按值传递,具体请 如: 该参数 curlD 为 OU 型参数,由于其数据类型为 String,为一般值类型,因此不必传入一个参数变量。 在 API 调用返回时,可以通过 GetResult(curlD) 获取 该参数 CurDom 为 OUT 型参数,由于其数据类型为,非一般值类

44、型,因此必须传入一个参数变量。在 API 调用返回时,可以直接使用该参数 Dim CurDom As New CurDom, CurDom 参数类型: 当不传入一个参数变量时, 在 API 调用返回时, 可以通过 GetResult( 参数名 ) 获取其值; 当不必传入一个参数变量时,在 API 调用返回时,可以直接引用该参数。 4) 给“ INOUT型”参数赋值 对“ INOUT型”型参数,则不论是否是一般值类型,都需要传入参数变量。其他与“ OUT 型”参数一样。 5 调用 API If () = False Then 错误处理 MsgBox() If = ExceptionType_Bu

45、siness Then 处理 API 业务错误 ElseIf = ExceptionType_System Then 处理系统错误 End If 注意:对调用失败,可以获取出错信息,如果是 API 框架的原因,则报告 MomSysException 异常, 如果是业务组件的原因,则报告 MomBizException 异常 6 获取返回结果 1) 获取BO对象 在“装载单据”时,通过 GetBoParam 方法获取表头或表体参数 Dim DomHeadRet As BusinessObject Set DomHeadRet = ( DomHead) MsgBox 获取返回 BO 寸象的行数 注

46、意: 如果要取原始的 XMLDC 对象结果,请使用 GetResult(DomHead) Dim DomHeadRet As New Set DomHeadRet = u8apiBroker. GetResult ( DomHead) 以上获取的行数是 BC 寸象的实际行数。 获取 BC 对象各字段的值。以下代码示例只取第一行。字段定义详见 API 服务接口定义 Dim fstockquanORet As Double fstockquanORet = CDbl(domHeadRet(0).GetValue(fstockquanO) 现存件数,Double 类型 Dim fcanusequan

47、ORet As Double I * 以下是非必输字段 * Dim idRet As Integer idRet = CInt(domHeadRet(0).GetValue(id) 主关键字段, Integer 类型 Dim csocodeRet As String csocodeRet = CStr(domHeadRet(0).GetValue(csocode) 订 单 号, String 类型 Dim ddateRet As Date ddateRet = CDate(domHeadRet(0).GetValue(ddate) 订单日期,Date 类型 I * 以下是非必输字段 * * f

48、canusequanORet = CDbl(domHeadRet(0).GetValue(fcanusequanO) Dim iverifystateRet As String iverifystateRet = CStr(domHeadRet(0).GetValue(iverifystate) iverifystate , String 类型 2) 获取普通返回值 代码如下: 获取普通返回值。此返回值数据类型为 String ,此参数按值传递,具体请参考服务接口定义 Dim result As String result = CStr () 3) 获取普通“ OUT 型”或“ INOUT 型

49、”返回值 如前所述,对普通“ OUT 型”或“ INOUT 型”参数,如果是一般值类型,则通过 GetResult 方法获取其 返回值,否则直接使用该引用。 如, 获取普通 OU 参数 curlD。此返回值数据类型为 String,在使用该参数之前,请判断是否为空 Dim curIDRet As String curIDRet = CStr(curID ) 获取普通 OUT 参数 CurDom 此返回值数据类型为,前面已定义该参数,请直接使用可用件数, Double 类型 223 库存管理 功能介绍 为了支持U8二次开发对业务单据的开发,本功能提供了实现库存业务单据各种操作功 能的编程接口。使

50、用库存管理的API开发接口,可以对库存管理中的采购入库单、 其他入库 单、其他出库单、产成品入库单、材料出库单、调拨单、组装单、拆卸单、形态转换单、盘 点单、货位调整单、销售出库单、期初结存、不合格品记录单、不合格品处理单、期初不合 格品、调拨申请单等单据进行审核、弃审、获取(或装载) 、新增、修改、删除。 使用环境 必须安装.NET FrameWork ; 必须安装U8-872版本的库存管理产品; 必须安装API适配器组件 接口说明 库存管理二次开发接口说明: 审核单据-Audit方法 参数: sVoucherType -单据类型:01 Voucherld 单据ID errMsg -错误信息

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1