U8API开发手册(C#版)_第1页
U8API开发手册(C#版)_第2页
U8API开发手册(C#版)_第3页
U8API开发手册(C#版)_第4页
U8API开发手册(C#版)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

6、请具体查看对应的 VB代码示例部分。ZffCJ病精鼾师j miwram a lwi.唠巴典衡胃磨i d e - fc i- B M fiM孑件 :* FE省段口E *明注浜醉 aK零富 - i在曜石i添m审中茶般芳窃口描诺B#¥1C : UfiAftn号桑世"F:ImlfiiuHM'AddT*-1晶*:零第士郎一*10刑章<3解 共 &时拉土生单1 n Jim1,隼细后3; IE与Tfl孙幻帆曲福S看lt-fr HU出事单 1±产雷品?算 fc«r 0 眼不自济吕Ettre±m, T&Sa3JJ*-匕静a单-t此庭

7、的帙单' U郦街”型髀单-J ft1*餐前燃国白 A Ltiff'* bUtfjfat皂匕噌股昌哗仁塔中口L5H7科htiXbdLlCUrtLEUDac 面皿2Jh引利由g .£总能却第wMJXMU»学雨单VdawF'wih&iff!l: *£二Etwt Db>rt*引用石向闻亚可博滨情便14麻崛U的弦节E闻MgBMUaMMFlH图 西.!irsf 工匠每前者f 朝在事叨用Z;7ua草号:乏回事福一%目,-01节帮:用工工星也 叫胪ktM*的if/W-却也51也隧5 热心 IXMtMMDEinrtvU准引雨至 H1苦哥s t

8、RjdfW占“l*f日就J售¥7tedr尾受,可明口SjllNtBcKLMriin迫在苦检.叮布9配桩氏总刖jk但.苦bMbdPiuh晶喜虹*i哨V莺,图2.1接口描述5F传gmin 岬K用*当,广1y丑工 L由*亡点购营空,-4情E君-t± JFffMi- fr ft.« a”件l削口竹国力育五nraft:%»VH m承 WMOkWH 机机,麻窑5单击J飒于Fl,青工竹优”5tCH JR ( J 心mu咻日工。门I»q.rv IfCj/m 中"法勒安山桔小E2 Dig省褥其wnmm* 七 0 靖FfWiI I'.rak户uf

9、twmwf矶citlw*rri dllL I卢中军才y 羞;EMi Q的福里-巴出口生至学曰工H 4JI-&Sht5=?土白产比工八月单亡我翱七3亡峭不含母足=匕精生出生聚£白耳亡晒MQ&尊游日上、士现江的区-产! iMN«ifri t知3单“一: E看年口A l-eiff-已出H#反* L厘*K段,亡本世*色,台厝厝寓- L措中。- "MJ盘则- 12日就,仔代蝴F£*-W: '1g出!IW”国因1卜tolL.C LL3E< a;(HIM 仙。0 Ml噎手 工*3ii3< EDA 比I flOlIFirun-kria

10、 lAif IMJU 1 ItMJ'lJl Wrvq-hHEil£ IFUrt IP9):*,工 jy IHZI4-周.TEIZr -e fck J u- Lu ;Ulaht UHk3 an F't l£t m出1 Niniu 门4口 。,工M 由氏电山1"目副用盘帖与啊明修强作HWk.p UiL"id 41lk。却矩J而讦塘PNl ”迷中,呐UB营J»r卡05中 1. AISLED tfLsCiTi = UH WLd JU L d5LfflD.(l.Ng aI& ; W.如屁 31m3 “xl.国学I iraf&quo

11、t;SUE"就FlIX d> ,而 4rg 口杯“$ = fi,Urini xIMb - TOiB-ll-j f; a1* i- i 4m*» iH H 口”a i M = *1*图代码示例2.1.2 API调用过程组件引用针对两种语言,需要引用不同的组件。(1) C#:、U8SOFT%、如下图、所示。(2) VB:%U8SOFT%UFMOMU8APIFrameworktlb、U8SOFT%UFMOMU8APIFrameworktlb、U8SOFT%UFMOMU8APIFramework tlb、添加Microsoft XML引用如下图、所示。其中,U8SOFT%I示

12、U8-872的安装目录。图2添加对引用图添加对引用图添加对U8API框架类库引用(.dll)引用-采购管理一2d可用的引用电),For A.ppli callVisual B&sic runtime Ejects and proiced-ureilVi EualOLE Ant ob ati-oiiUTIDA VS MomServi ceCsmniQiiUTIDA US UBAPIFr i-n ew&rltUTIDA_VS_V6lfl0rAFIJrame'woi-kMicroS£+. XHU v3.0(v8IASIAS加引用直找泊围(XJ L |11sMi工Fr

13、Mnwwork HEIE:Acrab;1 UFIDA. U8. MomServi ceCommcbit. tlbm WIDA Ue.USAJIFranewQrk tlb口 WLDA. US. WWOHAFIfr iin iff?rk tlb文件名的;文件型型© :T牛回序画,|类型库 休.0lb:归tlb:机dll)图 添加对U8API框架类库引用(.tlb)图添加Microsoft XML引用API调用添加必要的引用后,可以直接利用自动生成的代码示例(支持C糊口 VB两种语言),结合API接口详细描述,填入必要的参数值,就可以调用U8 API。总体上,对U8 API的调用分成七个步

14、骤:1) 构造u8login对象并登陆;2)构造环境上下文对象,传入login,并按需设置其它上下文参数;3) 设置API地址标识(Url)参数;4)构造 APIBroker;5) API参数赋值;6) 调用API;7) 获取返回结果。详细的API调用过程请看下文“ API内容”中各个模块中介绍的“开发步骤”。下面重点介绍几个关键要点和步骤:环境上下文、API地址、APIBroker、普通参数赋值、BO参数赋值。环境上下文环境上下文指在调用U8API时需要初始化的调用环境,包括 Login、事务、特殊的业务参数等。环境上下文被初始化后,相关的环境参数会被业务API使用。U8EnvContext

