·信用承诺·联系我们·加入收藏·设为首页·网站地图
当前位置: 硕士论文网 > 会计硕士 > 基于 ECA 规则的动态会计平台的构建

基于 ECA 规则的动态会计平台的构建

来源:未知
  

[摘要]会计信息系统利用动态会计平台来实现记账凭证的自动生成,以实现财务业务一体化的目标。本文将ECA规则引入到动态会计平台的构建中,探讨了ECA规则在动态会计平台中的应用,建立了基于ECA规则的动态会计平台的模型;分析了ECA规则表示账务处理规则的方法,并结合存货入库账务处理的实例说明其实现的过程。
 
  [关键词]ECA规则;动态会计平台;自动生成
 
  0引言
 
  主动数据库中的ECA规则由于能灵活而有效地描述系统行为的一般规律,目前已广泛地应用于基于规则的网络管理(PBNM)、电子商务、股票交易、采购活动、工作流建模、分布式环境下的应用和模糊知识表示等众多领域。
 
  为了实现财务业务一体化的目标,提供实时信息,动态会计平台已在会计信息系统的开发设计中逐步被使用。利用ECA规则的主动反应特性所构建的动态会计平台,能够对经济业务事件进行主动识别,根据相关会计规则调用不同类型的记账凭证模板,并将相关表单中的数据读入该记账凭证模板,完成记账凭证的自动生成。
 
  1ECA规则
 
  ECA规则是指当一个事件(Event)发生并且满足一定的条件(Condition)时就执行一定的动作(Action),称为“事件—条件—动作”(Event-Condition-Action)规则,简称ECA规则。其表示形式如下:
 
  RULE<规则名>[(<参数>,)]
 
  WHEN<事件表达式>
 
  IF<条件1>THEN<动作1>
 
  IF<条件n>THEN<动作n>;(n≥1)END RULE<规则名>
 
  其中,<条件i>(i=1,2,,n)是某种逻辑中任意的合法的逻辑表达式。在一般情况下,条件表达式可以是规则语言中的任何逻辑表达式,可以包含函数或过程调用,还可以是更复杂的表达式并且可以包括对数据库的查询,一般用来判断输入的数据值、对象的内部状态或他们和其他对象的关系等。
 
  <动作i>(i=1,2,,n)可以是系统预先定义的一些标准动作,也可以是用户定义的一个动作或动作序列,或是用某种语言编写的一个过程,动作可以是引发任一事件(包括规则本身中所包含的事件)的一个命令,也可以是引发执行某一指定的规则的命令。规则名是全局名,使规则名在整个系统内是唯一的标识规则。
 
  上述事件驱动的“事件—条件—动作”规则的语义是:“一旦<事件表达式>所表示的事件发生,计算机就主动触发执行其后的IF-THEN规则。即如果<条件1>为真,则执行其后的<动作1>,并且接着逐个检查下一个IF-THEN规则,直至执行完为止。”
 
  在一个主动数据库中,一方面包含了称为“被动数据”的传统数据库,另一方面包含了称为“规则库”的一个能根据事件的发生主动激活执行的知识库。这个规则库受系统中一个“事件监视器”的监视控制。用户可以通过设置(或编制)各种不同的事件驱动的规则库,以一种统一的机制来实现多种主动处理功能,满足各种客观需求。
 
  2动态会计平台
 
  动态会计平台是根据事先定义好的会计描述,包括入账科目、影响因素、科目分类对照表和凭证模板的定义,对各系统的原始单据与业务处理自动生成实时凭证,并按照用户的设置将实时凭证生成记账凭证,传到总账系统。动态会计平台由事件接收器、各类会计凭证模板、凭证生成器和各类实时会计凭证组成,其结构如图1所示。
  事件接收器是动态会计平台的开始部件,它嵌入在各子系统的业务模块中,用于接收事件信息。当一项经济业务(事件:event)发生时,事件接收器负责对信息进行识别并驱动会计动态平台中的相应规则。
 
  会计凭证模板是严格按照各种报告规则要求而设立的各经济业务所对应的凭证结构的模板,可以依据使用者的不同要求而有多种设置方式,既可以是财务会计凭证模板,也可以是管理会计凭证模板。计算机将结果保存在动态会计平台的会计凭证模板文件中,供生成实时会计凭证使用。凭证生成器是根据经济业务事件的信息和会计凭证模板,自动生成实时凭证。所生成的实时凭证可以存放在临时凭证文件中,以便于会计人员进行审核和记账处理。
 
  实时凭证是登记账簿和生成报表的依据,它最突出的特点是实时性和强制性,即在一项经济业务发生的当时就可产生正确的实时凭证;该实时凭证是由计算机自动生成的,整个过程中没有任何人工干预。
 
  3基于ECA规则的动态会计平台
 
  基于ECA规则的动态会计平台是以ECA规则为基础构建的能够对业务事件进行主动反应并自动生成相应记账凭证的会计平台。该平台可以监视、接受系统外部或内部传递来的业务信息,并由这些信息触发执行生成记账凭证的动作。该动作的执行是按照事先定义的ECA规则执行的。ECA规则描述了会计处理过程,并存储在规则库中。当经济业务发生时,系统对接受到的事件信息进行识别,搜索相关规则,根据规则调用记账凭证模板,读取、添加数据到记账凭证模板并输出,实现由业务单据到记账凭证的自动生成。其结构如图2所示。
  基于ECA规则的动态会计平台中,事件是与会计
 
  记录相关的经济业务事件。这些事件部分来自于动态会计平台与外部的接口(如人机交互接口);部分来自于会计信息系统中的其他模块(如工资、固定资产模块)。当发生与会计记录相关的数据录入时,系统将以事件的形式通知动态会计平台,所有进入动态会计平台的事件都是由事件接收器接受、甄别的。
 
  ECA规则中的条件是指由经济业务事件的原始数据记录(主要是各类原始凭证)向记账凭证转换的会计处理规则的逻辑表达式。例如采购发票所记录的物资采购方式、结算方式。将这些业务信息加以归类、总结并用逻辑表达式予以表示,作为对经济业务事件属性判定的条件。
 
  ECA规则中的动作是指根据事件和条件,从记账凭证模板库中调用与之对应的凭证模板,对其添加数据,生成正确的记账凭证同时将其输出的过程。
 
  动态会计平台中的事件监视器在发现某一业务事件信息时,触发规则处理机,对比事件数据库中的事件,并从规则库中提取相应规则,根据该规则调用事件处理程序进行即时处理,从而自动生成记账凭证。在动态会计平台的构建中,最关键的是规则库的建立,即如何利用ECA规则表示出业务事件的会计处理流程,这是实现记账凭证自动生成的基础。
 
  4实例
 
  以工业企业的存货(设为原材料)入库的账务处理为例来说明基于ECA规则的动态会计平台的实现过程。设所有分录均已按相应凭证格式存储于记账凭证模板库中。
 
  设仓库的收货记录数目为S1,采购发票列示的存货采购数目为S0,存货的计划价格为P0,实际价格为P1,增税率为T,1211为原材料科目代码,1202为物资采购科目代码。
 
  存货入库时的入库事件可分为短缺和非短缺两类子事件,将其作为ECA规则的事件,并编码:110——无短缺(S0=S1)、111——短缺(S0>S1);将P0与P1间的差异作为ECA规则的条件,并编码:00——P0=P1、01——P0<P1(超支)、02——P0>P1(节约)。
 
  存货入库时,按入库单上的实收存货数量和计划成本确认存货成本,对于超支或节约的部分同时结转差异。针对不同的情况编制的分录也不同。主要有:
 
  正常入库,即S0=S1且P0=P1,会计分录如下(编码为11000):
 
  借:原材料——××材料P0×S1
 
  贷:物资采购——××材料P0×S1
 
  成本超支时,即S0=S1且P1>P0,分录如下(编码为
 
  11001):
 
  借:材料成本差异——××材料(P1-P0)×S1
 
  贷:物资采购——××材料(P1-P0)×S1
 
  成本节约时,即S0=S1且P1<P0,分录如下(编码为11002):
 
  借:物资采购——××材料(P0-P1)×S1
 
  贷:材料成本差异——××材料(P0-P1)×S1
 
  发生合理损耗以外的短缺时,即S0>S1且P0=P1,分录如下(编码为11100):
 
  借:待处理财产损益——待处理流动资产损益
 
  P0×(S1-S0)
 
  贷:应交税金——应交增值税(进项税额转出)
 
  P0×(S1-S0)×T
 
  物资采购——××材料P0×(S1-S0)×(1+T)
 
  由上述分析可以得出存货入库记账凭证的事件(Event)、条件(Condition)和动作(Action)之间的对应关系如下表所示:

