您的当前位置:首页正文

毕业设计(论文)-浅析A企业财务管理系统的设计

2024-04-25 来源:年旅网
浅析A企业财务管理系统的设计

摘 要

本系统是以会计学的基本理论为基础,我国会计电算化的管理体制为约束,结合中小企业的财务管理需求进行开发的。为实现会计电算化业务中的财务管理功能,系统采用了典型的信息管理系统(MIS)模式。本系统主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,系统为 C/S架构。系统的后台数据库采用SQL Server 2000建立,其提供了强大而稳定的企业级数据库开发平台,实现了数据一致性、完整性及安全性上的要求。并且SQL Server的存储过程特性,为本系统业务功能的实现提供了解决方案。系统的前台应用程序采用DELPHI 7.0进行开发。DELPHI的ADO组件提供了强大而快捷的数据库控件,能方便而简洁操纵数据库的智能化对象,实现了短期内开发出用户满意的可行系统。本系统的会计业务功能是通过调用存储过程实现,满足了功能的稳定性和安全性要求。

关键词: 会计电算化;财务管理;凭证;存储过程;ADO SQL;DLL;

QuikRep

Design and Realization of Computerized Accounting

System- - Financial Management Subsystem

Abstract

This system 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 establishment & maintenance of background database as well as the front-end application development are included with this system, system is the C/S structure. System's background database is established by SQL Server 2000, which provides powerful & stable enterprise database development platform to realize data consistency, integrality and security. Moreover, the storage process feature of SQL Server provides solution for this system business function. System's front-side application is developed by DELPHI 7.0, whose ADO components offer powerful & quick database control, to operate database's intelligentized 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; Financial; Management Credentials ;

ADO; SQL; DLL; QuikRep

目 录

论文总页数:27页

1 引言 .................................................................................................................................................... 4 1.1课题背景 ....................................................................................................................................... 4 1.2本课题研究的意义 ....................................................................................................................... 5 1.3本课题的研究方法 ....................................................................................................................... 5 2 理论知识简介 .................................................................................................................................... 5 2.2系统环境 ....................................................................................................................................... 6

2.2.1 开发环境 .............................................................................................................................. 6

2.2.2 运行环境 .............................................................................................................................. 6 2.3开发工具 ....................................................................................................................................... 6 2.3.1 SQL Server 2000 ................................................................................................................ 6 2.3.2 Delphi的简介 ..................................................................................................................... 8 2.3.3 ADO组件 ............................................................................................................................. 10

3 系统需求分析 .................................................................................................................................. 11 3.1会计学理论基础 ......................................................................................................................... 11 3.2 基础资料维护 ............................................................................................................................ 12 3.3 凭证管理 .................................................................................................................................... 12 3.4 账薄管理 .................................................................................................................................... 13 3.5 报表管理 .................................................................................................................................... 13 3.6 期末处理 .................................................................................................................................... 13 3.7 往来管理 .................................................................................................................................... 13 3.8 固定资产管理 ............................................................................................................................ 14 4 数据库的设计与实现 ...................................................................................................................... 14 4.1 数据表项 .................................................................................................................................... 14 4.1 数据库表关系图 ........................................................................................................................ 15 4.2数据库表结构 ............................................................................................................................. 16 4.3 存储过程 .................................................................................................................................... 17 5 前端界面的设计与实现 .................................................................................................................. 18 5.1程序主窗体 ................................................................................................................................. 18 5.2会计科目设置 ............................................................................................................................. 19 5.5凭证过账 ..................................................................................................................................... 20 5.6总分类账查询 ............................................................................................................................. 21 5.7试算平衡 ..................................................................................................................................... 22 5.8明细账查询 ................................................................................................................................. 22 5.9期末结账 ..................................................................................................................................... 23 5.10资产负债表报表输出 ............................................................................................................... 23 6 系统扩展 .......................................................................................................................................... 24 结 论 ................................................................................................................................................ 24

参考文献 ................................................................................................................................................ 24

1 引言

1.1课题背景

