首页 理论教育 账务处理系统功能的实现

账务处理系统功能的实现

时间:2022-11-24 理论教育 版权反馈
【摘要】:群码是指将编码分成若干段,每一段有特定长度且代表一定的含义,用以反映编码对象特定的属性。群码编码方式在对编码对象进行唯一标识的同时,又能够包含编码对象较多的信息,在实际生活的各个领域应用都很广泛,如身份证、车牌号等的编码方式。会计科目编码采用群码的编码方式,即将会计科目编码分为若干段,每一段有固定的位数,第一段表示一级科目编码,第二段表示二级科目编码,依次类推。

第二节 账务处理系统功能的实现

一、会计科目编码

编码是指按某种规则编制的一组代码来标识特定的信息。编码是一组有规则的代码,是计算机能够快速识别和处理的符号,更适合于计算机高速数据处理;并且对于计算机而言,结合代码的编制规则,编码相对于汉字来说能携带更多的有用信息,便于计算机分类、查找、筛选、汇总等各项操作。

会计科目编码主要是用于代表汉字会计科目。企业所需要用的所有会计科目都需要按照一定的规则进行编码。

(一)编码的作用

1.提高录入效率

在进行数据录入时,录入对象的编码往往会比直接录入对象的文字名称更为简单或有效率,可大大提高数据的录入速度。

2.节省存储空间

在计算机内部,编码的存储空间要比文字的存储空间小,特别是相对于中文汉字。在数据存储量非常大的系统中,以编码代替文字进行存储,可以大大节省系统的存储空间。

3.提高计算机系统的处理效率

计算机系统对于编码的识别、处理的效率上,大大优于对于文字的识别和处理。直接使用编码对对象进行标识,其编码的方式还可以使编码包含关于对象属性的更多信息。在进行排序、索引、查询、分类等命令时,计算机可以直接利用编码即可完成。另外,由于编码的存储空间较小,使处理过程中读取和处理数据的效率也得到提高。

(二)编码的原则

在进行编码设计时,需要遵循一定的原则,以保证编码体系的科学性和合理性,这也会影响整个系统的效率。一般在设计会计科目编码时需要遵守以下原则:

1.唯一性

每个编码必须唯一地标识某一个科目,科目和代码之间必须是“一对一”的关系,科目代码不可重复。这种唯一性控制系统在输入时会作为输入校验的一个标准。如果科目编码出现重复,则系统会提示错误,需要修改,不能保存。

2.统一性

所有会计科目的编码标准必须是按照统一的编码方案进行编码的。

3.扩展性

编码既要适应企业当前会计核算的要求,又要考虑将来业务发展的变化,在设计编码时应注意保留一些空间,以方便将来科目的增减变动。

4.稳定性

科目编码要保持相对稳定,尽量减少编码的变动,尤其要避免大幅度的变动,如修改编码宽度、改变编码隶属关系、大范围合并与分解编码等。

5.合法性

凡是会计制度有统一编码的科目,包括科目和某些明细科目,都必须采用制度规定的编码作为科目的编码,一般不得各行其是,自定标准,这样是为了保持核算口径的一致性,提高电算化会计数据的可比性。

(三)会计科目编码方式与编码规则

1.会计科目编码方式

在对某一类对象进行编码时,需要采用特定的编码方式。常见的编码方式主要包括:

(1)序码。序码是指对编码对象顺序依次编码。如对于编码对象按照顺序依次编码为:001,002,…序码编码方式简单明了,易于扩充。但它没有其他的逻辑含义,对新增的对象的编码直接进行顺序追加。序码编码方式多用于简单的标识性作用。

(2)群码。群码是指将编码分成若干段,每一段有特定长度且代表一定的含义,用以反映编码对象特定的属性。群码编码方式在对编码对象进行唯一标识的同时,又能够包含编码对象较多的信息,在实际生活的各个领域应用都很广泛,如身份证、车牌号等的编码方式。

