金蝶EAS_WebService总账_新接口开发指南(三):将凭证从EAS系统引出

概述
凭证是总账比较重要的数据对象,光有导入接口是不够的,如果你想在第三方系统显示EAS凭证的信息,那你首先需要取出它,下面这个接口WSVoucher.nExportVoucher刚好能满足这样要求。
1、如果还没有下载凭证用wsdl服务描述文件和导入架包,请参考金蝶EAS_WebService总账_新接口开发指南(二):将凭证引入到EAS系统中文章中的第1、2步。
2、编写代码(完整代码在附件工程中的类client.VoucherExportTest),使用凭证引出新接口WSVoucher.nExportVoucher引出凭证,以下是参数构建的代码片段:

以下是发起调用的代码片段:

如果看到下面类似的信息说明已经导出成功:

3、凭证引出新接口WSVoucher.nImportVoucher的参数jsonParams,它是一个Map<key, value>形式的json字符串,目前支持以下参数项:
| 参数名(控制用) | 参数值 | 说明 |
| isColumnAlias | true或false,默认为false | 是否导出列别名。 |
| isExpCashflow | true或false,默认为false | 是否导出现金流量。 |
| isExpEntry | true或false,默认为true | 是否引出凭证分录 |
| isExpRecord | true或false,默认为true | 是否引出凭证辅助账行 |
| isExpAccountCustomizedProperty | true或false,默认为true | 是否引出科目自定义属性 |
| isExpExtendProperty | true或false,默认为true | 是否引出DEP新增属性 |
| isCompress | true或false,默认为false | 是否对传输的数据经过压缩处理,当值为true时,返回后使用 com.kingdee.eas.fi.gl.ZipUtils.gunzip(jsonResult)进行解压。如果传输的数据量较大(超过2000行),建义压缩处理。该工具类可以在eas\client\lib\patch\ sp-fi_gl-client.jar中找到。 |
| onlyVoucherId | true或false,默认为false | 是否只返回凭证的ID,如果设置为true,则返回结果中的rows只是凭证ID的列表List<String>。可借用该参数实现分批查询:先查出符合条件的凭证ID,将凭证ID分批后,再传单个组织编码和分批凭证ID查凭证数据。注:这是暂时方案,后面可能会调整。 |
| batch | true或false,默认为false | 是否分批查询,与onlyVoucherId配合使用,分批查询时,因为前面的查询已经确定了凭证范围,设置为true可跳过一些逻辑提升一点性能。注:分批查询目前只支持单个组织。 |
| 参数名(过滤用) | 参数值 | 说明 |
| companyNumber | 公司编码 | 支持多个,用;分隔。 |
| voucherType | 凭证类型编码 | 支持多个,用;分隔。 |
| bizStatus | 凭证状态 | 支持多个,用;分隔,如:0;1;2;3;5。 |
| voucherId | 凭证ID | 支持多个,用;分隔。 |
| importKey | 全局标识 | 支持多个,用;分隔。 |
| voucherNumber | 凭证号 | 支持多个,用;分隔。 |
| fromVoucherNumber | 开始凭证号 | |
| toVoucherNumber | 结束凭证号 | |
| fromPeriodNumber | 开始期间 | 如:202203。 |
| toPeriodNumber | 结束期间 | 如:202203。 |
| fromBookedDate | 开始记账日期 | 如:2022-03-01。 |
| toBookedDate | 结束记账日期 | 如:2022-03-31。 |
| sourceSys | 来源系统 | 支持多个,用;分隔,如:11,可填的值请参考com.kingdee.eas.framework.SystemEnum。 |
| sourceType | 来源类型 | 支持多个,用;分隔,如:4,可填的值请参考com.kingdee.eas.fi.gl.SourceType。。 |
| fromBizDate | 开始业务日期 | 如:2022-03-01。 |
| toBizDate | 结束业务日期 | 如:2022-03-31。 |
| voucherAbstract | 凭证摘要 | 类似匹配。 |
| description | 参考信息 | 类似匹配。 |
| creator | 制单人编码 | 支持多个,用;分隔。 |
| auditor | 审核人编码 | 支持多个,用;分隔。 |
| poster | 过账人编码 | 支持多个,用;分隔。 |
| cashier | 复核人编码 | 支持多个,用;分隔。 |
| entryDescription | 分录摘要 | 类似匹配。 |
| currency | 币别编码 | 支持多个,用;分隔。 |
| accountNumber | 科目编码 | 支持多个,用;分隔。 |
| fromAccountNumber | 开始科目编码 | |
| toAccountNumber | 结束科目编码 | |
| entryAmount | 分录金额 | |
| entryMinAmount | 分录最小金额 | |
| entryMaxAmount | 分录最大金额 |
4、凭证引出接口WSVoucher.nExportVoucher返回的数据也是一个Map<key, value>形式的json字符串,如果调用时参数isCompress设置为true,应先对它进行解压,它有以下项目:
| 项目名 | 项目值 | 说明 |
| totalTime | 长整型 | 后端处理总用时,单位毫秒。 |
| voucherCount | 整型 | 引出的凭证数量。 |
| errs | List<String> | 错误信息,它是过滤条件的校验信息,如果校验失败(也就是说errs有数据),则不会进行导出处理。它的格式为:key[value]:错误信息。 |
| rows | List<List<String>> | 凭证数据,它的数据结构和导入的是一样的,导出的数据能直接用来导入,具体字段请参考金蝶EAS_WebService总账_新接口开发指南(二):将凭证引入到EAS系统中。 |
注:基于减少传输数据量的考虑,接口返回的凭证数据为类似表格List<List<String>>形式的二维数据,比较难以理解和解析,附件提供了一个工具类:client.VoucherConverter,可以将该二维数据转换为更易理解和使用的Map<String, Object>形式的对象数据。
5、关于接口的权限
凭证导出时,只涉及登陆用户,默认情况下是不验权的,目前定义了两个系统参数以进行控制:
1、GL_IfcUsePerm_Enable(是否开启接口使用权限):当参数设置为是时,将会校验登陆用户是否具有gl_ifc_voucherExport(凭证引出接口)权限。
2、GL_IfcBizPerm_Enable(是否开启接口业务权限):当参数设置为是时,将会校验登陆用户是否具有gl_voucher_newExport(凭证引出(高级))权限。
注:建议将参数GL_IfcBizPerm_Enable设置为true,对于开启了安全模式的服务器建议将GL_IfcUsePerm_Enable设置为true。
6、其它
1、GUI下的功能:财务会计->总账->凭证处理->凭证引出(高级)与本接口用的是同一套后台。
2、本接口在850,861版本还支持OpenAPI方式的调用,请参考:总账OpenAPI接口说明。
版本迭代说明(不完全统计,新的在上):
| 补丁号(EAS881) | 发布时间 | 更新内容 |
| PT177015 | 2024-07-12 | 修正科目自定义属性“结算方式”的引出。 |
| PT177138 | 2024-06-28 | 支持科目自定义属性费用类别,收款人。 |
| PT175119 | 2023-12-29 | 优化凭证大量导出报fetched too much rows错误。 |
| PT172690 | 2023-11-24 | 凭证引出的科目名称增加显示科目长名称。 优化核算项目取数性能。 增加输出核算项目组合ID。 |
| PT174151 | 2023-11-10 | 凭证引出支持引出用户实名。 |
| 补丁号(EAS861) | 发布时间 | 更新内容 |
| PT176934 | 2024-07-12 | 修正科目自定义属性“结算方式”的引出。 |
| PT176991 | 2024-06-28 | 支持科目自定义属性费用类别,收款人。 |
| PT175161 | 2023-12-29 | 优化凭证大量导出报fetched too much rows错误。 |
| PT174365 | 2023-11-24 | 凭证引出的科目名称增加显示科目长名称。 优化核算项目取数性能。 增加输出核算项目组合ID。 |
| PT174198 | 2023-11-10 | 凭证引出支持引出用户实名。 |
| PT172773 | 2023-08-11 | 调整参数GL_IfcUsePerm_Enable和GL_IfcBizPerm_Enable在权限验证的控制。 |
| PT172152 | 2023-06-30 | 增加凭证号排除选项。 |
| PT169858 | 2023-02-10 | 支持引出DEP扩展属性;支持指定引出内容(分录,辅助账,科目自定义属性,DEP新增属性)。 |
| PT169207 | 2022-12-09 | 支持引出科目自定义属性(客户,供应商,公司,物料)。 |
| PT166675 | 2022-11-25 | 增加引出凭证的ID(voucherId)。 修正辅助账行计量单位(measurement)。 |
| PT167843 | 2022-09-09 | 修正偶发的提示:没有凭证引出(高级) 业务权限。 |
| PT167546 | 2022-08-26 | 增加引出组织名称(companyName),科目名称(accountName)。 |
| PT158933 | 2021-12-24 | 优化权限控制;支持分批导出。 |
| PT159585 | 2021-11-26 | 增加按部分分录过滤条件。 |
| PT157219 | 2021-07-09 | 首次发布。 |
| 补丁号(EAS850) | 发布时间 | 更新内容 |
| PT177392 | 2024-07-12 | 修正科目自定义属性“结算方式”的引出。 |
| PT176890 | 2024-06-28 | 支持科目自定义属性费用类别,收款人。 |
| PT175327 | 2024-01-12 | 优化凭证大量导出报fetched too much rows错误。 |
| PT174456 | 2023-11-24 | 凭证引出的科目名称增加显示科目长名称。 优化核算 |
金蝶EAS_WebService总账_新接口开发指南(三):将凭证从EAS系统引出
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