财务部门作为企业经营的核心部门,其会计电算化的应用也决定着一个企业信息系统实施成败的关键。传统会计档案包括原始凭证、记账凭证、日记账、明细账、总账以及报表等,一个单位每个会计期间的会计档案都要按一定的要求排列,连同各种附件定期加具封面,装订成册,耗费了大量的时间和空间,查找十分不便,又易于毁坏。电算化会计是以计算机为工具,运用会计所特有的方法,对企业的经营活动情况进行反映和监督,所以它既是提供以财务信息为主的信息系统,同时又是参与管理的一种管理活动。电算化会计的职能是反映和监督,它的内容是核算和管理,因此电算化会计一般可分为电算化会计核算子系统和电算化会计管理系统,目前还出现了更高层次的会计决策支持子系统。通过会计核算来反映企业的经营活动情况,通过会计管理来监督企业的经营活动情况,通过会

计决策来参与企业管理。针对电算化会计的以上内容,会计软件主要分为核算型财务软件、管理型财务软件和决策支持型软件。本系统既是属于核算型财务软件系统。

1.2本课题研究的意义

会计电算化的概念有广义和狭义之分。狭义的会计电算化是指以电子计算机(以下简称计算机)为主体的当代电子信息技术在会计工作中的应用;广义的会计电算化是指与实现会计工作电算化有关的所有工作,包括会计电算化软件的开发和应用、会计电算化人才的培训、会计电算化的宏观规划、会计电算化的制度建设、会计电算化软件市场的培育与发展等。针对电算化会计的内容,会计软件主要分为核算型财务软件、管理型财务软件和决策支持型软件。本系统是属于核算型财务软件系统,即是在会计业务发生后对凭证、报表等进行录入、核对、过账等操作。

财务管理作为企业管理的组成部分,与经济价值或财富的保值增值有关,是关于创造财富的决策,企业生存、发展、获利的总目标离不开财务的筹资、投资以及对资金的运用管理另一方面,财务管理目标是制定生产目标、销售目标等一系列目标的基础和前提,这使得财务管理在企业管理中处于一个核心地位,财务管理目标将从根本上反映企业的总目标。所以确立一个合理的财务管理目标对企业的长远发展有着极为重要的意义。而采用电算化能达到以下目的:

(1)提高会计数据处理的时效性和准确性,提高会计核算的水平和质量,减轻会计人员的劳动强度;

(2)提高经营管理水平,使财务会计管理由事后管理向事中控制、事先预测转变,为管理信息化打下基础;

(3)推动会计技术、方法、理论创新和观念更新,促进会计工作进一步发展。

1.3本课题的研究方法

本系统是以会计学的基本理论为基础,我国会计电算化的管理体制为约束,结合中小企业的财务管理需求进行开发的。按照会计的对象、会计的职能、会计核算方法、会计科目、账户、会计科目与账户的关系、复式记账原理、借贷记账法、会计分录、试算表与试算平衡、结账与会计报表来进行业务功能的建立。系统部分采用后台数据库加前端平台的C/S结构。业务功能通过数据库中调用存储过程的方式实现。

2 理论知识简介

2.1系统结构

应用程序系统的组成从用户应用角度来看,可分成数据存储层、业务处理层和界面表示层等3个层次,而应用程序结构可归纳为:集中式应用程序结构、单

第 5 页 共 27 页

用户应用程序结构、多层服务器应用程序结构、浏览器/服务器应用程序结构、客户机/服务器应用程序结构等5种类型。

本财务管理系统就采用客户机/服务器应用程序结构(C/S),此时,客户机提出请求,服务器对客户机的请求作出回应。通过对服务功能的分布实现了分工服务。数据存储层放在服务器上,业务处理层和界面表示层放在客户机上,因此又称为“灵敏的客户机”结构。许多操作在本地的客户机上执行,当需要数据时,才向服务器发出请求。并使应用程序的处理更接近用户,使整个系统具有较好的性能,可以并行地处理应用程序的请求、减少了数据传输量、降低了服务器的负荷。在开发时所有程序都置于一台计算机上,以便调试运行。

图:2-1 C/S 模式结构

