《会计电算化系统的设计与实现财务管理子系统(共26页).doc》由会员分享,可在线阅读,更多相关《会计电算化系统的设计与实现财务管理子系统(共26页).doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上武汉理工大学毕业设计(论文)会计电算化系统的设计与实现财务管理子系统学院(系): 专业班级: 学生姓名: 指导教师: 摘 要本系统是以会计学的基本理论为基础,我国会计电算化的管理体制为约束,结合中小企业的财务管理需求进行开发的。为实现会计电算化业务中的财务管理功能,系统采用了典型的信息管理系统(MIS)模式。本系统主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,系统为 C/S架构。系统的后台数据库采用SQL Server 2000建立,其提供了强大而稳定的企业级数据库开发平台,实现了数据一致性、完整性及安全性上的要求。并且SQL Server的存储过程特
2、性,为本系统业务功能的实现提供了解决方案。系统的前台应用程序采用DELPHI 7.0进行开发。DELPHI的ADO组件提供了强大而快捷的数据库控件,能方便而简洁操纵数据库的智能化对象,实现了短期内开发出用户满意的可行系统。本系统的会计业务功能是通过调用存储过程实现,满足了功能的稳定性和安全性要求。关键词: 会计电算化;财务管理;凭证;存储过程;ADO SQL;DLL; QuikRepDesign and Realization of Computerized Accounting System- - Financial Management SubsystemAbstract This sys
3、tem is based on the principles of accountancy, constrained by Chinese accounting by EDP, combined with the financial management requirement of middle & small enterprises to develop. To implement the financial management function in accounting by EDP, system applies typical MIS model. The establishme
4、nt & maintenance of background database as well as the front-end application development are included with this system, system is the C/S structure. Systems background database is established by SQL Server 2000, which provides powerful & stable enterprise database development platform to realize dat
5、a consistency, integrality and security. Moreover, the storage process feature of SQL Server provides solution for this system business function. Systems front-side application is developed by DELPHI 7.0, whose ADO components offer powerful & quick database control, to operate databases intelligenti
6、zed objective conveniently & quickly and develop the application system to meet clients requirement within short period. The accountancy business function of this system is realized by saving process, to meet the functional stability & security requirement. Keywords: Computerized; Accounting; Financ
7、ial; Management Credentials ; ADO; SQL; DLL; QuikRep 目 录 论文总页数:27页专心-专注-专业1 引言1.1课题背景财务部门作为企业经营的核心部门,其会计电算化的应用也决定着一个企业信息系统实施成败的关键。传统会计档案包括原始凭证、记账凭证、日记账、明细账、总账以及报表等,一个单位每个会计期间的会计档案都要按一定的要求排列,连同各种附件定期加具封面,装订成册,耗费了大量的时间和空间,查找十分不便,又易于毁坏。电算化会计是以计算机为工具,运用会计所特有的方法,对企业的经营活动情况进行反映和监督,所以它既是提供以财务信息为主的信息系统,同时又是
8、参与管理的一种管理活动。电算化会计的职能是反映和监督,它的内容是核算和管理,因此电算化会计一般可分为电算化会计核算子系统和电算化会计管理系统,目前还出现了更高层次的会计决策支持子系统。通过会计核算来反映企业的经营活动情况,通过会计管理来监督企业的经营活动情况,通过会计决策来参与企业管理。针对电算化会计的以上内容,会计软件主要分为核算型财务软件、管理型财务软件和决策支持型软件。本系统既是属于核算型财务软件系统。1.2本课题研究的意义会计电算化的概念有广义和狭义之分。狭义的会计电算化是指以电子计算机(以下简称计算机)为主体的当代电子信息技术在会计工作中的应用;广义的会计电算化是指与实现会计工作电算
9、化有关的所有工作,包括会计电算化软件的开发和应用、会计电算化人才的培训、会计电算化的宏观规划、会计电算化的制度建设、会计电算化软件市场的培育与发展等。针对电算化会计的内容,会计软件主要分为核算型财务软件、管理型财务软件和决策支持型软件。本系统是属于核算型财务软件系统,即是在会计业务发生后对凭证、报表等进行录入、核对、过账等操作。财务管理作为企业管理的组成部分,与经济价值或财富的保值增值有关,是关于创造财富的决策,企业生存、发展、获利的总目标离不开财务的筹资、投资以及对资金的运用管理另一方面,财务管理目标是制定生产目标、销售目标等一系列目标的基础和前提,这使得财务管理在企业管理中处于一个核心地位
10、,财务管理目标将从根本上反映企业的总目标。所以确立一个合理的财务管理目标对企业的长远发展有着极为重要的意义。而采用电算化能达到以下目的:(1)提高会计数据处理的时效性和准确性,提高会计核算的水平和质量,减轻会计人员的劳动强度;(2)提高经营管理水平,使财务会计管理由事后管理向事中控制、事先预测转变,为管理信息化打下基础;(3)推动会计技术、方法、理论创新和观念更新,促进会计工作进一步发展。1.3本课题的研究方法本系统是以会计学的基本理论为基础,我国会计电算化的管理体制为约束,结合中小企业的财务管理需求进行开发的。按照会计的对象、会计的职能、会计核算方法、会计科目、账户、会计科目与账户的关系、复
11、式记账原理、借贷记账法、会计分录、试算表与试算平衡、结账与会计报表来进行业务功能的建立。系统部分采用后台数据库加前端平台的C/S结构。业务功能通过数据库中调用存储过程的方式实现。2 理论知识简介 2.1系统结构 应用程序系统的组成从用户应用角度来看,可分成数据存储层、业务处理层和界面表示层等3个层次,而应用程序结构可归纳为:集中式应用程序结构、单用户应用程序结构、多层服务器应用程序结构、浏览器/服务器应用程序结构、客户机/服务器应用程序结构等5种类型。 本财务管理系统就采用客户机/服务器应用程序结构(C/S),此时,客户机提出请求,服务器对客户机的请求作出回应。通过对服务功能的分布实现了分工服
12、务。数据存储层放在服务器上,业务处理层和界面表示层放在客户机上,因此又称为“灵敏的客户机”结构。许多操作在本地的客户机上执行,当需要数据时,才向服务器发出请求。并使应用程序的处理更接近用户,使整个系统具有较好的性能,可以并行地处理应用程序的请求、减少了数据传输量、降低了服务器的负荷。在开发时所有程序都置于一台计算机上,以便调试运行。 图:2-1 C/S 模式结构2.2系统环境2.2.1 开发环境开发硬件:INTEL X86系统平台、Core 2 Duo T7200处理器、1GB内存。网络操作系统:Windows 2003 Server Enterpress Editon With SP1。服务
13、器平台:Windows 2003 Server Enterpress Editon With SP1。程序开发平台:Delphi 7.0 With SP1。数据库服务器:SQL Server Enterpress Editon With SP4。2.2.2 运行环境中小型企业的财务部门。硬件平台:INTEL X86系统平台、500MHz以上处理器,256M以上内存。软件平台:Windows X86/NT 操作系统、数据库服务器:Microsoft SQL Server 2000 或以上。2.3开发工具 2.3.1 SQL Server 2000数据库: 是一个实际可运行的存储、维护和应用系统提
14、供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言,实用程序以及数据库管理系统。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这些数据为多个应用服务,独立于具体的应用程序。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。对数据库的维护包括保持数据的完整性、一致性和安全性。SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-
15、Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本。在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳Microsoft 将SQL Server 移植到Windows NT系统上专注于开发推广SQL Server 的Windows NT 版本,简称为SQL Server或MS SQL Serve区别于FoxPro、Access小型数据库,SQL Server是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。
16、SQL Server 2000 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性。SQL Server 2000的特性:(1)兼容性良好由于今天Windows操作系统占领着主导地的位,选择SQLServer一定会在兼容性方面取得一些优势。另外,SQLServer2000除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮XML数据,可以将搜索结果以XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的
17、基石。这些特点在.NET战略中发挥着重要的作用。(2)数据仓库SQL Server 2000非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。(3)新的数据类型64位整型数(bigint):在数据量越来越大的今天用以往的最大整型int长度231-1来表示整数已显得太不够用, 而FLOAT也不是很合适,所
18、以SQL 2000就有了新的整数类型-bigint。bigint数据类型是一个从-263到263-1整型量。bigint存储长度是8个字节,因此被称为64位整型量。这种新的整型量,解决标识符超过先前最大整型量长度的场合。新的bigint数据类型适用的场合与整型数值完全一致。变量(sql_variant):它可以存放数据类型,数字、字符和对象等。它不能存放blob的数据,如text、ntext和image,还有timestamp,但是已经给编程带来了很大的方便了。sql_variant数据类型能被用于列参数和变量,也能返回用户定义的函数的数值。sql_variant数据类型的运算,允许一个单个参
19、数或变量存储不同数据类型的数据值。表格(table)数据类型:新的表格数据类型是一个局部变量,它可以临时存储一个行集合(rowset),也能返回成一个表格值的函数,此表格数据类型能代替存储在tempdb数据库中的临时表格。因为新的数据类型是在内存中管理,而不是存储在硬盘上,因此大大提高了数据库性能。(4)用户自定义函数在SQL 2000里面,用户可以建立自定义的函数,函数返回值可以是一个值,也可以是一个表。相比利用游标,使用用户自定义函数不但执行效率提高了,代码的可读性也好多了。(5)带索引的视图在以前版本的SQL Server里,视图是不可以有索引的,所以视图一般也就没有什么用处了,除了偶尔
20、用它来做一些权限上的管理以外。查询一个视图和使用一个连接语句在执行效率上没有什么区别。但是, Microsoft在SQL Server 2000进行了改变,即可以在视图上创建索引。这样,现有的应用程序就可以不再修改而使效率得到很大提高。程序中将不再出现复杂的SQL语句,所有的操作都交给自定义函数、存储结构和视图去完成了,只需要在程序中写select from view就可以了,别的事情由数据库管理员去完成。2.3.2 Delphi的简介Delphi是真正的面向对象的开发工具。 Delphi使用了真编译,可以让代码编译成为可执行的文件,而且编译速度非常快。 Delphi具有强大的数据库开发能力,
21、可以轻松地开发数据库。Delphi是全新的可视化编程环境,使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。Delphi保留了所有工具中最灵活的数据库结构。对大多数基于本地、客户/服务器和ODBC 数据库平台的应用程序来说,BDE 的功能都非常强大。也可以避开使用BDE 以支持新的本地ADO 组件。Delphi 的功能特点:(1)具有面向对象的可视化设计工具 在Delphi中,应用面向对象的程序设计方法(OOP),把程序和数
22、据封装起来视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效率可大大提高。 (2)事件驱动的编程机制 事件驱动是非常适合图形用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系。 (3)提供了易学易用的应用程序集成开发环境 在Delphi集成开发环境中,用户可设计界面、编写代码、调试程序
23、,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。 (4)结构化的程序设计语言 Delphi具有丰富的数据类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点: 强大的数值和字符串处理功能 ;丰富的图形指令,可方便地绘制各种图形 ;提供静态和动态数组,有利于简化内存的管理 ;过程可递归调用,使程序更为简练; 支持随机文件和顺序文件的访问 ;提供了一个可供应用程序调用的包含多种类型的图标库 ;具有完善的运行出错处理 。(5)支持多种数据库系统的访问 利用数据控件可访问的数据库系统有:Microsoft Access、Btrieve、DBASE、Mic
24、rosfot FoxPro和Paradox等,也可以访问Microsoft Excel、Lotus1-2-3等多种电子表格。 (6)支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术 以下是Delphi中的基本概念:对象:面向对象编程(OOP)的提法大家一定也很耳熟。对象简单地说就是大家经常看到的各种窗口、按钮、文本框甚至打印机等。属性:如同电视有黑白、彩色之分一样,作为对象的Windows中的窗口也是有大有小,文本框的位置不可能完全一样,菜单要显示出不同的功能,这些都是由对象的属性决定的。不同对象的属性可能不同。属性一般决定了对象的位置、大小、显示等情况。方法:
25、就是对象能够做的事,如打印机对象就有打印(Print)方法、窗口对象支持隐藏(Hide)方法、很多对象支持移动(Move)方法等。事件:就是对象对用户各种操作的反映情况。如用户用鼠标按一下按钮,就会触发按钮的“按”(Click)事件。控件:控件就是Delphi提供的编程用的模块,与对象有直接的联系,如同积木的木块,使用这样的控件,就可以像拼图或堆积木一样“搭”、“拼”你的程序界面。Delphi中使用控件,简化了Windows中的窗口、按钮等对象的编程设计。每个控件都有各自的属性、事件及方法。只需修改这些特征你就可以随心所欲地编程了。最重要的是,你可以利用成千上万的各种扩充的控件来快速构造几乎能
26、满足你任何要求的程序。2.3.3 ADO组件 ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。这一数据访问技术的应用数据库接口称为OLEDB,OLEDB加快了访问各种数据的速度。从Delphi 5 开始,Delphi中新的数据访问组件都采用了ADO技术,可以不通过BDE就能使用现行的数据控制部件如DBGrid和DBEdit对数据进行直接的访问,因此缩短了ADO/OLE-DB的运行时间。更重要的是,使用ADO组件可以避免用户在使用程序之前手动设置BDE和ODBC属性,以免产生不必要
27、的错误。DELPHI中提供了ADOConnection组件、ADODataSet组件、ADOTable组件、ADOQuery组件、ADOStoredProc组件、ADOCommand组件和RDSConnection组件7个组件。在本系统设计中主要使用以下3个组件:ADOTable组件:该组件用于检索或者操作由单一数据表生成的数据集。该部件可以直接链接到数据设备上或者通过ADOConnection链接到数据设备上。ADOQuery组件:该组件用于检索或操作由一个合法的SQL语句生成的数据集。该部件可以执行数据定义SQL语句,例如“select*from table”。该部件可以直接连接到数据设备
28、上或者通过ADOConnection链接到数据设备上。ADOCommand组件:主要用于执行命令(这些命令是一组不返回结果集的SQL语句,如果要得到返回结果集,则应该使用ADOQuery组件),它一般与一个数据集支撑部件一起使用。可以实现从一个表中检索数据。该组件可以直接连接到数据设备上或者通过ADOConnection链接到数据设备上,如图:2-2所示。图:2-2本系统的数据库连接3 系统需求分析3.1会计学理论基础(1)会计的对象会计对象具体表象的经济业务,按其性质的分类,就形成会计对象的要素。会计对象要素主要包括资产、负债、所有者权益、收入、费用、利润等。(2)会计的职能会计的基本职能由
29、两项,即会计核算职能和会计监督职能。会计核算包括: 款项和有价证卷的收付 财物的收发、增减和使用 债权债务的发生和结算 资本、基金的增减和经费的收支 收入、费用、成本的计算 财务成果的计算和处理 其他需要办理会计手续、进行会计核算的事项(3)会计核算方法设置会计科目和账户,复式记账,填制和审核会计凭证,登记会计账薄,成本计算财产清查,编制会计报表。(4)会计科目会计科目是对会计对象的具体内容进行分类核算的标志或项目。通过设置会计科目,可以分类反映不同的经济业务,可以将复杂的经济信息变成有规律、易识别的经济信息,并为其转换为会计信息准备条件。(5)借贷记账法借贷记帐法是以“借”、“贷”作为记帐符
30、号的一种复式记帐法。其基本原理包括记帐符号、帐户结构、记帐规则和试算平衡方法。(6)试算表与试算平衡过账:为了连续、系统地反映各类经济业务,需要将会计分录(记账凭证)中分散的数据,分别登记到有关账户中去,这种登记账簿的过程就称为过账。试算平衡:是在期末对所有账户的发生额或余额进行加总,以确定借贷是否相等,从而检查记账、过账是否正确的一种方法。(7)结账与会计报表总结一定会计期间财务状况和经营成果的大小,企业一般在会计期末进行结账。结账实一项将账薄记录定期结算清楚的账务工作。结账后会形成该会计期间的会计报表,常用的会计报表有损益表和资产负债表。根据以上对财务管理内容的分析和会计知识的介绍,该财务
31、管理系统包括如图3-1所示功能。 图:3-1系统功能3.2 基础资料维护“基础资料维护”用于对会计科目、核算项目以及凭证、账薄、固定资产等项目进行初始化设置,这些设置一般不轻易修改,包含的功能模块如下。图:3-3基础资料维护3.3 凭证管理“凭证管理”用于完成凭证制订、审核、记账、查询等功能,自动生成各种会计账,包含的功能模块如下。图:3-4凭证管理3.4 账薄管理“账薄管理”用于提供各种账务处理查询筛选的功能,包含的功能模块如下。图:3-5账薄管理3.5 报表管理“报表管理”用于报表的定义、编制和输出。企业会计核算的结果最后需要用于报表的形式反映出来,一般包括账务报表处理、汇总报表处理、合并
32、报表处理等。模块关系图如下。图:3-6报表管理3.6 期末处理“期末处理”是系统总结某以会计期间的经营活动情况,转至下一期的必做事项。同时该模块在结账前,按企业财务管理和成本计算的要求,必须进行制造费用、产品成本的结转,期末调汇及损益结转等工作,包含功能模块如下。图:3-7期末处理3.7 往来管理“往来管理”用于对企业的外来账款进行全面核算、管理、分析、预测、决策。一般包括如下模块:图:3-8往来管理3.8 固定资产管理“固定资产管理”用于管理、核算固定资产增减变化、变动、以及折旧的记提、转账等,一般包括如下所示的功能模块。允许不同固定资产采用不同的折旧方法。提供标准的折旧方法,提供固定资产卡
33、片自定义设置和灵活的报表查询系统。图:3-9固定资产管理4 数据库的设计与实现4.1 数据表项本系统中,“科目表”时系统的关键,其他各表均与“科目表”通过“科目代码”字段进行多对一的关联。系统共需要11张表,用途如表 4-1所示: 表 4-1系统数据表及用途数据库名称数据表用途科目表保存企业财务的科目设置信息账薄初始化表正式使用系统前初始化科目的期初余额凭证表输入会计凭证,分录表的主表分录表输入会计分录,分录表的从表科目余额表保存各个会计期间的科目借、贷、余额情况凭证历史表保存过账后的凭证历史分录表历史保存过账后的分录历史本期明细账薄保存当前会计期间的明细账薄数据本期汇总账薄保存当前会计期间的
34、明细账薄数据,期末结账后期末变成新会计期间的期初资产负债表统计用表,用于计算资产负债表系统参数表系统运行所需的参数信息4.1 数据库表关系图 图: 4-1数据库表关系图4.2数据库表结构表4-2凭证表 表4-3凭证历史表表4.1.2-1凭证历史表列名数据类型长度是否为空列名数据类型长度是否为空凭证编号char10not null凭证编号char10not null会计期间int4null会计期间int4null凭证字号char2null凭证字号char2null日期datetime8null日期datetime8null附单据int4null附单据int4null制单char20null制单c
35、har20null借方合计money8null借方合计money8null贷方合计money8null贷方合计money8null过帐状态char4null过帐状态char4null凭证状态char10null凭证状态char10null 表4-4账薄初始化表 表4-5系统参数表表4.1.2-1系统参数表列名数据类型长度是否为空列名数据类型长度是否为空科目代码char20not null编号int4not null科目名称char20null参数名称char20null累计借方money8null取值int4null累计贷方money8null期初余额money8null余额方向char4nu
36、ll4.3 存储过程 本系统的业务功能是通过调用存储过程实现,部分实例如下。create proc sf_初始化帐户as begin tran- 清除原来数据,从新建立帐户delete from 帐簿初始化表- 设置帐户初始基本数据insert into 帐簿初始化表(科目代码,科目名称,累计借方,累计贷方,期初余额,余额方向)select 科目代码,科目名称,0,0,0,余额方向 from 科目表- 设置初始信息update 系统参数表 set 取值 = datepart(mm,getdate()where 参数名称 = 会计期间开始月份update 系统参数表 set 取值 = datep
37、art(mm,getdate() where 参数名称 = 当前会计期间commitGO5 前端界面的设计与实现前端系统结构采用多文档界面(MDI)模式,这种模式结构清晰简单,易于理解,每一个功能对应一个子窗体。5.1程序主窗体 图: 5-1系统主窗体本实例运行后的效果如图5-1所示。选择菜单中的各菜单项就可以进入各相应功能窗口。5.2会计科目设置图:5-2会计科目设置窗体在这个窗体中,可以对会计科目的各项基础信息进行管理。其中【科目类别】选项组表示该科目所属的类别,有资产、负债、权益、损溢和成本5个选项,一般资产类科目余额方向为借方,负债和权益科目余额方向为贷方,但“坏帐准备”的科目余额方向
38、则为贷方。datasource1.DataSet.Edit;end;/-删除记录-procedure TSecSetting.ToolButton8Click(Sender: TObject);begin if application.MessageBox(删除该条记录?,财务管理系统,MB_OKCANCEL)=IDOK then datasource1.DataSet.Delete;end;/-查询数据并显示-procedure TSecSetting.BitBtn1Click(Sender: TObject);beginadoquery1.Close;adoquery1.SQL.Clear
39、;adoquery1.SQL.Add(select * from 科目表 where (科目代码 like %+edit1.Text+%)and);adoquery1.SQL.Add(科目名称 like %+edit2.Text+%)and(科目类别 like %+edit3.Text+%);adoquery1.Open;end;5.3账户设置 图:5-3账户设置窗体该功能模块有【建立新帐簿】、【启用帐簿】和【试算平衡】3个按钮。【建立新帐簿】按钮用于建立一个新的初始帐簿,系统在后台调用“sf_初始化帐户”存储过程,删除“帐簿初始化表”原有的信息,根据“科目表”重新创建“帐簿初始化表”并在窗体
40、中显示。在表格中输入各科目的初始信息和系统参数信息,完成后通过【启用帐簿】按钮启用新的帐簿。【启用帐簿】按钮先检查当前帐簿试算是否平衡,如果平衡在后台调用“sf_启用帐户”存储过程,启用新定义的帐簿,如果不平衡,会提示用户查阅试算平衡表,检查输入的初始化信息并修改,直到试算平衡/-启用新帐户-procedure TAccountSetting.BitBtn2Click(Sender: TObject);begin/判断是否试算平衡adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add(select sum(累计借方) 借方,sum(累计贷方)
41、 贷方 from 帐簿初始化表);adoquery1.Open;if adoquery1.FieldByName(借方).AsStringadoquery1.FieldByName(贷方).AsString then begin showmessage(新帐簿初始化不平衡,请检查试算平衡表后重新输入); exit; end;/如果试算平衡,则可以新建帐簿if application.MessageBox(试算结果平衡,启用新帐簿将删除所有历史记录+#13+是否继续?,确认,MB_OKCANCEL)=IDOK then begin /执行储存过程,启用帐户 adocommand1.Command
42、Text:=EXEC sf_启用帐户; adocommand1.Execute; /刷新数据表 adotable1.Active:=false; adotable1.Active:=true; adotable2.Active:=false; adotable2.Active:=true; /显示帐户启用成功消息 showmessage(新帐户启用成功); end;end;5.4凭证输入 图:5-4 凭证输入窗体在该窗体输入凭证和会计分录信息。【新增】按钮单击后,系统自动新建一个凭证,凭证号和会计期间等信息自动生成,其中的会计期间是“系统参数表”中的“当前会计期间”,日期是系统的当前日期,窗体
43、后台程序对凭证编号自动进行计算保证新输入的凭证号不和以前已有的凭证编号冲突。在下方的Strinlnum)+1);/开始新增SetToolBar(true);datasource1.DataSet.Insert;/组成六位的凭证编码if length(totalnum)=1 then dbedit1.Text:=00000+totalnum;if length(totalnum)=2 then dbedit1.Text:=0000+totalnum;if length(totalnum)=3 then dbedit1.Text:=000+totalnum;/默认凭证字号dbcombobox1.SelText:=收;/加入当前日期dbedit2.Text:=datetostr(date);/ 默认会计期间main.setpara;dbedit4.Text:=main.para2;/默认过帐状态dbedit5.Text:=未过;/设置操作类型op:=insert;end;5.5凭证过账 图:5-5 凭证过账对话框凭证过账功能时依靠在程序中调用“sf_凭证过账”存储过程完成的,由于SQL Server在后台执行,因此无窗体界面。在程序主窗体“凭证过账”菜单的响应函数中添加相应的处理代码,完成凭证过账的功能。运行时对话框
限制150内