核心业务记帐基本介绍.doc_第1页
核心业务记帐基本介绍.doc_第2页
核心业务记帐基本介绍.doc_第3页
核心业务记帐基本介绍.doc_第4页
核心业务记帐基本介绍.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

、会计记帐原则1 借贷平衡目前会计记帐的方式是复式记帐。在此之前为收付记帐方式。复式记帐中两个名词:借和贷。科目分借方科目和贷方科目。记帐操作为借和贷。原理:借方科目记借增加,记贷减少。贷方科目记借减少,记贷增加。 借贷平衡的概念为:借方科目增加,必然贷方科目增加,数目一致。反之,借方科目 减少,必然贷方科目减少,数目一致。 链接:会计中的资产与负债的关系。资产增加,相应的负债也增加。反之亦然。 10101科目为现金科目,是银行的资产,是借方科目。 20101科目为企业存款科目,是银行的负债,是贷方科目。 个人做现金取款10000元,分录如下: 借 21101 10000.00 贷 10101 10000.00 资产负债所有者权益2 总分平衡 个人做现金存款10000元,分录如下: 借 10101 10000.00贷 21101 10000.00一级 211 二级 21101 三级2110101 分户 *总分平衡是对于科目来说。其中的“总”指上级科目,“分”指下级科目甚至帐号。可分两种:其一,无帐户的科目,上级科目的余额应与其下的所有下级科目余额之和相等。其二,有帐户的科目,上级科目的余额应与其下的所有下级科目余额之和相等,下级科目的余额要与所有帐户余额之和相等。一般情况下,科目分三级。那么总分平衡,可以这样说:无帐户科目一级科目余额要与其下所有二级科目余额之和相等,二级科目的余额要与其下三级科目余额之和相等。有帐户科目一级科目余额要与其下所有二级科目余额之和相等,二级科目的余额要与其下三级科目余额之和相等,三级科目余额要与其下所有帐户余额之和相等。Com_eod_exec二、记帐方式记帐交易的子交易,必须将子交易定义表(tx_sub _def)的acct_ind置为1(调用会计接口)1数据库表配置方式主要涉及到两个表,一个是tx_dc_rel(交易会计关系表),另一个是dc_entry(分录定义表)。11 交易会计关系表此表用来定义子交易与分录代码的关系,此表包含三个字段,其中:Sub_tx_code 字段代表子交易代码 即在tx_sub_def和tx_flow_def中的sub_tx_code(子交易代码)。Dc_code字段代表会计处理代码,此字段在此表中已无用处,置为0000Entry_code字段代表分录代码,此字段与下面提到的dc_entry表中的entry_code字段相同。根据此字段使两表衔接起来。例子:取款交易中的取款子程序和现金子程序在此表中的定义insert into tx_dc_rel values(D099,0000,D09900);insert into tx_dc_rel values(M001,0000,M00100);12 分录定义表此表用来定义分录代码,即走帐分录的定义。此表包含10个字段,其中:Entry_code字段代表分录代码,此字段与tx_dc_rel表中的entry_code字段相同。Seqn字段代表分录序号。即此子交易用到的分录序号。一般情况下,一个子交易只走一个分录,因此一般分录序号都为1。Cur_no字段代表币种。币种编号为两位字符型的数字。其定义在com_cur_no_code(公共币种表)中定义。Acc_hrt字段代表科目控制字。即为记帐时所走的科目。若为开头则表示数据编码,一般为某个域的编号。Dc_ind字段代表借贷标志。标示分录的借贷。1借 2贷。若为4位,则是数据编码,一般为某个域的编号。Use_br_ind字段代表是否根据清算机构判断启用未启用。0不启用 1启用。Ct_type字段代表是否根据清算机构判断现转。0否 1是。Ct_ind字段代表现转标志。1现金 2转帐。也可以为域编号。Amt_no字段代表发生额数据编码。一般为某个域的编号。Brf字段代表摘要。相当于备注。一般为空。例子:取款交易中的取款子程序和现金子程序在此表中的定义insert into dc_entry values(D09900,1,101A,0152,2,1,1,101B,1013);insert into dc_entry values(M00100,1,1181,10101,1,1,1,1,1184);101A、1181-币种域 0152-科目域 10101- 科目控制字2、1-借贷标志 1借2贷101B-现转标志 1 1现2转1013、1184-金额域13 交易流程表每个交易都是主程序u_servmain根据交易代码在交易定义的几个表中去找相关信息,来完成交易。首先,u_servmain接收前台送来的8583域内容的16域传来的交易代码2201,到tx_def表中查找,如下:select * from tx_def where tx_code=2201;X_C TX_NAME BIT_MAP L T W Y YW_PERCENT2201 储蓄存款业务 10000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000 1 1 2 3然后,根据交易代码2201去tx_flow_def表中找到相关记录:请注意此表中的flow_code和sub_tx_code两个字段。以现金取款为例,走其中flow_code为0、1、2三个分支来完成交易。select * from tx_flow_def where tx_code=2201;TX_CODE FLOW_CODE SUB_TX_CODE SUB_TX_RSLT2201 0 D099 #=00001#$1 D005 #=00012#=00023#=00034#$2201 2 M001 #$2201 3 D003 #$2201 4 D096 #$走flow_code为零时,调用子程序为D099(相关程序在$HOME/src/tx/de下),此程序调用pub_acct_trance记分户帐函数(相关程序在$HOME/src/pubf/acct下),处理分户(即帐户)的帐务,同时记录trace_log(交易流水表)。2110100000001 100.0010101 100.00然后程序会调用pubf_acct_proc函数(相关程序在$HOME/src/pubf/acct下),处理一开始所讲到的两个表中配置好的帐务分录,处理科目帐务,同时记录dc_log(分录流水表)。这样,通过配置走帐就完成。2 程序直接处理方式原理是为g_pub_tx 公共结构体赋相应的值,然后根据条件调用已配置好的tx_dc_rel 及dc_entry 来记账自定义函数int XXXXXXXX( char* acc_jf,char *acc_df,double amt,char *brf,char * br_no)将所要记账的函数所需要的要素变化函数sub_acct(*,*,*,*,*.)借方账号贷方账号金额摘要记账机构现举记科目例子int sub_acct( char* acc_jf,char *acc_df,double amt,char *brf,char * br_no) int ret=0; vtcp_log(借方记帐科目%s%.2lf,acc_jf,amt); if(amt=0) return 0; strcpy( g_pub_tx.tx_code, D129); - 程序的交易的代码 strcpy(g_pub_tx.tx_br_no,br_no); - 交易机构 非常重要 strcpy(g_pub_tx.opn_br_no,br_no); - 开户机构 非常重要 决定账务记到那个机构 strcpy( g_pub_tx.ac_id_type,9 ); /*账户类型为内部*/ strcpy( g_pub_tx.ac_get_ind,00 ); /*本程序未读取分户*/ strcpy(g_pub_tx.cur_no,01); -币种 strcpy(g_pub_tx.ac_wrk_ind,0000000); g_pub_tx.svc_ind=9001; - 参考pub_tx.h 里边详细说明 strcpy( g_pub_tx.ct_ind,2 ); - 现转标志 strcpy( g_pub_tx.add_ind,0 );- 增减标志 strcpy( g_pub_tx.prdt_code, ); - 产品代码 strcpy( g_pub_tx.ac_no,acc_jf ); - 账号 g_pub_tx.ac_id=0; g_pub_tx.ac_seqn=0; strcpy( g_pub_tx.note_type, ); strcpy( g_pub_tx.beg_note_no, ); g_pub_tx.tx_amt1=amt; strcpy( g_pub_tx.brf,brf ); strcpy( g_pub_tx.no_show,0 ); num_cnt+; set_zd_long( DC_TRACE_CNT,num_cnt); /* 调用会计分录自动记 */ ret=pub_acct_trance(); -分户处理 if( ret ) goto ErrExit; /* 进行会计记帐 */dc_entry 表中有A01600 分录定义 ,只要将相应的域进行赋值即可 set_zd_data(1204,01); -币种 set_zd_data(1205,2 ); - 现转标志 set_zd_double(1208,amt=1000); -金额 ret = pubf_acct_proc(A016); -会计分录解析 if (ret != 0) sprintf(acErrMsg,会计记帐不成功!); WRITEMSG goto ErrExit; 下面处理另一比分录 vtcp_log(贷方记帐科目%s%.2lf,acc_df,amt); strcpy(g_pub_tx.tx_br_no,br_no); strcpy(g_pub_tx.cur_no,01); strcpy(g_pub_tx.ac_wrk_ind,0000000); g_pub_tx.svc_ind=9001; strcpy( g_pub_tx.ct_ind,2 ); strcpy( g_pub_tx.add_ind,1 ); strcpy( g_pub_tx.prdt_code, ); strcpy( g_pub_tx.ac_no,acc_df ); g_pub_tx.ac_id=0; g_pub_tx.ac_seqn=0; strcpy( g_pub_tx.note_type, ); strcpy( g_pub_tx.beg_note_no, ); g_pub_tx.tx_amt1=amt; strcpy(g_pub_tx.brf,brf); strcpy( g_pub_tx.no_show,0 ); num_cnt+; set_zd_long( DC_TRACE_CNT,num_cnt); /* 调用会计分录自动记 */ ret=pub_acct_trance(); if( ret ) goto ErrExit; /* 进行会计记帐 */ set_zd_data(1214,01 ); set_zd_data(1215,2 ); set_zd_double(1218,amt); strcpy(g_pub_tx.opn_br_no,QS_BRNO); ret =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论