(3)组码。组码是按数字顺序将编码分组,以表示不同的项目。如将编码100~199特地分配给某一组对象,将编码200~299分配给另外一组对象。其实组码也可以理解为群码和序码的结合。如上例可理解为将代码分为两段,第一段1位,用以标识编码对象属于哪个组,第二段为后两位,用序码的方式编码,用以在同一组内对不同对象进行标识。

(4)助记码。助记码是指在进行编码时按照编码对象名称的拼音缩写来进行编码(如果编码对象是英文名称,也可以用特定英文缩写进行编码)。如科目“库存现金”的助记码可以编为“KCXJ”。助记码的编码方式将编码直接与人能够理解的自然语言进行对应,其优点是对于人来说容易记忆,缺点是对于计算机而言,不具备处理优势,而且在编码对象较多时,拼音缩写容易出现雷同的现象,违背了编码的唯一性原则。

会计科目编码采用群码的编码方式,即将会计科目编码分为若干段,每一段有固定的位数,第一段表示一级科目编码,第二段表示二级科目编码,依次类推。例如:

原材料——1211

原料及主要材料——121101水泥——12110101圆钢——12110102

直径为50毫米的圆钢——1211010201上例中,末级科目“直径为50毫米的圆钢”的编码为1211010201,编码长度10位,分为4段,第一段“1211”表示其一级科目“原材料”,紧接着的两位“01”表示“原材料”的下级科目“原料及主要材料”,依次类推。

另外,在对会计科目进行编码时,科目编码的首位按照科目的类型编码,即资产类科目首位为“1”,负债类科目首位为“2”,共同类科目首位为“3”,所有者权益类科目首位为“4”,成本类科目首位为“5”,损益类科目首位为“6”。因此,在系统运行时,系统只需要获取科目代码,即能识别科目的类别,在进行数据处理、分类、汇总时比处理汉字会计科目效率要高很多。

财政部在制定企业会计制度时,就已经对一级科目以及少量二级、三级科目规定了代码,如表3-1所示。对于没有给出的二、三级科目,可以参照财务软件系统,根据编码方法和原则,结合企业自身业务特点和应用自行编码。

表3-1 会计科目名称及其代码

img17

续表

img18

2.会计科目编码方案

对于群码编码方式来说,编码的关键问题是代码分成几段,每段由几位组成,并且代表什么含义。定义这个内容的规则就是编码方案,也可称为编码结构或级长分配。

在上例中,会计科目的编码方案为4-2-2-2。表达的编码规则包含如下两个方面的内容:第一,科目编码时,一级科目用4位表示,二级科目在其上级科目的基础上增加两位予以标识,三级科目在其上级科目的基础上增加两位予以标识,四级科目在其上级科目的基础上增加两位予以标识。第二,科目级次最多只能有4级。那么,在这个编码方案下,会计科目的编码长度只会出现4种可能,4位编码为一级科目的编码,6为编码为二级科目的编码,8位编码为3级科目的编码,10位为4级科目的编码。科目的编码最长只能有4级,那么企业不能再进行5级或更长级长的编码。

会计科目编码方案确定具体编码的规则,具体编码必须在编码方案已经确定的基础上才能进行。如果具体编码违背了编码方案,系统将认为编码非法,无法将编码保存。因此,编码方案的确定是进行具体编码的前提。在软件系统中,一般编码方案是由用户在进行具体编码前根据企业需要自行设定的,由于编码方案直接影响和规范后续具体编码的编制工作,所以对编码方案的合理设置是非常重要的。在设置编码方案时,对于每一级位数的确定需要根据企业当前需要以及将来发展的需要。如果将位数设置过少,会影响编码的可扩展性;如果位数设置过多,会造成不必要的冗余和空间浪费。

会计科目编码方案对具体编码进行限制,同时也能帮助系统获取科目相关信息。

系统按照会计科目编码方案的位数设定,能够获取具体科目的所有上级科目和下级科目,还能够判断该科目的级次。

(四)会计科目编码方案规则

