logo资料库

金蝶K3凭证接口参考手册.pdf

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
K/3 系统凭证接口使用参考 客户化开发工具包参考手册 目录 目录 ...........................................................................................................1 概述 ...........................................................................................................1 凭证对象所需要的相关数据 ...............................................................................2 凭证头信息 ..............................................................................................2 凭证分录信息............................................................................................3 科目相关的核算项目 ...................................................................................3 银行科目相关的结算方式与结算号 ...................................................................3 现金流量科目相关的现金流量.........................................................................4 凭证数据的校验和控制点 ..............................................................................4 通过 Ebcgl 组件来操纵凭证接口 .........................................................................4 概述.......................................................................................................4 凭证查询 .................................................................................................4 凭证新增 .................................................................................................5 凭证修改 .................................................................................................6 凭证删除 .................................................................................................6 凭证汇总 .................................................................................................6 直接调用中间层来操纵凭证接口 .........................................................................6 GetList 方法(凭证浏览信息) .......................................................................6 GetDetail 方法和 GetDetailByNumber(凭证明细信息) .........................................7 新增凭证 .................................................................................................9 修改凭证 .................................................................................................9 删除凭证 .................................................................................................9 设置(取消)凭证/出纳复核函数 .....................................................................9 设置(取消)凭证审核函数 ...........................................................................9 指定凭证过帐函数 ......................................................................................9 指定凭证反过帐函数 ................................................................................. 10 当前凭证期间所有凭证反过帐函数 ................................................................. 10 凭证接口对象流程 ........................................................................................10 接口对象流程图 ....................................................................................... 10 概述 凭证是 K/3 系统财务模块中一个重要的支撑子模块,所以在 K/3 系统的二次开发过程中,用户对于获 1
取 K/3 系统本身的凭证信息,和开发外部程序向 K/3 系统中存储凭证等凭证的相关处理上都有较迫切的需 求,但原有的很多的开发都是基于直接读取数据库等方式进行的。这样不仅效率低下,而且开发的周期长、 出错的几率较高。K/3 系统本身独特而先进的三层结构技术,在系统的设计过程中就已经考虑到了如何的 灵活、正确、快捷的去让用户自定义自己的一些应用。在凭证这个模块上,提供了通过客户端组件调用和 中间层接口实现等多种方式来实现对 K/3 系统的凭证对象的各种操作。 注意:所有数据与中间层接口传送采用都采用 KFO(KFO10.dll)中的 Dictory 及 Vector 接口。 通过该说明文档,你可以了解到 1. 凭证对象所需要的相关数据。 2. 如何通过客户端组件来实现凭证数据的交互。 3. 如何通过中间层组件来实现凭证数据的交互。 4. 凭证相关的开发的策略。 该文档阅读的适用对象 1. 金蝶软件研发中心的程序员 2. 需要通过 K/3 的数据客户端读取相应的凭证信息的开发者 3. 需要编写自己的客户端与 K/3 系统中间层进行数据交换的行业开发者 4. 需要了解 K/3 系统客户端于中间层如何进行数据交换的技术爱好者 凭证对象所需要的相关数据 一张凭证所包含的信息主要有:凭证头、凭证体、币别信息、与科目相关的核算项目和结算方式与结 算号。 凭证头信息 从以上的凭证录入界面的一部分,我们可以看出凭证头信息所包含的内容主要有 数据信息 可供参考的字段命名 凭证日期 业务日期 凭证字 参考信息 FDate FTransDate FGroupID FReference 2
FAttachments FSerialNum 根据凭证日期和会计期间的设置而产生 凭证号为系统自动生成,不能手工指定。 附件张数 凭证序号 会计期间 凭证号 凭证分录信息 一张凭证中可以包含有两条或者两条以上的凭证分录,每条凭证分录中包含有以下信息。 数据信息 可供参考的字段命名 FExplanation FAccountID FCurrencyID FMeasureUnitID FExchangeRate Fdebit Fcredit FAmountFor 摘要 科目 币别 计量单位 汇率 借方金额 贷方金额 总计 科目相关的核算项目 在凭证中的每条凭证分录中,当所选明细科目中包含核算项目时,则可以录入相关的核算项目信息。 核算项目所包含的数据内容有: 数据信息 可供参考的字段命名 核算项目类别 ID FItemClassID 核算项目 ID FitemID 银行科目相关的结算方式与结算号 当凭证中的的科目为“银行存款”科目的时候,则必须有相应的结算方式和结算号。 数据信息 结算方式 结算号 可供参考的字段命名 3
现金流量科目相关的现金流量 当凭证中的的科目为“银行存款”科目的时候,则必须有相应的结算方式和结算号。 数据信息 可供参考的字段命名 现金流量科目 币别 FitemID FcurryID 本位币金额 FamountFor 凭证数据的校验和控制点 凭证信息之间有数据的合法性检查,如果要进行相应的凭证开发则必须注意以下的检查要点。 1. 检验凭证借贷方是否平衡。 2. 检验科目是否为最明细级。 3. 检验本位币金额是否等于汇率乘原币。 4. 检验金额是否等于数量乘单价。 5. 检验往来核算项目的客户是否已超出授信值。 通过 Ebcgl 组件来操纵凭证接口 概述 注意:本节所介绍内容的相关组件是 EBCGL10.DLL, EBCGLV10.DLL 在 Ebcgl 组件中有主要有 6 个对象: 1. VouCherSet,凭证 Recorderset 对象。 2. Voucher,凭证对象。 3. VoucherEntrySet,凭证分录 Recorderset 对象 4. VoucherEntry,凭证分录对象。 5. VoucherDetailSet,凭证核算项目 Recorderset 对象 6. VoucherDetail,凭证核算项目对象。 详细具体的属性、方法的描述,请参看“Ebcgl 组件参考手册”。 本篇所介绍的是通过 Ebcgl 组件如何的实现凭证的一些基本的功能。 凭证查询 可以对凭证信息中的每个字段进行条件过滤的查询。 4
凭证新增 可以在指定账套中按照指定的数据交换格式向系统新增一张凭证。 操作流程: 1. 调用 Ebcgl. VoucherSet 对象的 CreateNew 方法新建一个 Ebcgl.Voucher 对象。 2. 将 Voucher 对象中相应的属性赋值,包括: 属性名称 描述 Attachments 附件张数 数据类型 Long Group 或者 GroupID 凭证字/凭证字 ID String/Long Number Period Reference 凭证序号 会计期间 参考信息 VoucherDate 凭证填制日期 TransDate 业务日期 Long Long String Date Date 3. Voucher 对象中的 Entries 属性是一个 VoucherEntrySet 对象,所以可以调用 Voucher 对象中 的 Entries 属性的 CreateNewEntry 方法,新建一条或者多条凭证分录,创建的是 VoucherEntry 对象。(必须是两条或者两条以上) 4. 将每个 VoucherEntry 对象的相应的属性赋值,包括: 属性名称 AccountID CurrencyID DC Debit Credit 描述 科目 ID 币别 ID 数据类型 Long String/Long 借贷方向(1-借方 -1 –贷方) Long 借方金额(要和借贷方向结合) Curry 贷方金额(要和借贷方向结合) Curry ExchangeRate 汇率 MeasureUnitID 计量单位 ID Double Long 5. 检查指定的 AccountID 科目是否为明细科目,通过 Ebcgl.AccountSet 对象来查询指定 ID 的 Ebcgl.Account 对象中的 Detail 属性。 6. 检 查 指 定 的 AccountID 科 目 是 否 有 核 算 项 目 , 则 通 过 EbcglView.GLData 接 口 中 的 GetAccountItem(lAccountID As Long)函数,将 AccountID 传入。返回值为一个 Recordset 对象。若指定 AccountID 科目没有核算项目则 Recordset.RecordCount 为零。 7. 如果有核算项目则通过 VoucherEntry 的 Details 属性,该属性为一个 Ebcgl.VoucherDetailSet 对象,调用该对象的 Add 方法,向该条凭证分录中增加相应的核算项目-Ebcgl.VoucherDetail 对象。属性赋值包括: 5
属性名称 描述 ItemClassID 核算项目类别 ID ItemID 核算项目 ID 数据类型 Long Long 8. 检查指定的 AccountID 科目是否是银行科目若是则必须录入结算方式和结算号。 9. 检查指定的 AccountID 科目是否是现金流量科目,若是则必须录入相应的现金流量科目。 10. 调用 Ebcgl.Voucher 的 SaveChanges 方法,将新增的凭证保存。 示例代码: 凭证修改 可以在读出相应的凭证信息,对其进行修改后再进行保存。 需要注意的是在更改了凭证分录的科目后,要检查核算项目、是否银行科目、是否现金流量科目的变 化。 凭证删除 可以删除指定账套中的指定的凭证。 通过调用 Ebcgl.VoucherSet 对象的 Remove 方法,就可以删除指定的凭证。 Remove 方法,请参看“Ebcgl 组件参考手册”。 凭证汇总 将记账凭证按照指定的范围和条件汇总其一级科目的借贷发生额。 直接调用中间层来操纵凭证接口 其实在大部分情况下 Ebcgl 组件已经可以满足开发者关于凭证接口的调用了。为了更加灵活使用凭证 接口进行相应的开发工作,我们也可以直接调用凭证中间层来完成相应的数据操作。凭证信息和中间层的 数据交换,其主要信息结构是通过 KFO 组件来进行传递的。而 KFO 的数据包则是通过调用中间层组件 EBSGLVoucher. VoucherInfo 和 EbSGLVoucher.VoucherUpdate 的接口来获取。 注意:凭证信息在存储打包和读取打包的时候其 KFO 数据包的结构是不一样的。 GetList 方法(凭证浏览信息) 参数 sDsn:账套连接参数,可以通过 K3Login 组件来得到 6
Options:Long 类型,缺省值为 0 Filter:过滤条件,String 类型,缺省值 vbNullString Sort:排序方式,String 类型,缺省值 vbNullString CursorLocation:Ado 的数据连接方式,Long 类型,缺省值 3 在 K/3 系统的账套中储存的有多张凭证,特别是在用户的业务相对较为复杂的时候,储存在一个账套 中的凭证信息可能会高达数万。如果我们在读取凭证的相关信息的时候,一次性的把所有的凭证信息读取 到客户端,则会因为数据量太大、速度慢而导致效率低下,显然这种方法是不可取的。 所以如果不需要凭证具体的明细信息,我们可以直接的调用 EbsglVoucher.VoucherInfo 接口的 GetList 方法。它的返回值是一个 KFO 的 Dictionary 对象,该对象主要的内容有以下部分: 字段名称 描述 数据类型 FvoucherID Fdate FgroupID Fnumber Fperiod Fposted Fchecked 凭证 ID 填置日期 凭证字 ID 凭证号 会计期间 是否过帐 是否审核 Long Date Long String Long Boolean Boolean GetDetail 方法和 GetDetailByNumber(凭证明细信息) GetDetail 和 GetDetailByNumber 方法返回的结果集的内容都是一样的,只是入口参数不一样。 GetDetail 方法是通过 VoucherID 来查询凭证的明细信息。 GetDetailByNumber 方法则是通过会计年度、会计期间、凭证字、凭证号来查询的。 GetDetail 的入口参数 SDsn:账套连接参数 VoucherID:凭证 ID GetDetailByNumber 的入口参数 SDsn:账套连接参数,String 类型 Nyear:会计年度,Long 类型 Period:会计期间,Long 类型 Group:凭证字,Long 类型 Number:凭证号,Long 类型 7
字段名称 描述 FAttachments 附件张数 Fcashier FcashierID Fchecked Fchecker FcheckerID Fdate Fgroup FgroupID Fhandler FinternalInd Fnumber FobjectName 出纳 出纳 ID 是否审核 审核人 审核人 ID 凭证日期 凭证字 凭证字 ID 会计主管 不为空是 机制凭证(不能修改 删除) 凭证号 其他系统传入凭证对象接口描 述 Fparameter 接口参数 Fperiod Fposted Fposter FposterID Fpreparer 凭证期间 是否过账 过账人 过账人 ID 制单人 FpreparerID 制单人 ID Freference FserialNum FtransDate FvoucherID Fyear _ Entries 参考消息 凭证序号 业务日期 凭证 ID 当前年期 凭证分录 CashFlowDetail 现金流转科目 数据类型 Long String Long Boolean String Long Date String Long String String Long String String Long Boolean String Long String Long String Long Date Long Long Vector Vector 8
分享到:
收藏