金蝶K3基于WebServices外部数据交换接口使用指南讲述.docx
《金蝶K3基于WebServices外部数据交换接口使用指南讲述.docx》由会员分享,可在线阅读,更多相关《金蝶K3基于WebServices外部数据交换接口使用指南讲述.docx(66页珍藏版)》请在冰豆网上搜索。
金蝶K3基于WebServices外部数据交换接口使用指南讲述
金蝶K/3基于WebServices
外部数据交换接口使用指南
概述4
总体说明4
通过该说明文档,你可以了解到4
该文档阅读的适用对象4
外部数据交换服务的安装4
WebServices测试工具介绍5
外部数据交换服务功能列表5
公共服务(Public.asmx)7
AisQuery服务7
GetAisType服务7
DeleteItemQuery服务8
DeleteItemUpdate服务9
币别(Currency.asmx)10
Query服务10
Update服务10
计量单位(MeasureUnit.asmx)12
Query服务12
Update服务12
辅助资料(AssistDetail.asmx)14
Query服务14
Update服务14
科目(Account.asmx)16
Query服务16
Update服务16
凭证字(VoucherGroup.asmx)18
Query服务18
Update服务18
客户(Customer.asmx)20
Query服务20
Update服务20
部门(Department.asmx)22
Query服务22
Update服务22
职员(Employee.asmx)24
Query服务24
Update服务24
物料或商品(Material.asmx)26
Query服务26
Update服务26
仓库(Stock.asmx)28
Query服务28
Update服务28
供应商(Supplier.asmx)30
Query服务30
Update服务30
分支机构(SubCompany.asmx)32
Query服务32
Update服务32
费用(Fee.asmx)34
Query服务34
Update服务34
工作中心(WorkCenter.asmx)36
Query服务36
Update服务36
工业订单与订单执行情况(InduSaleOrder.asmx)38
QuerySaleOrder服务38
UpdateSaleOrder服务38
QueryOrderTrace服务39
库存(InduStockData.asmx)40
QueryWithBatch服务40
QueryWithOutBatch服务40
销售发票(InduSaleInvoice.asmx)42
QuerySaleInvoice服务42
凭证(财务)(Voucher.asmx)43
Query服务43
Update服务43
收款单(ReceiveBill.asmx)45
QueryReceiveBill服务45
应收计划(ArApPlan.asmx)46
QueryArApPlan服务46
合同(Contract.asmx)47
QueryContract服务47
调用方式48
通过现有工具(组件)进行访问48
Http方式49
对象说明50
应用示例51
静态数据交换(基础资料)51
动态数据交换(业务数据)55
相关资料57
金蝶数据交换标准57
W3CWebService57
SOAP57
WebService配置57
过滤条件的语法和格式57
错误处理机制58
安全机制58
概述
总体说明
我们的客户越来越成熟,在客户内部中的信息化程度也越来越高,所以使用的业务系统也越来越错综复杂,不同的系统可能跨越不同的系统平台,而客户又希望在内部的不同应用系统中可以沟通协作(术语:
EAI应用)。
我们金蝶的产品线也包括了ERP、CRM、OA等不同产品,而这几种产品的系统架构和设计以及应用可用的平台都有很大的差异,而要在这几个系统之间达到无缝的集成和整合。
关键还在于不同的应用系统之间的数据交换(工作流也构架在数据交换的基础上)。
而我们设计的外部数据交换服务就是一套比较完整和合适的解决方案。
可以在构建在不同的系统平台的应用系统之间实现同步、实时和增量的数据交换(静态数据和动态数据)。
注意:
本篇所介绍的外部数据交换服务都是金蝶目前已经提供的服务。
注意:
本篇所介绍的外部数据交换服务可向下兼容至K/3V9.2版本。
通过该说明文档,你可以了解到
1. 外部数据交换服务的目的、原理以及安装。
2. 如何通过程序访问外部数据交换服务。
3. 使用外部数据交换服务的技巧和要点。
4. 使用外部数据交换服务的应用示例。
5. 外部数据交换服务的理论背景和相关的知识。
6. 目前我们都提供了哪些外部数据交换服务。
该文档阅读的适用对象
需要在K/3系统上进行二次开发与K/3系统进行数据交换的行业开发者
需要跟K/3系统进行数据交换的第三方系统的开发人员
扩展外部数据交换服务的K/3开发人员
对WebService感兴趣的开发人员
外部数据交换服务的安装
在K/3系统安装程序主界面,选择“外部数据交换服务部件”。
安装注意:
注意:
该服务必须安装K/3系统的中间层。
WebServices测试工具介绍
安装完成后,在开始菜单-金蝶K3WISE创新管理平台-金蝶K/3工具下,打开“客户端工具包”,选择“Adapter适配器”下的“k/3WebServices”,打开后即可启动K/3WebServices测试工具,可通过选择“服务类型”和“调用的方法”,在请求文件路径中修改测试的参数,点执行时会开展WebService的测试并获取测试结果,如下图。
外部数据交换服务功能列表
目前K/3提供的外部数据交换服务主要有以下一些:
1. 公共类:
账套查询服务、查询账套类型服务等;
2. 基础数据类:
币别、计量单位、科目、辅助资料、客户、部门、职员、物料(商品)、供应商、分支机构、工作中心、费用、凭证字交换服务;
3. 业务数据类:
订单交换服务、库存查询服务、合同交换服务、收款单查询服务(预收单)、应收计划查询服务、凭证交换服务、科目余额查询服务等。
以上各种服务的具体使用请参考以下详细说明。
公共服务(Public.asmx)
AisQuery服务
服务说明:
返回账套信息
接口定义:
publicAisInfo[]AisQuery
参数说明:
返回信息:
AisQueryResult:
表示账套信息的节点组,类型:
数组
outstringstrError:
返回出错信息,类型:
string
GetAisType服务
服务说明:
接口定义:
publicstringGetAisType(intiAisID,stringstrUser,stringstrPassword,outstringstrError)
参数说明:
iAisID:
账套ID,通过账套查询服务获取,类型:
inteager
strUser:
用户名称,必须为K/3中的合法用户,类型:
string
strPassword:
用户密码,目前通过明文传递,类型:
string
返回信息:
GetAisTypeResult:
表示账套类型的字符串,类型:
string
outstringstrError:
返回出错信息,类型:
string
返回指定账套的账套类型表示如下:
类型名称
账套类型
返回值
1工业企业全面解决方案
AcctType_Industry
gy
2商业企业全面解决方案
AcctType_Commerce
sm
3工业企业物流解决方案
AcctType_GYWL
gywl
4商业企业物流解决方案
AcctType_SYWL
sywl
5标准企业财务解决方案
AcctType_QYKJ
qykj
6集团企业财务解决方案
AcctType_GRCW
grcw
7行政事业财务解决方案
AcctType_ZFKJ
zfkj
8会计中心解决方案
AcctType_TGZT
tgzt
9人力资源解决方案
AcctType_RLZY
rlzy
DeleteItemQuery服务
服务说明:
返回已经删除了的基础资料数据的关键字信息
接口定义:
publicDelete[]DeleteItemQuery(intiAisID,
stringstrUser,
stringstrPassword,
ItemObjectIO,
intiPerCount,
refstringstrTimeStamp,
outstringstrMaxTimeStamp,
outstringstrError)
参数说明:
iAisID:
账套ID,通过账套查询服务获取,类型:
int
strUser:
用户名称,必须为K/3中的合法用户,类型:
string
strPassword:
用户密码,目前通过明文传递,类型:
string
IO:
查询的基础资料对象类别,其值如下:
PublicEnumItemObject
lAccount=1 //科目,已实现
lAssist=2 //辅助资料,已实现
lCurrency=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 //成本项目,预留
lcbExpense=16 //要素费用,预留
lcbService=17 //劳务,预留
lFee=18 //费用,已实现
lVoucherGroup=19 //凭证字,已实现
lAuxProp=20 //商品的辅助属性,预留
lCashFlowItem=21 //现金流量项目,预留
lSettle=22 //结算方式,预留
EndEnum
iPerCount:
指明返回记录条数,类型:
inteager
strTimeStamp:
传入起始时间辍值,默认为“0x0000000000000000”,
返回当前页的最大时间辍值,类型:
string
返回信息:
QueryResult:
表示数据信息的节点组,类型:
数组
strTimeStamp:
返回当前页的最大时间辍值,下一页查询,将此值直接传入
strMaxTimeStamp:
返回所要返回记录的最大时间辍值,类型:
string
strError:
返回错误信息,类型:
string
DeleteItemUpdate服务
服务说明:
接受用户提交的基础资料数据的关键字,删除K/3的相应数据
接口定义:
publicboolDeleteItemUpdate(intiAisID,
stringstrUser,
stringstrPassword,
ItemObjectIO,
Delete[]Data,
outstringstrError)
参数说明:
iAisID:
账套ID,通过账套查询服务获取,类型:
inteager
strUser:
用户名称,必须为K/3中的合法用户,类型:
string
strPassword:
用户密码,目前通过明文传递,类型:
string
IO:
查询的基础资料对象类别,见DeleteItemQuery服务
Data:
业务数据,符合Schema规范,类型:
数组
返回信息:
UpdateResult:
如果更新成功,返回为True,否则返回False,strError包含出错信息。
strError:
返回错误信息,类型:
string
币别(Currency.asmx)
Query服务
服务说明:
返回满足条件的币别信息
接口定义:
publicCurrency[]Query(intiAisID,
stringstrUser,
stringstrPassword,
intiPerCount,
stringstrFilter,
refstringstrTimeStamp,
outstringstrMaxTimeStamp,
outstringstrError)
参数说明:
iAisID:
账套ID,通过账套查询服务获取,类型:
inteager
strUser:
用户名称,必须为K/3中的合法用户,类型:
string
strPassword:
用户密码,目前通过明文传递,类型:
string
iPerCount:
查询时的每页记录条数,inteager
strFilter:
过滤条件,符合Sql4.0规范,类型:
string
strTimeStamp:
传入起始时间辍值,默认为“0x0000000000000000”,
返回当前页的最大时间辍值,类型:
string
返回信息:
QueryResult:
表示数据信息的节点组,类型:
数组
strTimeStamp:
返回当前页的最大时间辍值,下一页查询,将此值直接传入
strMaxTimeStamp:
返回所要返回记录的最大时间辍值,类型:
string
strError:
返回错误信息,类型:
string
Update服务
服务说明:
接受用户提交的数据,更新K/3的币别信息
接口定义:
publicboolUpdate(intiAisID,
stringstrUser,
stringstrPassword,
Currency[]Data,
boolbCheckByUUID,
boolbAddNewOnly,
outstringstrError)
参数说明:
iAisID:
账套ID,通过账套查询服务获取,类型:
inteager
strUser:
用户名称,必须为K/3中的合法用户,类型:
string
strPassword:
用户密码,目前通过明文传递,类型:
string
Data:
业务数据,符合Schema规范,类型:
数组
bCheckByUUID:
指明是否按UUID更新数据。
True表示按UUID更新数据,False表示按Number,Name更新数据,类型:
Boolean
bAddNewOnly:
是否只增加记录。
true表示只增加但不覆盖记录,false表示既增加又覆盖记录,类型:
boolean
返回信息:
UpdateResult:
如果更新成功,返回为True,否则返回False,strError包含出错信息。
strError:
返回错误信息,类型:
string
计量单位(MeasureUnit.asmx)
Query服务
服务说明:
返回满足条件的计量单位信息
接口定义:
publicMeasureUnit[]Query(intiAisID,
stringstrUser,
stringstrPassword,
intiPerCount,
stringstrFilter,
refstringstrTimeStamp,
outstringstrMaxTimeStamp,
outstringstrError)
参数说明:
iAisID:
账套ID,通过账套查询服务获取,类型:
inteager
strUser:
用户名称,必须为K/3中的合法用户,类型:
string
strPassword:
用户密码,目前通过明文传递,类型:
string
iPerCount:
查询时的每页记录条数,inteager
strFilter:
过滤条件,符合Sql4.0规范,类型:
string
strTimeStamp:
传入起始时间辍值,默认为“0x0000000000000000”,
返回当前页的最大时间辍值,类型:
string
返回信息:
QueryResult:
表示数据信息的节点组,类型:
数组
strTimeStamp:
返回当前页的最大时间辍值,下一页查询,将此值直接传入
strMaxTimeStamp:
返回所要返回记录的最大时间辍值,类型:
string
strError:
返回错误信息,类型:
string
Update服务
服务说明:
接受用户提交的数据,更新K/3的计量单位信息
接口定义:
publicboolUpdate(intiAisID,
stringstrUser,
stringstrPassword,
MeasureUnit[]Data,
boolbCheckByUUID,
boolbAddNewOnly,
outstringstrError)
参数说明:
iAisID:
账套ID,通过账套查询服务获取,类型:
inteager
strUser:
用户名称,必须为K/3中的合法用户,类型:
string
strPassword:
用户密码,目前通过明文传递,类型:
string
Data:
业务数据,符合Schema规范,类型:
数组
bCheckByUUID:
指明是否按UUID更新数据。
True表示按UUID更新数据,False表示按Number,Name更新数据,类型:
Boolean
bAddNewOnly:
是否只增加记录。
true表示只增加不覆盖记录,
false表示既增加又覆盖记录,类型:
boolean
返回信息:
UpdateResult:
如果更新成功,返回为True,否则返回False,strError包含出错信息。
strError:
返回错误信息,类型:
string
辅助资料(Ass