在应用计算机账务处理系统时,会计科目编码设置是属于系统初始化工作的一个部分。在进行会计科目编码设置前需要先设置好会计科目编码方案。软件开发商会为会计科目编码方案设定规则和限制条件,这就是编码方案规则,因此编码方案规则是固化在软件中的,在软件开发时就确定了,用户在进行会计科目编码方案设置时必须遵循。编码方案规则是从系统的软件、硬件条件出发,确保系统的正确性、合法性以及运行的最优性。编码方案规则一般从三个方面来限制编码方案的设置:最大级数、最大长度和单级最大长度。

1.最大级数。确定会计编码方案中级数的最大值。用户在设置编码方案时,设置的级数不能超过系统设置的最大级数。如果没有这一限制条件,用户可以把编码方案的级长设置得很大,就意味着具体编码的级数可以很大。从实际应用需求中,太长的级数往往很少用到,这样设置只会增加空间的浪费,降低处理的效率。

2.最大长度。限制会计编码方案设置的总和长度。如果编码方案设置的代码总和长度位数过大,也只会是空间的浪费。

3.单级最大长度。规定每级代码所占用的位数的最大值。如在编码方案“4-2-2-2”下,一级代码占用4位,意味着系统中最多可以有104个一级科目,二级代码在一级代码基础上占用2位,意味着这个一级科目理论上最多可以有102个二级科目。

在实际应用中,会计科目编码方案规则一般是由电算化软件厂商在软件中已设置好的,不能修改,属于系统参数,只能在其约束条件下设置编码方案,再根据编码方案进行具体的会计科目编码。所以,会计科目编码的操作顺序是:先在系统的编码方案限制条件下设置编码方案,再根据编码方案设置具体的会计科目编码。图3-4是用友财务软件某个版本中编码方案设置的窗口,其中可以看到系统已经确定的三个限制条件:编码方案最大级数为6,单级最大长度为9,编码总长度不能大于15。编码方案规则中限制条件的具体数值,对于不同的厂商、软件的不同版本都有可能不同。

img19

图3-4 用友软件某版本编码方案设置窗口

二、账务处理系统流程

(一)手工账务处理流程

在手工核算的方式下,不同行业、规模和业务特征的企业根据自身特点采用不同的会计核算形式或账务处理程序。常见的账务处理程序包括:记账凭证核算程序、日记总账核算程序、科目汇总表核算程序、汇总记账凭证核算程序和多栏式日记账核算程序。每种账务处理程序适合不同的企业业务特点和会计数据量,在会计数据的处理方法和流程上的差别主要在于登记总账的方法和依据不同。本节主要介绍记账凭证核算程序和科目汇总表核算程序。记账凭证核算程序是较为基础的处理流程,科目汇总表是应用相对较为广泛的处理流程。其他账务核算流程具体可参见会计学原理相关教材。

账务处理流程从根据原始凭证填制记账凭证开始,然后对记账凭证进行审核,审核通过对现金日记账、银行存款日记账、总账和明细分类账进行记账操作,期末对账、结账,编制报表。在这个流程中,总账登记的方式和数据来源是各个账务核算程序的主要区别。

1.记账凭证核算程序

记账凭证核算程序在登记总账时,直接根据记账凭证逐笔登记。总账的登记方式与明细账的登记方式相同。总账数据直接来源于记账凭证,总账数据包含科目会计期间每笔经济业务的详细记录。采用记账凭证核算程序,需要将每张记账凭证上的分录信息同时记到明细分类账和总账上,工作量很大,一般只在企业规模较小、业务量较少的企业使用。图3-5给出记账凭证核算程序的数据流程图,具体流程如下:

(1)根据原始凭证,按照业务内容和记账凭证的分类,填制相应类别的记账凭证。一般的凭证类别可以分为三类:收款凭证、付款凭证和转账凭证;或分为五类:现金收款凭证、现金付款凭证、银行存款收款凭证、银行存款付款凭证和转账凭证;也可以统一为记账凭证一个分类。

(2)对记账凭证进行审核,审核发现问题需要修改,审核无误的记账凭证可以进入记账程序。

(3)根据记账凭证,按照业务性质,分别登记现金和银行存款日记账以及各科目的明细分类账。

(4)根据记账凭证登记总账。

(5)根据明细分类账和总分类账编制会计报表。

2.科目汇总表核算程序