2.2系统环境

2.2.1 开发环境

开发硬件:INTEL X86系统平台、Core 2 Duo T7200处理器、1GB内存。 网络操作系统:Windows 2003 Server Enterpress Editon With SP1。 服务器平台: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

数据库: 是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言,实用程序以及数据库管理系

第 6 页 共 27 页

统。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这些数据为多个应用服务,独立于具体的应用程序。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。对数据库的维护包括保持数据的完整性、一致性和安全性。

SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-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、分析)等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。SQL Server 2000 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性。

SQL Server 2000的特性: (1)兼容性良好

由于今天Windows操作系统占领着主导地的位,选择SQLServer一定会在兼容性方面取得一些优势。另外,SQLServer2000除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮XML数据,可以将搜索结果以XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET战略中发挥着重要的作用。

(2)数据仓库

SQL Server 2000非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。

(3)新的数据类型

①64位整型数(bigint):在数据量越来越大的今天用以往的最大整型int长度231-1来表示整数已显得太不够用, 而FLOAT也不是很合适,所以SQL 2000

第 7 页 共 27 页

就有了新的整数类型--bigint。bigint数据类型是一个从-263到263-1整型量。bigint存储长度是8个字节,因此被称为64位整型量。这种新的整型量,解决标识符超过先前最大整型量长度的场合。新的bigint数据类型适用的场合与整型数值完全一致。

②变量(sql_variant):它可以存放数据类型,数字、字符和对象等。它不能存放blob的数据,如text、ntext和image,还有timestamp,但是已经给编程带来了很大的方便了。sql_variant数据类型能被用于列参数和变量,也能返回用户定义的函数的数值。sql_variant数据类型的运算,允许一个单个参数或变量存储不同数据类型的数据值。

③表格(table)数据类型:新的表格数据类型是一个局部变量,它可以临时存储一个行集合(rowset),也能返回成一个表格值的函数,此表格数据类型能代替存储在tempdb数据库中的临时表格。因为新的数据类型是在内存中管理,而不是存储在硬盘上,因此大大提高了数据库性能。

(4)用户自定义函数

在SQL 2000里面,用户可以建立自定义的函数,函数返回值可以是一个值,也可以是一个表。相比利用游标,使用用户自定义函数不但执行效率提高了,代码的可读性也好多了。

(5)带索引的视图

在以前版本的SQL Server里,视图是不可以有索引的,所以视图一般也就没有什么用处了,除了偶尔用它来做一些权限上的管理以外。查询一个视图和使用一个连接语句在执行效率上没有什么区别。但是, Microsoft在SQL Server 2000进行了改变,即可以在视图上创建索引。这样,现有的应用程序就可以不再修改而使效率得到很大提高。程序中将不再出现复杂的SQL语句,所有的操作都交给自定义函数、存储结构和视图去完成了,只需要在程序中写selectfrom view就可以了,别的事情由数据库管理员去完成。

2.3.2 Delphi的简介

Delphi是真正的面向对象的开发工具。 Delphi使用了真编译,可以让代码编译成为可执行的文件,而且编译速度非常快。 Delphi具有强大的数据库开发能力,可以轻松地开发数据库。

Delphi是全新的可视化编程环境,使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。

Delphi保留了所有工具中最灵活的数据库结构。对大多数基于本地、客户/

第 8 页 共 27 页

服务器和ODBC 数据库平台的应用程序来说,BDE 的功能都非常强大。也可以避开使用BDE 以支持新的本地ADO 组件。

Delphi 的功能特点:

(1)具有面向对象的可视化设计工具

在Delphi中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效率可大大提高。

(2)事件驱动的编程机制

事件驱动是非常适合图形用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系。

(3)提供了易学易用的应用程序集成开发环境

在Delphi集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。

(4)结构化的程序设计语言

Delphi具有丰富的数据类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点:

①强大的数值和字符串处理功能 ;

②丰富的图形指令,可方便地绘制各种图形 ; ③提供静态和动态数组,有利于简化内存的管理 ; ④过程可递归调用,使程序更为简练; ⑤支持随机文件和顺序文件的访问 ;

