魏恩兰++昂朝群
摘要:为实现通用装备维修经费决算管理自动化的目标,设计通用装备标准计领经费决算管理系统具有重大经济效益。在介绍通用装备计领经费决算一般方法基础上,根据信息化建设需要提出应用Spread数据网格技术实现通用装备标准计领经费的科学高效决算,并对系统中的决算功能模块进行详细设计和具体实现,发现该方法非常科学高效。
关键词: 数据网格;Spread;经费决算;通用装备
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)15-3531-04
Research and Design on the System of funds final Accounts Based on Data Grids
WEI En-lan, ANG Chao-qun
(College of Electronics Eng. Naval Univ. of Engineening,Wuhan 430033,China)
Abstract: To achieve the target of management automation of common equipment maintenance funds accounts, designing funding accounts management systems for general equipment standard counting and drawing has significant economic benefits. On the basis of the introduction of a general method for general equipment fund accounts, raise Spread accounts data grid technology to achieve scientific and efficient general equipment standard counting and drawing and to meet the application of information technology needs, and functional modules of accounts in the system was designed in detail and achieved specifically,and found that the scientific method is very efficient..
Key words: Data Grids; Spread; funds final accounts; general equipment
随着网络技术和数据库技术的飞速发展,特别是互联网络的出现及其相关技术的迅速发展,越来越多的领域和部门进行了信息化的基础建设,日常业务与管理的自动化水平越来越高。在军事领域,由于部队通用装备种类多,使用的地理环境、承担的战备和保障任务也不尽相同,因而其维修经费需求也不相同。如何准确、及时地对部队实施维修费供应,满足部队装备建设需要,这是装备维修费管理面临的一项主要任务。由于全军使用标准计领经费的单位多,经费构成复杂,数据量大,有关标准经费的计算方式和领取办法复杂程度大,其相应计领决算统计工作是人工所不能胜任,必须使用先进的计算机技术及专用软件,才能很好地完成这项任务。该文研究设计的通用装备标准计领经费决算系统就是利用以数据网格技术为代表的高新计算机技术实现计领经费的科学高效决算。
1 通用装备计领概况
通装标准计领是根据颁发的装备维修管理费供应标准及有关装备和维修业务实力而编制的决算[1]。通用装备维修管理费部队计领标准年度经费决算,经上级单位装备管理部门、装备直供单位等有关部门负责编制后,由装备部门的财务系统自下而上逐级上报到上级单位组织计划部门,由其组织有关业务部门,再对下级各单位上报的通用装备维修管理费的计领标准年度经费决算进行审核,自上而下逐级批复决算,从而实现按需供应。
装备维修管理费计领标准由基本标准和补助标准组成,基本标准由单装标准和单位(修理机构、仓库,部门业务等)、人员(修理技术等)标准组成;补助标准则根据各基层单位居住地及担负的任务不同,订出不同的补助比例,以基本标准计领金额为基数计算领报。
2 一般经费决算方法
这里主要介绍目前信息化条件下,利用计算机实现的经费决算方法,即会计电算化。
会计电算化是以电子计算机为主的当代电子技术和信息技术在会计实务中应用的一种简称,是用电子计算机来代替人工记账、算账、报账以及部分代替人脑完成对会计信息的分析、预测、决策的全过程,它是一门融电子计算机科学、管理科学、信息科学和会计科学为一体的边缘科学[2]。它不仅是会计数据处理手段的变革,而且也将会对会计理论和会计实务产生深远的影响。
2.1 国外会计电算化研发现状
1954年美国通用电器公司运用电子计算机计算工资,标志着会计电算化时代的到来。至今,国外会计电算化的发展经历了单项数据处理、综合数据处理、系统数据处理和管理功能集成化四个阶段[3]。相应的系统也从电子数据处理系统(Electronic Data Procession,EDP)、管理信息系统(Management Information System,MIS),决策支持系统(Decision Support System,DSS)发展到现在的智能管理系统。智能管理系统主要是在MIS、DSS和办公自动化(Office Automation,OA)系统相结合的基础上,扩展了系统功能,以满足多层次、多方位、多用户需求,实现全方位管理功能的集成化。这一阶段将人工智能的概念、方法和技术引入管理信息系统,如专家系统、知识工程、神经网络等,以提高系统的智能水平[4]。endprint
2.2 国内会计电算化研发现状
我国的会计电算化工作从20世纪年代末才开始,起步比较晚。从会计电算化工作的开展程度、组织管理和会计软件开发等因素综合分析,我国会计电算化的发展也可以概括的为四个阶段[5]:1) 起步阶段。1981年8月,中国人民大学和第一汽车制造厂联合召开了财务、会计、成本应用电子计算机问题的讨论会,会上把电子计算机在会计中的应用简称为“会计电算化”。这标志着我国会计电算化已经起步,并逐步跨入应用阶段。2) 推广应用阶段。这个阶段,全国掀起了计算机应用热潮,许多单位也开展了会计电算化工作。但此阶段,技术上远远落后于计算机的发展和会计变革的形势,使会计电算化在我国的推进非常缓慢。3) 普及与提高阶段。此阶段出现了会计软件产业,并将市场机制引进我国会计软件市场,极大地促进了我国会计电算化的发展。4) 制度化与创新阶段。随着以创新为特征的知识经济时代的到来,管理型会计软件的大力发展是这一阶段的主要特点。
经过二十多年的实践、探索,我国的会计电算化己取得了长足的进步,商品化、通用化的财务软件大量的涌现,并得到广泛的应用。许多财务软件的开发已经走上专业化、商品化、社会化的轨道。
3 Spread网格控件
Spread数据网格控件[6]是FarPoint Technologies公司开发的AxtiveX控件,它能帮助用户开发的软件系统处理大量的基于表格的数据运算,并使计算速度基本达到实时的运算效果。在本系统的研制过程中,我们成功地应用了Spread数据网格控件,达到了软件设计目的,现将Spread数据网格控件的基本功能和其在实际应用中的技巧介绍如下。
本系统是使用Visual Basic计算机程序开发语言编制的,而Spread数据网格控件在Visual Basic中可以很容易地使用,它与Microsoft Excel的控制方法相类似,它具有以下特点[7]:
3.1 强大的计算功能
它可以对单元格定义各种计算公式;可以使用70多个算术、逻辑和统计函数;它还允许用户自定义函数,并在计算公式定义中使用。
3.2 方便的Spread设计器功能
用Spread设计器允许用户增加适合你的应用系统需要的Spreadsheets表格,可以打开已经存在的Spreadsheets表格,并把打开的每个Spreadsheets表格中的所有特性应用的当前的Spreadsheets表格中。提高了Spreadsheets表格的设计速度。
3.3 多种读出和写入文件方式
Spreadsheets文件格式是包含了全部fpSpread控件特性,通过读出和写入文件,控件之间可以很容易共享资源和属性。并与Microsoft Excel文件、HTML文件交换数据、存储数据到数组或从数组调出数据。
3.4 内置多种数据处理方式
它支持数据库绑定、支持虚拟方式的优化处理、将包含表头信息拷贝数据到裁剪板、可以依据256排序关键词进行排序及支持OLE拖放等。
3.5 包含12种网格单元类型
包括button,check box,combo box,date,edit,float,integer,Owner-Drawn,PIC,Picture,Static Text,Time。单元格边框和属性设置、单元格垂直方向的对齐方式、定义不同背景和文本颜色。对于数据单元格可以显示计算公式。
3.6 使用fpSpreadPreview控件可预览打印效果
4 计领经费决算管理系统的设计
通用装备标准计领经费决算统计工作是进行数据实时采集和综合业务管理,而通过自动化管理则可以大大提高工作效率,缩短了决算上报和审核的时间。系统仅录入实力数据,其他与决算相关的数据由系统自动处理,并很方便的完成决算数据的审核、汇总、上报、接收。因此,通用装备标准计领经费决算管理系统已成为军队通用装备维修管理费决算必不可少的基础建设。作为一种高效率的管理软件,通用装备标准计领经费决算管理方法应该能够准确、及时地对部队实施维修费供应,满足装备建设需求。然而由于部队使用的通用装备种类多,使用的地理环境、承担的战备和保障任务不相同,给决算统计工作者带来诸多不便。因此,本系统在开发前采用C/S数据库体系结构、Oracle 数据库管理工具实现数据库后台管理和Oracle Objects for OLE技术实现VB对Oracle 的直接控制,来实现系统的相关功能[8]。通过对通用装备标准计领经费决算管理系统的开发,实现了通用装备标准计领经费决算管理的信息化改造,提高信息的综合、跟踪和处理能力,大大加强管理者的管理效率。
在标准计领经费决算中,对于某上级单位,等到上报决算审批后,就可以对下级进行决算审批,决算审批是根据上级的审批决算结果对下进行审批,对多报的数据进行核减,对于少报的数据进行核增,使审批后决算结果的汇总与上级对本级审批的决算数据相等。具体流程如图1所示。
由于本系统是一个典型的数据库应用系统,而对于数据库系统应用来说,其数据是按记录存取的,因此本系统与数据库进行数据变换按记录方式处理[9],这样数据读取后,被写到Spread数据网格控件中是一条记录对应于网格中的一行,于是,从数据库中读取数据就归结为读取数据填充到网格中的一行,填充结果如图2所示。
图2 数据录入结果显示
在spread网格处理中提供了一种同时把数据填充到多个网格单元中的方法。Spread支持多行,多列填充。在填入数据前,必须先指定所需的填充的单元格范围,即所要对填充区域的开始行、结束行、开始列、结束列进行设置。形成对spread网格填充的字符串,对于每列数据用于Tab字符(AscⅡ 9)分隔,对于每行数据用回车/换行字符分隔(AscⅡ13和AscⅡ10)。把数据按分隔要求串联起来。例如,希望填充图1中的第6行的项目名称、单位、标准几项,则用VISUAL BASIC语言实现为:
Spread1. Col=1
Spread1. row=6
Spread1. Row=6
Spread1.Col 2=3
Spread1.clip=“装备1-1” & chr(9) & “部” &chr(9) & “0.6” & chr(13) & chr(10) &“装备1-2” & chr(9) & “部” &chr(9) & “0.6”
通过上面的方法,数据就可以填充到Spread网格中。
在本系统的数据从数据库读出时,因其仅能按记录进行操作,所以数据填充到Spread网格中时,也仅能每次获取网格的一行,而系统采用SQL语句产生clip所需的填充字符串,既能满足clip属性的要求,又可以减少VISUAL BASIC中的判别语句。这是因为VISUAL BASIC中的判别语句相应的比较费时,而SQL语句直接把多个字段的内容连接起来,从而减少了对空白字段内容的判断。读取数据库的SQL语句如下:
"select a1.xmmc|| " & Chr$(9) & "||a1.jldw|| " & Chr$(9) & "||a1.jbxmbz|| " & Chr$(9) & "||a1.sl|| " & Chr$(9) & "||a1.je from byjshz"
把数据写到网格上也是对网格的某行的操作,其操作语句如下:
Spread.Col = 1
Spread.Row = row_t
Spread.Row2 = row_t
Spread.Clip = data1.recordset.Fields(0)
在系统中所用的计算中主要是对于行乘法和对于列求和计算。Spread提供了单元格的数据计算公式的定义,从而使行乘法和对于列求和计算变得简单,其定义的方法可参考Excel的公式定义[10]。如在图4-1中,在进行行操作时,每层中的金额的计算公式为:金额=标准*实力,对于第11行可定义金额栏的计算公式为C11+D11;从列操作的情况来看,因其金额要按层次进行汇总,其操作过程为:底层的数据向其上一层汇总。如对于第5行中的金额是第6行~第12行的数据和。这时可以用Spread 提供的Sum函数。计算公式为Sum (E6∶E12),对于第4行的金额,是为第5、13、14、15、16等行的金额和。则计算公式为E5+E13+E14+E15+E16。依据这种汇总关系,可以定义所有需要计算的单元格,并且定义了公式的单元格不允许增加和修改数据,所有可录入单元格都可进行公式定义,当可变单元格的数据修改时,定义了公式的单元格将随数据的改变而改变。
Spread网格控件提供了自动和手动的重新计算方法[8],其中,自动计算是指当网格的某个单元格的数据改变时,Spread网格对所有的公式进行自动计算。这种方式对于Spread定义的公式比较小时,是很实用很方便的,但在本系统中由于定义的计算公式太多,使用自动方式进行计算是不可行的。因为Spread并不了解数据的排列方式及相互关系,因此其计算是盲目的,所以网格重复计算量将很大,更新速度也是非常慢的,所以不能使用自动计算方式,而只能采用手工方式,这样从而Spread可以对指定的任意单元格进行处理,而其它数据单元不受影响,因此人工控制改变数据单元格的重新计算。
由于所修改数据均在最底层,而且每次仅修改某个单元格的数据。所以与此单元格有关的数据单元仅有几个。要快速找到这些单元格,可在表格中建立与之相对应的链接,在每行的某个隐含的单元格中存储,其链接如表1所示。
表1 链接示意表
依据这种方式更新数据,每次仅需更新几个数据。如图3所示数据仅能从6、7、8、9、10、11、12节点录入,而1、2、3、4、5是通过计算获得。如改变了6节点的数据,仅需重新计算2、1节点的数据。更新数据的程序如下:
temprow = Row
Do While jesjarr(temprow) <> -1
.ReCalcCell Col, temprow
.ReCalcCell Col + 1, temprow
temprow = jesjarr(temprow)
Loop
.ReCalcCell Col, 1
.ReCalcCell Col + 1, 1
.SetInteger changecol, 1, 1
最终实现了在保持计领标准情况下,个别项目发生改变时,计领经费决算高效自动计算,提高工作效率。
5 结论
系统采用模块化的设计方法,先进的操作系统、程序开发语言、第三方控件和数据库管理系统,保证了通用装备标准计领经费各项业务所需功能的实现。采用基于数据网格的经费决算方法经过实际应用,发现该方法运行正常、使用方便、稳定可靠,完全达到标准计量决算的正确科学高效的要求。
参考文献:
[1] 宋军.国外管理型财务软件的功能与特点[J].中国会计电算化,1998,13(2):22-23.
[2] Eugene F.Brigham and Joel F. Houston.Fundamentals of financial management[M].Beijing:Citic Publishing House,2002:15-20.
[3] 侯光仁.会计电算化的转向研究[J].科技情报开发与经济,2005,15(3):17-19.
[4] 刘亦陈,陈维良.我国企业会计电算技术的普及现状、问题成因及治理对策[J].企业经济,2005,36(2):44-46.
[5] 陈松乔,任胜兵,王国军.现代软件工程[M].北京:清华大学出版设,2004:75-78.
[6] 史济民,顾春华.软件工程[M].北京:高等教育出版社,2002:17-28.
[7] Sang-Geun Kim.Designing a domain framework with component management[J].Journal of Software,2002,13(3):335-341.
[8] Dayal U,Hanson E,Widom J.Active database systems,modern database systems[M].Addi-son-Wesley Publishing Company,1995:434-456.
[9] Gelinas.Ulric JAccounting information systems[M].South-Western:Thomson Learning,2002:100-262.
[10] Leszek A.Maciasezek.Database System Design[M].New York:Stresstsore Press,2005:110-249.endprint