科目汇总表核算程序不直接根据记账凭证登记总账,而是在会计期间内,按照特定的分期(如每旬一次、或半月一次,数据量小的月底一次也可以的)把时段内的记账凭证按照科目对其发生金额进行汇总,编制科目汇总表,得到每个科目在特定时段内的借方发生额和贷方发生额的汇总数,然后将汇总数登记到总账,并得到科目余额,即是根据科目汇总表登记总账。图3-6给出科目汇总表核算程序的数据流程图,具体流程如下:

(1)根据原始凭证,按照业务内容和记账凭证的分类,填制相应类别的记账凭证。一般的凭证类别分类可以分为三类:收款凭证、付款凭证和转账凭证;或分为五类:现金收款凭证、现金付款凭证、银行存款收款凭证、银行存款付款凭证和转账凭证;也可以统一为记账凭证一个分类。

(2)对记账凭证进行审核,审核发现问题需要修改,审核无误的记账凭证可以进入记账程序。

(3)根据记账凭证,按照业务性质,分别登记现金和银行存款日记账以及各科目的明细分类账。

img20

图3-5 记账凭证核算程序数据流程图

img21

图3-6 科目汇总表核算程序数据流程图

(4)按照特定分期,将该时段内的记账凭证进行汇总,编制科目汇总表。

(5)根据科目汇总表上相应科目的借方发生额和贷方发生额的汇总数登记总账。

(6)根据明细分类账和总分类账编制会计报表。

科目汇总表核算程序是比较广泛应用的核算程序,它使用科目汇总表登记总账,避免了繁重的记账凭证转抄的工作量,同时,科目汇总表还能够通过检查所有科目借方和贷方发生额的合计数来进行借贷平衡的检验。其缺点是无法反映科目之间的对应关系。

(二)手工账务处理的缺陷

在手工账务处理流程中,会计人员根据原始凭证编制分录,填制记账凭证,然后将记账凭证上的分录再按照科目登记到账簿中去。在这个过程中,分录信息在记账凭证和账簿上重复保存,记账的工作量繁重,给手工账务处理流程带来了明显的缺陷。

1.工作量大

会计分录信息按照发生的经济业务存放在一张张的记账凭证上,反映经济业务的发生和科目之间的对应关系。同时,会计分录信息在记账过程中又需要按照科目分类登记到账簿中去,反映每个科目的业务发生记录,计算出每个科目的累计发生额和当前余额,以便于会计报表的编制。记账工作实质上是对会计分录信息的重分录和转抄工作,其过程包含大量转抄工作,数据重复存放,工作量非常大。

2.数据容易出现错误

在整个账务核算流程中,每个环节都需要手工处理大量的数据,出现错误难以避免。在转抄过程中出现错误,就会引起后续报表编制的错误。所以,在手工账务处理流程中,对账是非常重要的环节。对账的内容包括:账证核对、账账核对和账实核对。账证核对和账账核对就是为了检查在手工登记账簿的过程中是否有错误存在。

3.信息提供不及时

由于手工账务处理工作量大,手工处理方式效率较低,较高的错误率使对账工作量加大,这些都导致信息的提供需要较大的延时。信息价值决定因素中很重要的一个因素就是及时性。信息提供的延时越大,信息的价值就会越低。

(三)会计电算化账务处理系统流程

会计电算化账务处理系统中,数据的存储、处理、查询等方式都发生了巨大的改变。手工方式下,会计数据、信息都存放在具有既定格式的凭证、账簿里,数据输入格式、存储格式和查询、输出格式都是一定的。在电算化方式下,数据的载体变为磁介质,数据的存储、处理、显示采用数据库技术,其后台真正的运行方式发生了改变。在数据库中,大多数数据都只存放一次,避免了传统手工方式下数据转抄带来的冗余和低效性。采用索引等技术保持数据项、数据文件间的关系,在需要输出时,使用视图,将存储在磁介质上的数据以符合用户需求的格式输出。所以,可以这么说,计算机账务处理系统是以数据库的形式存放需要的数据,以索引、指针等形式保留数据关系,在用户查询时,用既定的关系将需要的数据组织出来,显示和输出符合用户格式要求的视图。