⑥提供了一个可供应用程序调用的包含多种类型的图标库 ; ⑦具有完善的运行出错处理 。 (5)支持多种数据库系统的访问

利用数据控件可访问的数据库系统有:Microsoft Access、Btrieve、DBASE、Microsfot FoxPro和Paradox等,也可以访问Microsoft Excel、Lotus1-2-3等多种电子表格。

(6)支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术

以下是Delphi中的基本概念:

第 9 页 共 27 页

对象:面向对象编程(OOP)的提法大家一定也很耳熟。对象简单地说就是大家经常看到的各种窗口、按钮、文本框甚至打印机等。

属性:如同电视有黑白、彩色之分一样,作为对象的Windows中的窗口也是有大有小,文本框的位置不可能完全一样,菜单要显示出不同的功能,这些都是由对象的属性决定的。不同对象的属性可能不同。属性一般决定了对象的位置、大小、显示等情况。

方法:就是对象能够做的事,如打印机对象就有打印(Print)方法、窗口对象支持隐藏(Hide)方法、很多对象支持移动(Move)方法等。

事件:就是对象对用户各种操作的反映情况。如用户用鼠标按一下按钮,就会触发按钮的“按”(Click)事件。

控件:控件就是Delphi提供的编程用的模块,与对象有直接的联系,如同积木的木块,使用这样的控件,就可以像拼图或堆积木一样“搭”、“拼”你的程序界面。Delphi中使用控件,简化了Windows中的窗口、按钮等对象的编程设计。每个控件都有各自的属性、事件及方法。只需修改这些特征你就可以随心所欲地编程了。最重要的是,你可以利用成千上万的各种扩充的控件来快速构造几乎能满足你任何要求的程序。

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属性,以免产生不必要的错误。

DELPHI中提供了ADOConnection组件、ADODataSet组件、ADOTable组件、ADOQuery组件、ADOStoredProc组件、ADOCommand组件和RDSConnection组件7个组件。在本系统设计中主要使用以下3个组件:

ADOTable组件:该组件用于检索或者操作由单一数据表生成的数据集。该部件可以直接链接到数据设备上或者通过ADOConnection链接到数据设备上。

ADOQuery组件:该组件用于检索或操作由一个合法的SQL语句生成的数据集。该部件可以执行数据定义SQL语句,例如“select*from table”。该部件可以直接连接到数据设备上或者通过ADOConnection链接到数据设备上。

ADOCommand组件:主要用于执行命令(这些命令是一组不返回结果集的SQL语句,如果要得到返回结果集,则应该使用ADOQuery组件),它一般与一个数据

第 10 页 共 27 页

集支撑部件一起使用。可以实现从一个表中检索数据。该组件可以直接连接到数据设备上或者通过ADOConnection链接到数据设备上,如图:2-2所示。

图:2-2本系统的数据库连接

3 系统需求分析

3.1会计学理论基础

(1)会计的对象

会计对象具体表象的经济业务,按其性质的分类,就形成会计对象的要素。会计对象要素主要包括资产、负债、所有者权益、收入、费用、利润等。

(2)会计的职能

会计的基本职能由两项,即会计核算职能和会计监督职能。 会计核算包括:

•款项和有价证卷的收付 •财物的收发、增减和使用 •债权债务的发生和结算 •资本、基金的增减和经费的收支 •收入、费用、成本的计算 •财务成果的计算和处理 •其他需要办理会计手续、进行会计核算的事项 (3)会计核算方法

设置会计科目和账户,复式记账,填制和审核会计凭证,登记会计账薄,成本计算财产清查,编制会计报表。

(4)会计科目

会计科目是对会计对象的具体内容进行分类核算的标志或项目。通过设置会计科目,可以分类反映不同的经济业务,可以将复杂的经济信息变成有规律、易识别的经济信息,并为其转换为会计信息准备条件。

(5)借贷记账法

借贷记帐法是以“借”、“贷”作为记帐符号的一种复式记帐法。其基本原理包括记帐符号、帐户结构、记帐规则和试算平衡方法。

