1、金蝶K3基于WebServices外部数据交换接口使用指南金蝶K/3 基于WebServices外部数据交换接口使用指南概述 4总体说明 4通过该说明文档,你可以了解到 4该文档阅读的适用对象 4外部数据交换服务的安装 4WebServices测试工具介绍 5外部数据交换服务功能列表 5公共服务 (Public.asmx) 7AisQuery服务 7GetAisType服务 7DeleteItemQuery服务 8DeleteItemUpdate服务 9币别 (Currency.asmx) 10Query服务 10Update服务 10计量单位 (MeasureUnit.asmx) 12Que
2、ry服务 12Update服务 12辅助资料 (AssistDetail.asmx) 14Query服务 14Update服务 14科目 (Account.asmx) 16Query服务 16Update服务 16凭证字 (VoucherGroup.asmx) 18Query服务 18Update服务 18客户 (Customer.asmx) 20Query服务 20Update服务 20部门 (Department.asmx) 22Query服务 22Update服务 22职员 (Employee.asmx) 24Query服务 24Update服务 24物料或商品 (Material.as
3、mx) 26Query服务 26Update服务 26仓库 (Stock.asmx) 28Query服务 28Update服务 28供应商 (Supplier.asmx) 30Query服务 30Update服务 30分支机构 (SubCompany.asmx) 32Query服务 32Update服务 32费用(Fee.asmx) 34Query服务 34Update服务 34工作中心 (WorkCenter.asmx) 36Query服务 36Update服务 36工业订单与订单执行情况(InduSaleOrder.asmx) 38QuerySaleOrder服务 38UpdateSale
4、Order服务 38QueryOrderTrace服务 39库存(InduStockData.asmx) 40QueryWithBatch服务 40QueryWithOutBatch服务 40销售发票 (InduSaleInvoice.asmx) 42QuerySaleInvoice服务 42凭证(财务) (Voucher.asmx) 43Query服务 43Update服务 43收款单 (ReceiveBill.asmx) 45QueryReceiveBill服务 45应收计划 (ArApPlan.asmx) 46QueryArApPlan服务 46合同(Contract.asmx) 47Q
5、ueryContract服务 47调用方式 48通过现有工具(组件)进行访问 48Http方式 49对象说明 50应用示例 51静态数据交换(基础资料) 51动态数据交换(业务数据) 55相关资料 57金蝶数据交换标准 57W3C Web Service 57SOAP 57WebService配置 57过滤条件的语法和格式 57错误处理机制 58安全机制 58概述总体说明我们的客户越来越成熟,在客户内部中的信息化程度也越来越高,所以使用的业务系统也越来越错综复杂,不同的系统可能跨越不同的系统平台,而客户又希望在内部的不同应用系统中可以沟通协作(术语:EAI应用)。我们金蝶的产品线也包括了ERP
6、、CRM、OA等不同产品,而这几种产品的系统架构和设计以及应用可用的平台都有很大的差异,而要在这几个系统之间达到无缝的集成和整合。关键还在于不同的应用系统之间的数据交换(工作流也构架在数据交换的基础上)。而我们设计的外部数据交换服务就是一套比较完整和合适的解决方案。可以在构建在不同的系统平台的应用系统之间实现同步、实时和增量的数据交换(静态数据和动态数据)。注意:本篇所介绍的外部数据交换服务都是金蝶目前已经提供的服务。注意:本篇所介绍的外部数据交换服务可向下兼容至K/3V9.2版本。通过该说明文档,你可以了解到1. 外部数据交换服务的目的、原理以及安装。2. 如何通过程序访问外部数据交换服务。
7、3. 使用外部数据交换服务的技巧和要点。4. 使用外部数据交换服务的应用示例。5. 外部数据交换服务的理论背景和相关的知识。6. 目前我们都提供了哪些外部数据交换服务。该文档阅读的适用对象需要在K/3系统上进行二次开发与K/3系统进行数据交换的行业开发者需要跟K/3系统进行数据交换的第三方系统的开发人员扩展外部数据交换服务的K/3开发人员对Web Service感兴趣的开发人员外部数据交换服务的安装在K/3系统安装程序主界面,选择“外部数据交换服务部件”。安装注意:注意:该服务必须安装K/3系统的中间层。WebServices测试工具介绍安装完成后,在开始菜单-金蝶 K3 WISE创新管理平台
8、-金蝶K/3工具下,打开“客户端工具包”,选择“Adapter适配器”下的“k/3 WebServices”,打开后即可启动K/3 Web Services测试工具,可通过选择“服务类型”和“调用的方法”,在请求文件路径中修改测试的参数,点执行时会开展WebService的测试并获取测试结果,如下图。外部数据交换服务功能列表目前K/3提供的外部数据交换服务主要有以下一些:1. 公共类:账套查询服务、查询账套类型服务等;2. 基础数据类:币别、计量单位、科目、辅助资料、客户、部门、职员、物料(商品)、供应商、分支机构、工作中心、费用、凭证字交换服务;3. 业务数据类:订单交换服务、库存查询服务、
9、合同交换服务、收款单查询服务(预收单)、应收计划查询服务、凭证交换服务、科目余额查询服务等。以上各种服务的具体使用请参考以下详细说明。公共服务 (Public.asmx)AisQuery服务服务说明:返回账套信息接口定义:public AisInfo AisQuery参数说明:返回信息:AisQueryResult:表示账套信息的节点组,类型:数组out string strError:返回出错信息,类型:stringGetAisType服务服务说明:接口定义:public string GetAisType(int iAisID,string strUser,string strPasswo
10、rd,out string strError)参数说明:iAisID:账套ID,通过账套查询服务获取,类型:inteagerstrUser:用户名称,必须为K/3中的合法用户,类型:stringstrPassword:用户密码,目前通过明文传递,类型:string返回信息:GetAisTypeResult:表示账套类型的字符串,类型:stringout string strError:返回出错信息,类型:string返回指定账套的账套类型表示如下:类型名称账套类型返回值1工业企业全面解决方案AcctType_Industrygy2商业企业全面解决方案AcctType_Commercesm3工业
11、企业物流解决方案AcctType_GYWLgywl4商业企业物流解决方案AcctType_SYWLsywl5标准企业财务解决方案AcctType_QYKJqykj6集团企业财务解决方案AcctType_GRCWgrcw7行政事业财务解决方案AcctType_ZFKJzfkj8会计中心解决方案AcctType_TGZTtgzt9人力资源解决方案AcctType_RLZYrlzyDeleteItemQuery服务服务说明:返回已经删除了的基础资料数据的关键字信息接口定义:public Delete DeleteItemQuery(int iAisID,string strUser,string s
12、trPassword,ItemObject IO,int iPerCount,ref string strTimeStamp,out string strMaxTimeStamp,out string strError)参数说明:iAisID:账套ID,通过账套查询服务获取,类型:intstrUser:用户名称,必须为K/3中的合法用户,类型:stringstrPassword:用户密码,目前通过明文传递,类型:stringIO:查询的基础资料对象类别,其值如下:Public Enum ItemObjectlAccount = 1 /科目,已实现lAssist = 2 /辅助资料,已实现lCu
13、rrency = 3 /币别,已实现lMeasureUnit = 4 /计量单位,已实现lCustomer = 5 /客户,已实现lDepartment = 6 /部门,已实现lEmployee = 7 /职员,已实现lMaterial = 8 /物料(商品),已实现lStock = 9 /仓库,已实现lRemark = 10 /备注,预留lSupplier = 11 /供应商,已实现lSonCompany = 12 /分支机构,已实现lWorkCenter = 13 /工作中心,已实现lcbCostObj = 14 /成本对象,预留lcbCostItem = 15 /成本项目,预留lcbEx
14、pense = 16 /要素费用,预留lcbService = 17 /劳务,预留lFee = 18 /费用,已实现lVoucherGroup = 19 /凭证字,已实现lAuxProp = 20 /商品的辅助属性,预留lCashFlowItem = 21 /现金流量项目,预留lSettle = 22 /结算方式,预留End Enum iPerCount:指明返回记录条数,类型:inteagerstrTimeStamp:传入起始时间辍值,默认为“0x0”,返回当前页的最大时间辍值,类型:string返回信息:QueryResult:表示数据信息的节点组,类型:数组strTimeStamp:返回
15、当前页的最大时间辍值,下一页查询,将此值直接传入strMaxTimeStamp:返回所要返回记录的最大时间辍值,类型:stringstrError:返回错误信息,类型:stringDeleteItemUpdate服务服务说明:接受用户提交的基础资料数据的关键字,删除K/3的相应数据接口定义:public bool DeleteItemUpdate(int iAisID,string strUser,string strPassword,ItemObject IO,Delete Data,out string strError)参数说明:iAisID:账套ID,通过账套查询服务获取,类型:int
16、eagerstrUser:用户名称,必须为K/3中的合法用户,类型:stringstrPassword:用户密码,目前通过明文传递,类型:stringIO:查询的基础资料对象类别,见DeleteItemQuery服务Data:业务数据,符合Schema规范,类型:数组返回信息:UpdateResult:如果更新成功,返回为True,否则返回False,strError包含出错信息。 strError:返回错误信息,类型:string币别 (Currency.asmx)Query服务服务说明:返回满足条件的币别信息接口定义:public Currency Query(int iAisID,str
17、ing strUser,string strPassword,int iPerCount,string strFilter,ref string strTimeStamp,out string strMaxTimeStamp,out string strError)参数说明:iAisID:账套ID,通过账套查询服务获取,类型:inteagerstrUser:用户名称,必须为K/3中的合法用户,类型:stringstrPassword:用户密码,目前通过明文传递,类型:stringiPerCount:查询时的每页记录条数,inteagerstrFilter:过滤条件,符合Sql4.0规范,类型:
18、stringstrTimeStamp: 传入起始时间辍值,默认为“0x0”,返回当前页的最大时间辍值,类型:string返回信息:QueryResult:表示数据信息的节点组,类型:数组strTimeStamp:返回当前页的最大时间辍值,下一页查询,将此值直接传入strMaxTimeStamp:返回所要返回记录的最大时间辍值,类型:stringstrError:返回错误信息,类型:stringUpdate服务服务说明:接受用户提交的数据,更新K/3的币别信息接口定义:public bool Update(int iAisID,string strUser,string strPassword,
19、Currency Data,bool bCheckByUUID,bool bAddNewOnly,out string strError)参数说明:iAisID:账套ID,通过账套查询服务获取,类型:inteagerstrUser:用户名称,必须为K/3中的合法用户,类型:stringstrPassword:用户密码,目前通过明文传递,类型:stringData:业务数据,符合Schema规范,类型:数组bCheckByUUID:指明是否按UUID更新数据。True表示按UUID更新数据,False表示按Number,Name更新数据,类型:BooleanbAddNewOnly:是否只增加记录
20、。true表示只增加但不覆盖记录,false表示既增加又覆盖记录,类型:boolean返回信息:UpdateResult:如果更新成功,返回为True,否则返回False,strError包含出错信息。strError:返回错误信息,类型:string计量单位 (MeasureUnit.asmx)Query服务服务说明:返回满足条件的计量单位信息接口定义:public MeasureUnit Query(int iAisID,string strUser,string strPassword,int iPerCount,string strFilter,ref string strTimeSt
21、amp,out string strMaxTimeStamp,out string strError)参数说明:iAisID:账套ID,通过账套查询服务获取,类型:inteagerstrUser:用户名称,必须为K/3中的合法用户,类型:stringstrPassword:用户密码,目前通过明文传递,类型:stringiPerCount:查询时的每页记录条数,inteagerstrFilter:过滤条件,符合Sql4.0规范,类型:stringstrTimeStamp:传入起始时间辍值,默认为“0x0”,返回当前页的最大时间辍值,类型:string返回信息:QueryResult:表示数据信息
22、的节点组,类型:数组strTimeStamp:返回当前页的最大时间辍值,下一页查询,将此值直接传入strMaxTimeStamp:返回所要返回记录的最大时间辍值,类型:stringstrError:返回错误信息,类型:stringUpdate服务服务说明:接受用户提交的数据,更新K/3的计量单位信息接口定义:public bool Update(int iAisID,string strUser,string strPassword,MeasureUnit Data,bool bCheckByUUID,bool bAddNewOnly,out string strError)参数说明:iAis
23、ID:账套ID,通过账套查询服务获取,类型:inteagerstrUser:用户名称,必须为K/3中的合法用户,类型:stringstrPassword:用户密码,目前通过明文传递,类型:stringData:业务数据,符合Schema规范,类型:数组bCheckByUUID:指明是否按UUID更新数据。True表示按UUID更新数据,False表示按Number,Name更新数据,类型:BooleanbAddNewOnly:是否只增加记录。true表示只增加不覆盖记录,false表示既增加又覆盖记录,类型:boolean返回信息:UpdateResult:如果更新成功,返回为True,否则返
24、回False,strError包含出错信息。strError:返回错误信息,类型:string辅助资料 (AssistDetail.asmx)Query服务服务说明:返回满足条件的辅助资料信息接口定义:public Assist Query(int iAisID,string strUser,string strPassword,int iPerCount,string strFilter,ref string strTimeStamp,out string strMaxTimeStamp,out string strError)参数说明:iAisID:账套ID,通过账套查询服务获取,类型:i
25、nteagerstrUser:用户名称,必须为K/3中的合法用户,类型:stringstrPassword:用户密码,目前通过明文传递,类型:stringiPerCount:查询时的每页记录条数,inteagerstrFilter:过滤条件,符合Sql4.0规范,类型:stringstrTimeStamp:传入起始时间辍值,默认为“0x0”,返回当前页的最大时间辍值,类型:string返回信息:QueryResult:表示数据信息的节点组,类型:数组strTimeStamp:返回当前页的最大时间辍值,下一页查询,将此值直接传入strMaxTimeStamp:返回所要返回记录的最大时间辍值,类型
26、:stringstrError:返回错误信息,类型:stringUpdate服务服务说明:接受用户提交的数据,更新K/3的辅助资料信息接口定义:public bool Update(int iAisID,string strUser,string strPassword,Assist Data,bool bCheckByUUID,bool bAddNewOnly,out string strError)参数说明:iAisID:账套ID,通过账套查询服务获取,类型:inteagerstrUser:用户名称,必须为K/3中的合法用户,类型:stringstrPassword:用户密码,目前通过明文
27、传递,类型:stringData:业务数据,符合Schema规范,类型:数组bCheckByUUID:指明是否按UUID更新数据。True表示按UUID更新数据,False表示按Number,Name更新数据,类型:Boolean bAddNewOnly:是否只增加记录,true表示只增加不覆盖记录,false表示既增加又覆盖记录,类型:boolean返回信息:UpdateResult:如果更新成功,返回为True,否则返回False,strError包含出错信息。strError:返回错误信息,类型:string科目 (Account.asmx)Query服务服务说明:返回满足条件的科目信息
28、接口定义:public Account Query(int iAisID,string strUser,string strPassword,int iPerCount,string strFilter,ref string strTimeStamp,out string strMaxTimeStamp,out string strError)参数说明:iAisID:账套ID,通过账套查询服务获取,类型:inteagerstrUser:用户名称,必须为K/3中的合法用户,类型:stringstrPassword:用户密码,目前通过明文传递,类型:stringiPerCount:查询时的每页记录条数,inteagerstrFilter:过滤条件,符合Sql4.0规范,类型:stringstrTimeStamp:传入起始时间辍值,默认为“0x0”,返回当前页的最大时间辍值,类型:string返回信息:QueryResult:表示数据信息的节点组,类型:数组strTimeStamp:返回当前页的最大时间辍值,下一页查询,将此值直接传入strMaxTimeStamp:返回所要返回记录的最大时间辍值,类型:st