在认识会计电算化账务处理系统时,需要认识两个概念:逻辑模型和物理模型。

逻辑模型是指从用户角度来看,会计电算化账务处理系统实现的功能和处理流程。从用户的角度来看,会计电算化账务处理系统提供了手工方式下会计核算程序所需要的所有功能,包括填制凭证、审核凭证、修改凭证、记账、对账、结账、凭证与账簿的查询与输出等功能;还提供了基于计算机技术的辅助功能,如输入校验、自动转账生成、辅助账等。在逻辑模型下,会计电算化账务处理系统表现为两个方面的特点:一是涵盖手工方式下所需的处理流程,并对其中的某些流程实现系统自动完成来替代手工处理的方式,其效果能提高工作效率,提高数据的正确率。二是利用计算机技术,提供了在手工方式下无法实现的功能来优化处理流程,提高处理效率。

物理模型是指从软件系统内部的真正实现方式来看,会计电算化账务处理系统运行的方式、数据的存储、查询、输出等与手工方式都存在着很大差异。在手工方式下,会计信息存放在记账凭证、日记账、明细账、总账等会计文档上。不同会计文档上的数据具有一定的重复性,每个会计文档真实存在且具有各自的格式,在需要时,翻阅查询。在会计电算化账务处理系统中,从逻辑模型的角度,用户可以看到和手工方式下格式相同的会计文档,如记账凭证、各种账簿,但是从物理模型角度,会计电算化系统中会计数据和信息都是以数据库文件的形式存放的,与用户看到的记账凭证或者账簿的格式是不一样的。用户看到的是系统根据用户发出的指令,读取存放在数据库中相应文件中的数据,并即时在显示输出设备上绘制用户需要的格式。存放在数据库文件中的数据,一般会避免冗余而不会重复存放,能较好地节省存储空间,并保持数据的一致性。

在会计电算化账务处理系统的物理模型中,存放会计数据的主要数据文件包括记账凭证文件、科目余额发生额文件、科目文件等(在下一小节将会具体讨论数据文件的结构)。会计电算化账务处理系统的数据流程如图3-7所示。

img22

图3-7 会计电算化账务处理系统数据流程图

从上图中可以看出,在会计电算化账务处理系统中,并不真实存在与手工方式下相同格式的记账凭证和账簿,系统使用数据库文件存放记账凭证和账簿中所有的数据和信息,这些数据库文件称为实表,在图3-7中用双平行线表示。在输出过程中,系统按照手工方式下的格式显示给用户看的记账凭证以及账簿,称为视图,等同于虚表的含义,也就是说不是真正存在的表,在图3-7中用平行四边形表示。

会计电算化账务处理系统从凭证数据的采集、录入到会计信息的输出,主要经历以下几个步骤:

1.记账凭证数据的采集或录入。对于账务处理系统而言,这是数据的输入步骤,输入的方式可以分为由会计工作人员手工录入和由其他相关子系统的自动转账机制将自动生成的凭证传递而来。这两种方式虽然数据输入的来源不同,但输入的记账凭证都需要通过系统的输入校验,然后存放到系统中的临时记账凭证文件中,等待下一步处理。

2.凭证审核。存放到临时记账凭证文件中的每张凭证数据需要经过审核步骤。审核功能其实主要由查询和标记两项子功能组成。首先,系统将用户要审核的凭证数据从临时记账凭证文件中找到,并按照记账凭证格式显示在屏幕上供用户审核,在用户完成审核后,系统提供标记功能,如果通过审核,用户标记通过审核,即在凭证签名栏签上审核人姓名,并且相应凭证数据被标为只读,将不能被修改;如果审核发现错误,则系统提供标错功能,在有误的记账凭证上标记上错误记号以供修改。

3.凭证修改。如果有凭证数据在输入后或审核标错后需要修改,系统从临时记账凭证文件中提取出对应数据,以既定格式显示给用户,并提供给用户修改的功能,修改完毕后,更新临时记账凭证文件。