(6)试算表与试算平衡

•过账:为了连续、系统地反映各类经济业务,需要将会计分录(记账凭证)中分散的数据,分别登记到有关账户中去,这种登记账簿的过程就称为过账。

•试算平衡:是在期末对所有账户的发生额或余额进行加总,以确定借贷是

第 11 页 共 27 页

否相等,从而检查记账、过账是否正确的一种方法。

(7)结账与会计报表

总结一定会计期间财务状况和经营成果的大小,企业一般在会计期末进行结账。结账实一项将账薄记录定期结算清楚的账务工作。结账后会形成该会计期间的会计报表,常用的会计报表有损益表和资产负债表。

根据以上对财务管理内容的分析和会计知识的介绍,该财务管理系统包括如图3-1所示功能。

会计电算化系统凭证管理账薄管理结账及报表试算平衡表资产负债表科目设置账户设置凭证输入凭证过账总账分类明细账期末结账

图:3-1系统功能

3.2 基础资料维护

“基础资料维护”用于对会计科目、核算项目以及凭证、账薄、固定资产等项目进行初始化设置,这些设置一般不轻易修改,包含的功能模块如下。

基础资料会计科目核算项目币别结算方式常用摘要 图:3-3基础资料维护

3.3 凭证管理

“凭证管理”用于完成凭证制订、审核、记账、查询等功能,自动生成各种会计账,包含的功能模块如下。

凭证管理凭证审核凭证输入凭证过账凭证查询凭证汇总凭证检查 图:3-4凭证管理

第 12 页 共 27 页

3.4 账薄管理

“账薄管理”用于提供各种账务处理查询筛选的功能,包含的功能模块如下。

账薄管理数量金额总账数量金额总账总分类账明细账多栏账核算类总账

图:3-5账薄管理

3.5 报表管理

“报表管理”用于报表的定义、编制和输出。企业会计核算的结果最后需要用于报表的形式反映出来,一般包括账务报表处理、汇总报表处理、合并报表处理等。模块关系图如下。

报表管理核算项目明细表日记表试算平衡表科目余额表利润分配表损益表现金流量表资产负债表 图:3-6报表管理

3.6 期末处理

“期末处理”是系统总结某以会计期间的经营活动情况,转至下一期的必做事项。同时该模块在结账前,按企业财务管理和成本计算的要求,必须进行制造费用、产品成本的结转,期末调汇及损益结转等工作,包含功能模块如下。

期末处理期末调汇结算损益自动转账期末结账 图:3-7期末处理

3.7 往来管理

“往来管理”用于对企业的外来账款进行全面核算、管理、分析、预测、决策。一般包括如下模块:

第 13 页 共 27 页

期末处理期末调汇结算损益自动转账期末结账期末结账

图:3-8往来管理

3.8 固定资产管理

“固定资产管理”用于管理、核算固定资产增减变化、变动、以及折旧的记提、转账等,一般包括如下所示的功能模块。允许不同固定资产采用不同的折旧方法。提供标准的折旧方法,提供固定资产卡片自定义设置和灵活的报表查询系统。

固定资产管理固定资产增减表固定资产明细账变动资料录入月工资量输入记体折旧变动资料查询固定资产清单其他报表输出 图:3-9固定资产管理

4 数据库的设计与实现

4.1 数据表项

本系统中,“科目表”时系统的关键,其他各表均与“科目表”通过“科目代码”字段进行多对一的关联。系统共需要11张表,用途如表 4-1所示:

表 4-1系统数据表及用途

数据库名科目表 账薄初始凭证表 分录表 科目余额凭证历史分录表历本期明细本期汇总资产负债系统参数数据表用途 保存企业财务的科目设置信息 正式使用系统前初始化科目的期初余额 输入会计凭证,分录表的主表 输入会计分录,分录表的从表 保存各个会计期间的科目借、贷、余额情况 保存过账后的凭证历史 保存过账后的分录历史 保存当前会计期间的明细账薄数据 保存当前会计期间的明细账薄数据,期末结账后期末变成新会计期间的统计用表,用于计算资产负债表 系统运行所需的参数信息