15、 envContext = new U8EnvContext();Login需要将U8Login对象传递给环境上下文,U8Login对象必须已经登录过。=u8Login;事务如果需要由外部发起事务,则可以发起事务的ADOConnection对象传递给环境上下文:conn = new ConnectionClass();=conn;同时需要设置一个外部事务标记:=true;特殊业务参数特殊业务参数指调用某些API需要设置的特定上下文参数,比如:销售的 API必须要设置如VoucherType上下文参数,设置方法为:("VoucherType”, 23);API地址API地址是指 API

16、在U8API系统中的唯一标识,也叫 API的URI,调用API时,需要通过API地址构建一个代表此API的Broker对象:U8ApiAddress myApiAddress = new U8ApiAddress("U8API/PurchaseOrder/VoucherSave");APIBrokerAPIBroker是所有U8API的调用代理接口。使用 U8所有API都必须通过 APIBroker间接 调用。APIBroker作为一个服务代理中间件,起到了隔离 API的提供者与使用者的作用,降 低了耦合依赖关系。创建 APIBroker必须传入API地址和环境上下文:U8

17、ApiBroker broker = new U8ApiBroker(myApiAddress, envContext);普通参数赋值API参数分两种类型:BO参数和普通参数。普通参数是指非单据表头表体类型的参数, 包括基本类型参数(String、Integer等)、知名对象参数(Connection、DOMDocument等)。 普通参数的赋值采用如下方式:("voucherState", 2);BO参数赋值BO参数即单据表头或表体类型的参数。对BO参数,支持两种方式传入,一种传 BO对象,另一种传DOM对象。以下分别介绍:传BO对象给BO表头参数或表体参数赋值,推荐使用

18、BO对象(BussinessObject)。例如:BusinessObject DomHead = ("DomHead");=10; 2008-09-30ET FrameWork ;必须安装U8-872版本的采购管理产品;必须安装API适配器组件接口说明采购管理二次开发接口说明:审核单据-ConfirmPO方法参数:domHead单据表头,DOM对象,必输API上下文:VoucherType 单据类型,具体类型参看API上下文描述bPositive红蓝标识:True,蓝字;False红字sBillType为空串sBusType 业务类型:普通采购,直运采购,受托代销弃审单据

19、-CancelconfirmPO方法参数:domHead单据表头,DOM对象,必输API上下文:VoucherType 单据类型,具体类型参看API上下文描述bPositive红蓝标识:True,蓝字;False红字sBillType为空串sBusType 业务类型:普通采购,直运采购,受托代销装载单据-Load方法DomHead domBody strWhere varVoucherID表头DOM对象表体DOM对象过滤条件串单据主表IDstrLocateWhere定位条件串API上下文:VoucherType bPositive sBillType sBusType单据类型,具体类型参看AP

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

21、头,DOM对象,必输单据表体,DOM对象,必输保存状态,必输。2增加;1修改;0非编辑返回单据头ID返回DOM格式错误信息 使用模式,0: CS; 1:BSAPI上下文:VoucherType bPositive sBillType sBusType单据类型,具体类型参看API上下文描述红监标识:True,监字 ;False红子为仝串 业务类型:普通采购,直运采购,受托代销开发步骤实现采购单据某一功能,主要有以下七个步骤:1.构造u8login对象并登陆声明和创建u8login类对象前应该先引用U8API类库中的,代码示例如下:u8Login = new ();2008-09-30GetRes

22、u代("DomHead") as ;以上获取的行数是BO对象的实际行数。ET FrameWork ;必须安装U8-872版本的销售管理产品;必须安装API适配器组件;接口说明销售管理二次开发接口及参数说明:审核或弃审单据-Audit方法参数:domHead单据表头,DOM对象,必输bVerify审核/弃审标志,必输。true表审核;false表弃审API上下文:VoucherType单据类型,必输。具体类型参看API上下文描述删除单据-Delete方法参数:domHead单据表头,DOM对象,必输API上下文:VoucherType单据类型,必输。具体类型参看API上下文描

23、述装载单据-Load方法参数:domHead单据表头,DOM对象,必输domBody单据表体,DOM对象,必输VouchID 需要装载的单据号,可选blnAuth是否控制权限:trueAPI上下文:VoucherType单据类型,必输。具体类型参看API上下文描述新增或修改单据-Save方法参数:domHead单据表头,DOM对象,必输domBody单据表体,DOM对象,必输VoucherState保存状态,必输。 0增加;1修改VNewID 单据的id,可选DomConfigATO,PTCB配配置,必输,可设置为nothingAPI上下文:单据类型,必输。具体类型参看API上下文描述Vouc

24、herType开发步骤实现销售单据某一功能,主要有以下七个步骤:构造u8login对象并登陆声明和创建u8login类对象前应该先引用U8API类库中的,代码示例如下:u8Login = new ();2008-09-30GetResu代("DomHead") as ;以上获取的行数是BO对象的实际行数。ET FrameWork ;必须安装U8-872版本的库存管理产品;必须安装API适配器组件接口说明库存管理二次开发接口说明: 审核单据-Audit方法 参数:sVoucherType单据类型:01VoucherId单据 IDerrMsg错误信息cnnFrom连接对象(调用

25、方控制事务时需要传入连接对象)TimeStamp 单据时间戳(用于检查单据是否修改,空串时不检查domMsg返回DOM格式的信息:主要是可用量信息bCheck是否进行业务检查(是否控制可用量)bBeforCheckStock是否检查可用量bList传入 falseMakeWheres传空sWebXml传入空串idoGenVouchIds获取单据ID列表(返回审核时自动生成的单据的列表,传空)弃审单据-CancelAudit方法参数:sVoucherType VoucherId errMsg单据类型:01单据ID错误信息cnnFrom连接对象(由调用方控制事务时必须传入 )TimeStamp 单

26、据时间戳(用于检查单据是否修改,空串时不检查)domMsg 超可用量提示信息 DOM对象(返回DOM格式的信息)bCheck是否进行业务检查bBeforCheckStock是否检查可用量bList传入 false装载单据-Load方法参数:sVoucherType单据类型:01sWhere条件串DomHead表头DOM对象domBody表体DOM对象domPos货位DOM对象errMsg错误信息bGetBlank是否获取空白单据sBodyWhere_Order表体排序方式字段注意:其中sWhere设计为:如果按单据号加载,则语法为ccode=N'要力口载的单据号,例如("sW

27、here","ccode = N'0000000001'");如果按单据ID加载,则语法为id=XXX,仞如("sWhere", "id = 1")。删除单据-Delete方法sVoucherType VoucherId errMsg cnnFrom象)TimeStamp domMsgbCheck BeforCheckStock bList添加新单据-Add方法 参数:sVoucherType-DomHead domBody domPosition errMsg-单据类型:01单据ID错误信息连接对象(由调用

28、方控制事务时需要传入连接对单据时间戳返回DOM格式的信息:主要是检查可用量和控制 可用量信息是否进行业务检查是否检查PJ用量传入false单据类型:01表头DOM对象表体DOM对象货位DOM对象:传空返回错误信息cnnFrom 连接对象,如果由调用方控制事务, 则需要设置 此连接对象,否则传空VoucherId返回单据IDdomMsg返回DOM格式的信息:主要返回可用量和现存 量的错误信息bCheck是否进行业务检查(是否控制可用量)bBeforCheckStock是否检查引用量(检查引用量)bIsRedVouch是否红字单据sAddedState传空字符串bReMote是否远程修改单据-Up

29、date方法 参加.sVoucherType一单据类型:01DomHead表头DOM对象domBody-表体DOM对象domPosition-货位DOM对象errMsg一错误信息cnnFrom-连接对象domMsg-超可用量提示信息 DOM对象(返回DOM格式的信息)bCheck一是否进行业务检查bBeforCheckStock一是否检查可用量bIsRedVouch是否红字单据sAddedState修改状态bUpdateNeedEas传 true开发步骤实现库存单据某一功能,主要有以下七个步骤:1.构造u8login对象并登陆声明和创建u8login类对象前应该先引用U8API类库中的,代码示例如下:u8Login = new ();2008-09-30GetResu代("DomHead") as ;以上获取的行数是BO对象的实际行数。获取BO对象各字段的值。以下代码示例只取第一行。字段定义详见 API服务接口定义/*以下是必输字段*/int id = (DomHeadRet0"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论