4.记账。在手工方式下,记账步骤是将记账凭证上的信息根据会计科目转抄到相应的账簿上。在计算机账务处理方式下,数据不再需要重复存放,通过指针、索引等方式建立起数据项和数据表之间的关系就可以了。记账程序在执行时只是计算和更新账簿数据所需要的除记账凭证之外的数据,如余额、余额方向、累计借方发生额、累计贷方发生额等,然后为关联记录建立相应的联系,供账簿查询、输出时使用。其具体执行内容和步骤是:将临时记账凭证文件中已审核通过的记账凭证数据转存于记账凭证文件中,并据此更新科目余额发生额文件中对应的数据,然后将已转存的记录从临时记账凭证文件中删除。记账凭证文件中的记录不能被修改。

5.查询。根据用户查询条件,读取记账凭证文件和科目发生额余额文件中的数据项,并按照既定格式,输出日记账、明细账;根据用户查询条件,读取记账凭证文件或临时记账凭证文件中的记录,并按照既定格式,输出记账凭证(查询未记账凭证时则是从临时记账凭证文件中读取数据)。

6.银行对账。将银行月末提供的对账单数据录入到系统的银行对账单文件中,从记账凭证文件中读取涉及银行存款对账的分录数据,勾对已达账项,然后根据未达账项、银行对账单余额和企业银行存款日记账余额编制余额调节表。

7.结账。结账操作在计算机账务处理系统中更多的表现为只读记号的标记。结账后,当月不再接收数据的输入。在结账前,还需要检查当月必须完成的工作是否都已经完成,数据状态是否正确等核对工作。

三、账务处理系统数据结构

在会计电算化账务处理系统中,所有的数据、信息都是以数据文件的形式存放在计算机内。数据文件主要采用二维表的形式。在设计数据表的格式时,应考虑到既满足数据存储、查询的要求,又要减少数据存放的冗余。在实际设计中,往往需要考虑时间和空间两个指标,在两者之间进行适当的权衡和取舍。时间指标指的是系统的响应速度。一般对于响应速度较高的系统,有限考虑时间指标。为了提高响应速度,对于使用和查询频率较高数据就要采取一次计算、直接存储的方式,而不是在每次需要时动态生成,以及对于访问量较大的数据做镜像以缓解拥塞带来的时延。空间指标是指对减少存储空间的要求。一般系统会避免冗余数据的存放来节省空间。要根据系统需要和特性,对两个指标适当取舍和权衡才能最优化系统效率。以下介绍会计电算化账务处理系统主要的数据文件的结构。

(一)科目文件

科目文件是用来存放企业核算时需要用的所有科目的代码、名称、性质等各类信息的。在系统初始化时,科目设置步骤将企业需要使用的会计的各项属性设置好,在后续处理流程中,科目文件便成为输入的辅助参照、输入校验的标准以及相关数据项关联的依据,具有非常重要的作用和地位。科目文件的典型结构如表3-2所示。

表3-2 科目文件结构

img23

1.科目代码:指按照系统的编码规则,为每个科目编制的代码,每个科目具有唯一代码。需要注意的是字段的数据类型是字符型,而不是数值型。

2.科目名称:是指确定每个科目的名称,类型是字符型。

3.科目类型:是指根据会计准则规定的科目所属的类型,如资产、负债、所有者权益、成本、损益等。需要注意的是,这个字段的存储从理论上来说不是必需的,只要知道了某个科目的科目代码,可以通过科目代码的首位来判断该科目的科目类型。如果选择将该属性作为字段存储在数据文件中,则是考虑了时间指标;如果对于空间指标要求比较高,此字段是可以不存放在数据文件中的,只在需要的时候动态计算就可以了。

4.科目性质:科目性质是指科目所具有的特殊核算要求。如是不是“银行账”,是不是“日记账”,是否有辅助核算、外币核算、数量核算等。这里把科目性质字段设置为字符型是一个简化的方式,在实际设计中是采用较为复杂的方式来实现的。

5.余额方向:余额方向通过逻辑型字段表明该科目的默认余额是在借方还是在贷方。