第 14 页 共 27 页

4.1 数据库表关系图

本期汇总帐簿PK,FK1 科目代码会计期间期初余额本期借方合计本期贷方合计本年借方累计本年贷方累计余额余额方向 FK1 科目表 FK1 内部编号分录编号会计期间凭证字号凭证编号摘要科目代码借方贷方余额方向余额数量单价结算方式结算号结算日期余额标记PK 科目代码科目名称助记码科目类别是否存货科目余额方向数量单位帐簿初始化表编号凭证编号摘要科目代码借方贷方数量单价结算方式结算号结算日期分录表历史本期明细帐簿 科目名称累计借方累计贷方期初余额余额方向科目余额表分录表凭证表PK 凭证编号会计期间凭证字号日期附单据制单借方合计贷方合计过帐状态凭证状态FK2 FK1 凭证编号摘要科目代码借方贷方数量单价结算方式结算号结算日期PK编号FK1 科目代码期初借方余额期初贷方余额本期借方发生额本期贷方发生额本年借方累计发生额本年贷方累计发生额本期借方余额本期贷方余额最后结算分录会计期间余额方向内部编号 图: 4-1数据库表关系图

第 15 页 共 27 页

4.2数据库表结构

表4-2凭证表 表4-3凭证历史表 列名 凭证编会计期凭证字日期 附单据 制单 借方合贷方合过帐状凭证状数据char int char dateint char monemonechar char 长14 2 8 4 28 8 4 1是否为not null null null null null null null null null

列名 凭证编会计期凭证字日期 附单据 制单 借方合贷方合过帐状凭证状数据char int char dateint char monemonechar char 长14 2 8 4 28 8 4 1是否为not null null null null null null null null null 表4-4账薄初始化表 表4-5系统参数表 列名 科目代科目名累计借累计贷期初余余额方数据char char monemonemonechar 长20 20 8 8 8 4 是否

列名 编号 参数名取值

数据int char int

长4 24

是否为not null null not null null null null null

表4-6分录表 表4-7分录历史表 列名 编号 凭证编摘要 科目代借方 贷方 数量 单价 结算方结算号 结算日数据int char char char monemoneint monechar int date长4 10 40 20 8 8 4 8 10 4 8 是否

列名 编号 凭证编摘要 科目代借方 贷方 数量 单价 结算方结算号 结算日数据int char char char monemoneint monechar int date长4 1428 8 4 8 14 8 是否为not not null null null null null null null null null not not null null null null null null null null null

第 16 页 共 27 页

表4-8本期账薄明细表 表4-9科目余额表 列名 凭证凭证摘要 科目借方 贷方 余额余额 数量 单价 结算结算结算余额数据char char char char money money char money int money char int char char 长4 10 40 20 8 8 4 8 4 8 10 4 10 4 是否

列名 科目代码 期初借方期初贷方本期借方本期贷方本年借方本年贷方本期借方本期贷方最后结算会计期间 余额方向 内部编号

数据char monemonemonemonemonemonemonemoneint int char int

长28 8 8 8 8 8 8 8 4 4 4 4

是否null null null null null null null null null null null null not null null null null null null null null null null null null null null

表4-10本期汇总账薄 表4-11科目表 列名 科目代码 会计期间 期初余额 本期借方本期贷方本年借方本年贷方余额 余额方向 数据char int money money money money money money char 长24 8 8 8 8 8 8 4 是否

列名 科目代科目名助记码 科目类是否存余额方数量单

数据char char char char char char char

长222214 1

是否not null null null null null null not null null null null null null null null

4.3 存储过程

本系统的业务功能是通过调用存储过程实现,部分实例如下。 create proc sf_初始化帐户 as begin tran

-- 清除原来数据,从新建立帐户 delete from 帐簿初始化表 -- 设置帐户初始基本数据 insert into 帐簿初始化表

(科目代码,科目名称,累计借方,累计贷方,期初余额,余额方向) select 科目代码,科目名称,0,0,0,余额方向 from 科目表