Event——无短缺和短缺子事件;Condition——计划价格与实际价格间的关系;Action——选择相应记账模板,将数据读入记账凭证模板,并输出该记账凭证。存货入库记账凭证自动生成的ECA规则可以表示为:
 
  ON S0=S1 IF P0=P1 THEN从记账凭证模板库中调用11000模板,将入库单中的金额数(S1×P1)分别读入借方和贷方
 
  IF P0<P1 THEN从记账凭证模板库中调用11001模板,从入库单中取P0、P1和S0,计算出(P1-P0)×S0,并将结果读入借方和贷方
 
  ELSE THEN从记账凭证模板库中调用11002模板,从入库单中取P0、P1和S0,计算出(P0-P1)×S0,并将结果读入借方和贷方
 
  ON S0>S1 THEN将入库单中的计划单价与溢缺数的乘积,即P0×(S0-S1)分别读入借方和贷方
 
  ECA规则程序如下:
 
  1.相关类
 
  IInv=class(Object)Update(DebId:int;CreId:int;DebSum:float;CreSum:float);
 
  end;
 
  2.创建事件UpdateIInvEvent
 
  Create Event UpdateInvVouEvent After IInv.Update
 
  3.创建规则UpdateInvVouRule CreateRuleUpdateInvVouRule(Sender:
 
  ResourcePointer;DebId:int;CreId:int;DebSum:string;CreSum:string)
 
  On UpdateInvVouEvent Mode:Immediate Condition:
 
  function idno_condition(Sender:ResourcePointer;DebId:int;CreId:int;DebSum:string;CreSum:string)
 
  Begin
 
  result:=(S0=S1)and(P0=P1)end;
 
  Act:procedureidno_action(Sender:ResourcePointer;DebId:int;CreId:int;DebSum:string;CreSum:string)
 
  Begin
 
  Sender.Update(1211;1202;P0×S1;P0×S1);
 
  end;
 
  Modify:Always
 
  系统执行过程:当用户执行Update方法后,产生UpdateIInvEvent事件,接着触发规则UpdateInvVou-Rule,对条件进行判断,若条件为真,则执行活动部分,更新记账凭证的内容。
 
  5结束语
 
  ECA规则的应用使得动态会计平台的各程序间可以没有直接相互作用,所有的相互作用由规则的激活产生;对会计处理应用程序行为的修改,可以修改会计处理规则而不必修改程序;应用程序成为非常简单的服务,高层逻辑被编码在规则中而不是在应用程序中,这使得应用程序更加模块化,更易改写。因而提高了动态会计平台的灵活性和即时响应能力。
 
  主要参考文献
 
  [1]S.Chakravarthyetal.ECA Rule Intertation into an OODBMS:ArchitectureandImplementationInProce.ofIEEEDataEngineering.,1995.
 
  [2]张瑞君.会计信息系统[M].北京:中国人民大学出版社,2004.
 
  [3]董飚.基于ECA的主动机制的研究[D].河海大学硕士论文,2004.
 
  [4]毕利.主动数据库的模型及实现途径[J].计算机工程,2000,26(9).

 

 

  


在线客服系统