6.父科目:该字段存储科目的直接上级科目代码。这一字段也不是必需的。通过科目代码,结合科目编码方案,系统能够识别出科目的直接上级科目的代码。如果作为单独的字段予以存储,则是出于提高时间指标的考虑。

7.是否明细:该字段表明科目是不是末级科目。这一数据,从计算实现的角度,也可以由系统搜索所有科目的代码,并结合编码方案计算得到。但是,这一计算过程要搜索科目代码,相对较为占用资源和运算时间,且该数据使用频率较高,同时,该数据占用的存储空间很小,且一次计算后,一般不会频繁变动,所以对时间和空间指标进行权衡,该数据作为字段存放在数据文件中是较优的选择。

科目文件的数据实例如表3-3所示,展示数据存放的方式。

表3-3 科目文件示例

img24

(二)记账凭证文件

记账凭证文件是存放账务处理系统中记账凭证数据的地方,该文件要求能存放手工格式下记账凭证的所有数据,在实际系统中,该数据文件的结构还包括一些程序所需要的控制参数字段,这里我们只列出与会计核算数据和流程相关的字段。最直接的方式是将记账凭证中所有需要存储的内容都作为一个字段,其结构如表3-4所示。

表3-4 记账凭证文件结构

img25

续表

img26

按照上述文件结构,将记账凭证存储到记账凭证文件中,如表3-5所示。

表3-5 记账凭证文件示例

img27

从表3-5可以看出,在这种结构设计中,存在着同一数据的重复存放。记账凭证中一行分录在数据文件中占据一行,而每行分录除了发生的会计科目和发生金额不同外,其他字段的数据项都是相同的,被重复存储,且并没有提高时间指标,那么,这种数据的冗余是低效的,是应该优化的。优化的思路是区分一张记账凭证中基本内容和分录内容,将两者分别存放在两张不同结构表的数据文件中——记账凭证基本内容文件和记账凭证分录内容文件。具体文件结构如表3-6、表3-7所示。

表3-6 记账凭证基本内容文件

img28

表3-7 记账凭证分录内容文件结构

img29

这样优化后,数据的冗余解决了,节省了存储空间。记账凭证基本内容文件和记账凭证分录内容文件通过“凭证类别”和“凭证编号”两个字段进行联结,保持其数据关系。在查询和输出凭证时,系统根据这两个字段查找同一张记账凭证中的所有分录进行组织和输出。实现过程实例如表3-8、表3-9所示。

(三)科目余额发生额文件

科目余额发生额文件提供在某个时点,每个科目的期初余额、借方发生额、贷方发生额等数据,提供系统内科目的一个总括的数据状态。从系统功能实现的角度来说,它提供了科目总账需要的数据。科目余额发生额文件的数据来源于两个不同的工作步骤。其中期初余额数据来源于系统初始化工作时的初始余额录入,各个科目的借方发生额、贷方发生额合计数则是在每次执行记账操作时,用参与记账的记账凭证上的数据根据发生的科目进行累加、更新得来的。因此,计算机账务处理系统的记账工作步骤中很重要的一个内容就是更新科目余额发生额文件中的发生额数据。科目余额发生额文件的一般结构如表3-10所示。

img30

表3-10 科目余额发生额文件结构

img31

总账账簿中需要的期末余额数据并不是科目余额发生额一定需要存储的,其可以通过已存储的数据计算得到。如果期初余额在借方,则期末余额=期初余额+借方发生额-贷方发生额,计算结果为正,则期末余额方向在借方,否则在贷方;如果期初余额在贷方,则期末余额=期初余额+贷方发生额-借方发生额,计算结果为正,则期末余额方向在贷方,否则在借方。

在大多数正规的计算机账务处理系统中,都提供科目的全局总括数据以备用户在查询时使用,其提供的视图主要就是基于科目余额发生额文件的。在不同的软件系统中,所使用的菜单名称有所不同,如“余额表”、“科目余额表”等。图3-8显示的金蝶软件中科目余额表的窗口,这个功能的显示就是主要基于科目余额发生额文件的。

img32

图3-8 金蝶软件科目余额表窗口

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