-- 设置初始信息

update 系统参数表 set 取值 = datepart(mm,getdate())

where 参数名称 = '会计期间开始月份'

第 17 页 共 27 页

GO

update 系统参数表 set 取值 = datepart(mm,getdate())

where 参数名称 = '当前会计期间'

commit

5 前端界面的设计与实现

前端系统结构采用多文档界面(MDI)模式,这种模式结构清晰简单,易于理解,每一个功能对应一个子窗体。

5.1程序主窗体

图: 5-1系统主窗体 本实例运行后的效果如图5-1所示。选择菜单中的各菜单项就可以进入各相应功能窗口。

第 18 页 共 27 页

5.2会计科目设置

图:5-2会计科目设置窗体

在这个窗体中,可以对会计科目的各项基础信息进行管理。其中【科目类别】选项组表示该科目所属的类别,有资产、负债、权益、损溢和成本5个选项,一般资产类科目余额方向为借方,负债和权益科目余额方向为贷方,但“坏帐准备”的科目余额方向则为贷方。

该窗体中还设有搜索功能,在窗体中的文本框内输入科目代码,科目名称或类别中的任何一项或几项,再单击【搜索】按钮,即可在窗体左边的表格中得到与设定的搜索条件相符合的结果。同时窗体中还显示当前表格中的数据总数。

在浏览情况下,除搜索一栏的文本框外,窗体中的表格,数据文本框和选项组中的数据都是不可编辑状态的,只有当【新增】或者【修改】按钮被按下后才可以使用,当单击【保存】或【取消】按钮提交后,它们又恢复只读状态。 需要对数据表中的数据进行修改或者新增数据时,单击相应的按钮,输入新信息后单击【保存】按钮即可。需要删除一条信息,单击【删除】按钮。

//---------------新增记录----------------

procedure TSecSetting.ToolButton6Click(Sender: TObject); begin

SetToolBar(true);

datasource1.DataSet.Insert; end;

//---------------修改记录----------------

procedure TSecSetting.ToolButton7Click(Sender: TObject); begin

SetToolBar(true);

第 19 页 共 27 页

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); begin

adoquery1.Close; adoquery1.SQL.Clear;

adoquery1.SQL.Add('select * from 科目表 where (科目代码 like ''%'+edit1.Text+'%'')and');

adoquery1.SQL.Add('(科目名称 like ''%'+edit2.Text+'%'')and(科目类别 like ''%'+edit3.Text+'%'')');

adoquery1.Open; end;

5.5凭证过账

图:5-5 凭证过账对话框

凭证过账功能时依靠在程序中调用“sf_凭证过账”存储过程完成的,由于SQL Server在后台执行,因此无窗体界面。在程序主窗体“凭证过账”菜单的响应函数中添加相应的处理代码,完成凭证过账的功能。运行时对话框如图:5-5。

第 20 页 共 27 页

5.6总分类账查询

图:5-6 总账分类查询窗体

在【总分类帐查询】窗体中,可以通过选中【无发生金额布显示】单选框来确定是否要对表格中的数据进行过滤,只显示那些发生了金额的项目。

//----------查询数据并显示-------------

procedure TTotalAccount.BitBtn1Click(Sender: TObject); begin

adoquery1.Close; adoquery1.SQL.Clear;

adoquery1.SQL.Add('select a.*,b.科目名称 from 本期汇总帐簿 a,科目表 b where (a.科目代码 like ''%'+edit1.Text+'%'')and');

adoquery1.SQL.Add('(a.科目代码=b.科目代码)'); adoquery1.Open; end;

//---------根据用户的操作对表中的数据进行过滤----------- procedure TTotalAccount.CheckBox1Click(Sender: TObject); begin

if checkbox1.Checked then begin

datasource1.DataSet.Filter:='余额<>0'; datasource1.DataSet.Filtered:=true; end else

datasource1.DataSet.Filtered:=false; end;

第 21 页 共 27 页

5.7试算平衡

图:5-7试算平衡窗体

结帐阶段的试算平衡表主要反映在凭证过帐之后结帐时的统计信息。

