WebService总账接口说明.docx
《WebService总账接口说明.docx》由会员分享,可在线阅读,更多相关《WebService总账接口说明.docx(54页珍藏版)》请在冰豆网上搜索。
WebService总账接口说明
金蝶EAS
凭证引入“webservice接口”说明
文档作者:
金向平
创建日期:
2005-11-18
确认日期:
2005-11-18
当前版本:
拷贝数量:
1
维护作者:
吴进
确认日期:
2006-9-8
当前版本:
维护作者:
吴进
确认日期:
2007-11-5
维护日期:
2007-11-30
当前版本:
维护作者:
焦新旺
确认日期:
2011-5-24
当前版本:
日期
作者
版本
参考版本
备注
2005-11-18
金向平
2006-9-8
吴进
2007-11-5
吴进
焦新旺
基于万科版本开发的
2011-5-24
焦新旺
修改支持的EAS版本
凭证引入“webservice接口”说明
1.EAS发布的webService接口
1.1功能规划
1、如需调用凭证接口,必需先要登录EAS,先期需要调用EASLogin登录EAS
1.2EASLogin发布
1、发布EASLogin客户端
2、点击EASLogin(wsdl),获取其wsdl地址
3、制作bat文件,利用第三方包,发布登录客户端代码,调用语句如下:
4、java第三方apache包
5、代码解释:
java–
lib是包放置的文件夹名
1.3EASLogin代码调用
1、调用的各所需参数
2、所需参数:
*@paramuserName用户名String
*@parampassword密码String
*@paramslnNameeasString
*@paramdcName数据中心String
*@paramlanguage语言String
*@paramdbType数据库类型int
*@paramauthPattern验证方式默认"BaseDB";其他认证方式KEY可从中获取String
3、参数说明
a)所传参数,如上所列,按顺序传入
b)查看EASLogin(wsdl),有两个接口,
i.传参6个,此方式不提倡使用。
为保证原有功能,服务端最后也会调用
传参7个的方法,第7参数自动调用"BaseDB"
ii.传参7个,如调用此方法,则需要查询文档
c)解决方案:
eas
d)语言:
L2简体中文L3繁体中文
e)服务器地址+端口:
组合成URL
f)数据库类型:
0SQLServer1Oracle2DB2
g)authPattern验证方式
i.默认"BaseDB"
ii.文档路径
iii.文档说明
4、做一个javaBean类,把此参数set到此javaBean类中
5、登录代码
a)登录
b)登录实现
2.凭证引入接口
2.1importVoucher(凭证引入)
1、凭证引入接口,两个接口方法都可用,且用法一致
2、凭证webService接口生成客户端,可参考EASLogin方法
3、凭证引入参数:
importVoucher(wsvoucher[],intisVerify,intisCashflow)
传参数第1个:
WSWSVoucher[]普通对象数组,见构造EAS凭证字段以及含义说明
传参数第2个:
isverify
0不核销,暂存
1核销,暂存
2不核销,提交
3核销,提交
传参数第3个:
isImpCashflow
是否引入现金流量0不引入1引入
4、凭证引入代码调用说明
5、返回值String[][]
是一个长度为凭证数,宽度是5的字符串数据
宽度的定义:
外部系统凭证号,凭证字,会计年度,会计期间,处理信息,异常信息,金蝶凭证号
凭证引入原版文档如下
一.“凭证引入”技术方案
其他业务系统数据,传输到EAS系统服务器,通过凭证引入“webservice接口”,转化为EAS数据。
其他业务系统内的资金流动信息,实时地、非人工干预的传递到EAS系统,以财务凭证的形式,转化为EAS系统内的财务信息。
二.“凭证引入”技术规范
EAS系统提供WebService服务,以及产生EAS财务凭证的接口,供其他业务系统调用。
WebService服务:
金蝶在EAS系统上发布WebService服务,提供wsdl文件供客户端下载,其他业务系统根据下载的wsdl文件,产生客户端。
EAS财务凭证的接口产生的客户端,分为两部分(java客户端举例)
协议类,包名协议类用于获得金蝶在EAS系统上发布WebService服务接口。
本用例中为其他业务系统内的资金流动信息产生EAS财务凭证的接口。
(1)JavaBean类,包名
JavaBean类提供接口需要的参数。
本用例中为EAS财务凭证需要的信息。
三.“凭证导入接口”调用说明
接口:
importVoucher(wsvoucher[],intisVerify,intisCashflow)
传参数第1个:
WSWSVoucher[]普通对象数组,见构造EAS凭证字段以及含义说明
传参数第2个:
isverify
0不核销,暂存
1核销,暂存
2不核销,提交
3核销,提交
传参数第3个:
isImpCashflow
是否引入现金流量0不是1是
四.构造EAS凭证字段以及含义说明如下:
WSWSVoucher说明:
一张凭证占据的行数=凭证行*分录行*辅助账行
字体黑色:
凭证头字段;深蓝:
分录行字段;橙色:
辅助账字段;紫罗兰:
现金流量
单元格颜色:
灰色必录项;浅青绿:
辅助账核算项目(科目多核算项目,最多8个);浅绿:
现金流量
字段名
类型
中文说明
是否必录
说明
格式
companyNumber
String
公司编码
是
录入公司编码,必须在EAS中有该编码
bookedDate
String
记账日期
是
凭证的登账日期
2005-11-1
bizDate
String
业务日期
是
业务发生日期
2005-11-1
periodYear
int
会计期间-年
是
必须在EAS中有
2005
periodNumber
int
会计期间-编码
是
必须在EAS中有
11
voucherType
String
凭证字(凭证类型)
是
凭证类型中文名称,必须在EAS中有
记
attaches
int
附件数量
否
description
String
参考信息
否
voucherNumber
String
凭证号
是
凭证唯一区别
1
entrySeq
int
分录行号
是
当前凭证的分录唯一区别
1
voucherAbstract
String
摘要
否
分录摘要
accountNumber
String
科目
是
分录行科目编码,必须在EAS中有
currencyNumber
String
币种
是
分录行币别编码,必须在EAS中有
001
localRate
double
汇率
否
本位币汇率:
没有时默认为1
entryDC
int
方向
是
分录行方向:
1借方-1贷方
originalAmount
double
原币金额
是
分录行原币金额
qty
double
数量
否
分录行数量
measurement
String
计量单位
否
名称,必须在EAS中有
吨
price
double
单价
否
分录行单价
debitAmount
double
借方金额
是
分录行借方金额:
分录方向为借方时必录
creditAmount
double
贷方金额
是
分录行贷方金额:
分录方向为贷方时必录
creator
String
制单人
是
当前操作人员名称,必须在EAS中有
徐晓霞
poster
String
过账人
否
当前操作人员名称,必须在EAS中有
auditor
String
审核人
否
当前操作人员名称,必须在EAS中有
asstSeq
int
辅助账行号
否
当前凭证的当前分录的辅助账行唯一区别
bizNumber
String
业务编号
否
settlementNumber
String
结算方式
否
settlementType
String
结算号
否
cussent
int
核销/挂账
否
默认为0,
asstActType1
String
核算项目1
否
名称,必须在EAS中有。
比如:
客户、
客户
asstActNumber1
String
核算对象编码1
否
编码,必须在EAS中有。
比如:
客户A的编码
asstActName1
String
核算对象名称1
否
名称,必须在EAS中有。
比如:
客户A
客户A
asstActType2
String
核算项目2
否
以下:
取决于科目是否核算多个项目,最多8个
asstActNumber2
String
核算对象编码2
否
asstActName2
String
核算对象名称2
否
asstActType3
String
核算项目3
否
asstActNumber3
String
核算对象编码3
否
asstActName3
String
核算对象名称3
否
asstActType4
String
核算项目4
否
asstActNumber4
String
核算对象编码4
否
asstActName4
String
核算对象名称4
否
asstActType5
String
核算项目5
否
asstActNumber5
String
核算对象编码5
否
asstActName5
String
核算对象名称5
否
asstActType6
String
核算项目6
否
asstActNumber6
String
核算对象编码6
否
asstActName6
String
核算对象名称6
否
asstActType7
String
核算项目7
否
asstActNumber7
String
核算对象编码7
否
asstActName7
String
核算对象名称7
否
asstActType8
String
核算项目8
否
asstActNumber8
String
核算对象编码8
否
asstActName8
String
核算对象名称8
否
itemflag
int
现金流量标记
是
如引入现金流量,必设置为1
oppAccountSeq
int
对方科目分录号
是
primaryItem
String
主表项目
是
EAS中必存在的主表项目
supplyItem
String
附表项目
否
primaryCoef
int
主表系数
否
supplyCoef
int
附表系数
否
cashflowAmountOriginal
double
现金流量原币金额
是
cashflowAmountLocal
double
现金流量本位币金额
是
cashflowAmountRpt
double
现金流量报告币金额
是
cashflowAmountRpt
double
现金流量报告币金额
是
type
Int
现金流量性质列
否
1、空;2、外部;3、内部
cashAsstActType1
String
现金流量核算项目1
否
名称,必须在EAS中有。
比如:
客户、
客户
cashAsstActNumber1
String
现金流量核算对象编码1
否
编码,必须在EAS中有。
比如:
客户A的编码
cashAsstActName1
String
现金流量核算对象名称1
否
名称,必须在EAS中有。
比如:
客户A
客户A
cashAsstActType2
String
现金流量核算项目2
否
以下:
取决于科目是否核算多个项目,最多8个
cashAsstActNumber2
String
现金流量核算对象编码2
否
cashAsstActName2
String
现金流量核算对象名称2
否
cashAsstActType3
String
现金流量核算项目3
否
cashAsstActNumber3
String
现金流量核算对象编码3
否
cashAsstActName3
String
现金流量核算对象名称3
否
cashAsstActType4
String
现金流量核算项目4
否
cashAsstActNumber4
String
现金流量核算对象编码4
否
cashAsstActName4
String
现金流量核算对象名称4
否
cashAsstActType5
String
现金流量核算项目5
否
cashAsstActNumber5
String
现金流量核算对象编码5
否
cashAsstActName5
String
现金流量核算对象名称5
否
cashAsstActType6
String
现金流量核算项目6
否
cashAsstActNumber6
String
现金流量核算对象编码6
否
cashAsstActName6
String
现金流量核算对象名称6
否
cashAsstActType7
String
现金流量核算项目7
否
cashAsstActNumber7
String
现金流量核算对象编码7
否
cashAsstActName7
String
现金流量核算对象名称7
否
cashAsstActType8
String
现金流量核算项目8
否
cashAsstActNumber8
String
现金流量核算对象编码8
否
cashAsstActName8
String
现金流量核算对象名称8
否
1.接口说明:
将正确的符合条件的凭证引入到系统中,作为暂存凭证或者提交状态的凭证,错误的和不符合条件的凭证给与提示,不引入到系统。
2.如果引入核销记录
那么每一张凭证中,需要有往来科目,自动设置核销分录
3.如果引入现金流量
那么普通对象数组中,也存放现金流量数组,数组中的对象也是WSWSVoucher,
与凭证行的区分标记是:
itemFlag字段描述0不是现金流量1是现金流量
4.返回值String[][]
是一个长度为凭证数,宽度是5的字符串数据
宽度的定义:
外部系统凭证号,凭证字,年度,期间,处理信息,异常信息,金蝶凭证号
1.凭证号:
第3方系统自身产生的凭证号
2.凭证字:
第3方系统自身产生的凭证字
3.年度:
第3方系统自身产生的会计年度
4.期间:
第3方系统自身产生的会计期间
5.处理信息:
6.异常信息isVerify:
应该是EAS在保存凭证时产生的异常,如校验不通过产生的提示信息等。
7.金蝶返回凭证号:
EAS产生的凭证号,用于回填FreightNet系统的。
8.处理信息的定义:
0000成功其他处理信息见后面
5.处理方法:
将正确的符合条件的凭证、核销记录、现金流量引入,返回的信息包含全部内容;
有问题的凭证,只返回凭证号和错误信息定义
5.参数信息描述
WSWSVoucher一行是一个凭证对象或者是一个现金流量对象
凭证对象行包括:
凭证行、分录行、辅助账行,itemFlag=0
现金流量行包括:
凭证号、分录号、现金流量行,itemFlag=1
在对象传入时,请顺序传入:
比如共有5行记录,3行是凭证对象行,2行是现金流量行,那么格式如下
凭证号分录号…辅助账…现金流量(对方科目分录号)…流量标记
110
120
130
1131
1231
6.其他处理信息:
1000没有凭证数据传入
1001根据传入的组织编码找不到组织
1002根据传入的科目编码找不到科目
1003根据传入的币别编码找不到币别
1004根据传入的登账日期找不到合适的期间
1005根据传入的凭证类型名称找不到凭证类型
1006所引入凭证币别,不属于本科目币别核算值
1007没有找到核算项目
1008制单人不能为空
1010凭证没有找到过账人
1111其他异常:
如保存失败,网络异常等
2001根据编码没有取得现金流量项目
2002现金流量性质列不正确,当主表项目挂辅助账时,性质列必须为外部或内部,外部凭证号:
{0}
2003没有找到核算项目:
{0}
3001没有权限新增凭证
3003登账日期和期间不匹配
3008组织单元的报告币折算方式没有选取
3100凭证引入重复
3101参考消息重复
4001本位币借贷不相等。
4002报告币借贷不相等。
4003凭证类型与分录科目不匹配:
{0}({1})
4004第{0}条分录的第{1}条辅助账必须录入结算方式。
4005第{0}条分录的第{1}条辅助账非银行科目不允许录入结算方式。
4006第{0}条分录缺少科目。
4007同一凭证不允许同时包含表内科目与表外科目。
4008第{0}条分录的科目带自定义属性或核算项目,但没有辅助账。
4009第{0}条分录的原币金额不等于辅助账原币金额之和。
4110第{0}条分录的本位币金额不等于辅助账本位币金额之和。
4111第{0}条分录的报告币金额不等于辅助账报告币金额之和。
4112凭证的会计期间不能早于当前会计期间。
4113分账制,凭证头币种不能为空。
4114第{0}条分录科目“{1}”的核算币别与分录币别“{2}”不一致。
4115会计期间不能为空。
4116凭证类型不能为空。
4117公司不能为空。
4118第{0}条分录缺少币别。
4120第{0}条分录缺少借贷方向。
4121第{0}条分录的第{1}条辅助账行缺少核算项目组合。
4122凭证的借方本币与凭证行不符。
4123凭证的贷方本币与凭证行不符。
4124凭证的借方报告币与凭证行不符。
4125凭证的贷方报告币与凭证行不符。
4126凭证头的行数量与凭证行不符。
4128第{0}条分录的第{1}条辅助账行缺少必录的自定义属性。
4129凭证应该至少存在两条分录。
4130第{0}条分录的科目“{1}”不是明细科目。
4131第{0}条分录的科目“{1}”已被禁用。
4132该凭证必须录入现金流量。
4161该凭证不存在或已经被删除,不能进行这项操作。
4162凭证的会计期间不能早于当前会计期间。
4300第{0}条分录是核销分录但没有设置核销标志。
4301第{0}条分录不是核销分录但设置了核销标志。
4400第{0}条分录的第{1}条辅助账是核销记录但没有设置对应的往来账记录。
4401第{0}条分录的第{1}条辅助账不是核销记录但设置了对应的往来账记录。
4501凭证有错误:
{0}
4800每张凭证至少应该有一条分录。
4302第{0}条分录缺少摘要。
4109第{0}条分录的币别与凭证头的币别不一致。
4666第{0}条分录的数量、金额不能全都为0。
4667第{0}条分录第{1}条辅助账的数量、金额不能全都为0。
4898第{0}条分录为往来科目,但它的第{1}条辅助账缺少到期日。
4900现金流量项目{0}已经被禁用!
4980第{0}条分录科目所属公司与凭证所属公司不一致。
4345记账日期不能为空。
4346业务日期不能为空。
4347凭证类型不能为空。
4355输入的凭证编码重复
3.凭证查询、校验、删除接口
4.“凭证查询”接口说明
findVoucher(StringcomNumber,intyear,intperiodNumber)
输入:
公司代码、期间年(2006)、期间月(7),
输出:
凭证字、凭证号、参考消息
输出类型:
String[],以“,”组合,需要拆分。
默认查询条件:
所查凭证来源系统必须为“基础系统”(查询的是先前从webService中引入的凭证,才是基础系统)
返回类型:
String[]
#0001未找到公司#0002未找到期间
正确结果转账,0001,FLY001
5.“凭证校验”接口说明
checkVoucher(StringcomNumber,intyear,intperiodNumber,StringmessageNumber,doublelocalAmount)
输入:
公司代码、期间年、期间月、参考消息、本位币金额
输出:
金蝶凭证号
输出类型:
String
默认查询条件:
所查公司,必须是财务实体组织
返回类型:
String
#0001未找到公司#0002未找到期间
#1001未找到符合条件的凭证
正确结果凭证号
6.“凭证删除”接口说明
deleteVoucher(StringcompanyNumber,Stringperiod,StringvoucherNumber,Stringfexp)
参数:
StringcompanyNumber"HQF001"公司编码
Stringperiod""期间
StringvoucherNumber"20"凭证号
Stringfexp"000000112"参考消息
返回类型:
int
0成功