5.8明细账查询

图:5-8明细账查询窗体

【明细帐查询】窗体的表中显示的是所有的明细帐单,用户可以将左边的列表框中现有所有明细帐单的科目名称逐个添加到右边的列表框中,从而控制在表格中显示哪些明细帐单。

//----------查询数据并显示-------------

procedure TDetailAccount.BitBtn1Click(Sender: TObject); begin

第 22 页 共 27 页

adoquery1.Close; adoquery1.SQL.Clear;

adoquery1.SQL.Add('select a.*,b.科目名称 from 本期明细帐簿 a,科目表 b where (a.科目代码 like ''%'+edit1.Text+'%'')and');

adoquery1.SQL.Add('(a.科目代码=b.科目代码)'); adoquery1.Open;

//根据列表中内容设置数据集的过滤项并设置 for i:=0 to listbox2.Count-1 do begin

filstr:=filstr+'科目名称='''+listbox2.Items.Strings[i]+''''; if i<>listbox2.Count-1 then filstr:=filstr+' OR '; end;

datasource1.DataSet.Filter:=filstr; datasource1.DataSet.Filtered:=true; end;

5.9期末结账

结帐后可以查询当月的资产负债表,选择【资产负债表】命令,系统提示输入统计的会计期间,默认是当前会计期间,确定后调用“sf_计算资产负债表”存储过程计算资产负债表,然后在报表窗体中显示报表,

5.10资产负债表报表输出

图:5-9资产负债表报表窗体

该功能通过调用“sf_计算资产负债表”存储过程计算资产负债表,然后在报表窗体中显示报表。

第 23 页 共 27 页

6 系统扩展

财务管理系统可以作为一个独立的系统运行,也可以和其他的 应用系统结合起来,实现数据共享。例如图 6-1所示。

采购管理采购入库单销售出库单库存管理销售管理材料费采购发票采购管理出入库库单单自动生成凭证应付账款总账系统凭证自动生成凭证应收账款成本核算费用管理折旧费固定资产管理票据管理 图: 6-1 财务管理系统与其他系统的结合

一般常见的财务管理系统都提供会计分录数据导入的功能,即由业务系统将进货、销售、应付、应收等业务记录按照一定的格式导出成文本文件,再利用数据导入功能将这些文件导入数据库中成为会计分录数据,从而减少财务系统的输入工作量,提高工作效率。

结 论

通过本次课题的研究,该系统实现了企业在财务管理方面的电算化需求,完成了从基础资料建立、凭证录入,直到期末结账、报表打印的一系列业务流程简化了复杂的手工操作,提高了工作效率。该电算化系统的实施,能有效提高企业在财务管理上的安全性及保密性,并实行财务监督,维护财经法规,能够促使企业在严格地规范化的范围内生产经营,维护法律制度上的企业完整性。 该系统现在只是会计电算化系统中的财务管理自系统,通过系统的扩展,可以实现更多的业务功能,满足企业更广泛的需求。

参考文献

[1] 王珊,陈红. 数据库系统原理教程[M]. 北京:清华大学出版社,2004。

第 24 页 共 27 页

[2] 王虎,张俊. 管理信息系统[M]. 武汉:武汉理工大学出版社,2005。

[3] E.Winemiller,J.Roff B.Heyman,R.Groom .Delphi. 数据库开发[M]. 北京:清华大学出版社,2005。

[4] 王晟,万科. Delphi数据库开发经典案例解析[M]. 北京:清华大学出版社,2004。 [5] 方睿,刁仁宏. 网络数据库原理及应用[M]. 成都:四川大学出版社,2004。 [6] 陆昌辉,吴晓华. SQL Server 2000开发人员指南[M]. 上海:宇航出版社,2002。 [7] 于爱卿,张俊. SQL Server教程[M]. 北京:北京师范大学出版社,2005。

[8] 常利,肖立洪. Delphi 6 编程--数据库篇[M]. 北京:中国电力出版社,2002。

第 25 页 共 27 页

因篇幅问题不能全部显示,请点此查看更多更全内容