会计电算化系统的设计与实现——财务管理子系统-无忧无虑毕设网_第1页
会计电算化系统的设计与实现——财务管理子系统-无忧无虑毕设网_第2页
会计电算化系统的设计与实现——财务管理子系统-无忧无虑毕设网_第3页
会计电算化系统的设计与实现——财务管理子系统-无忧无虑毕设网_第4页
会计电算化系统的设计与实现——财务管理子系统-无忧无虑毕设网_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 本文配套程序下载地址 : 无忧无虑毕设网 ()-大学生毕业设计站 ,免费毕业设计论文 ,无忧无虑毕设网 大学生毕业设计 ,出售各类毕业设计源码 ,论文 ,程序源码 ,网站源码 ,免费视频教程 ,我们将竭诚为您服务! 分类号: TP311.1 U D C: D10621-408-(2007)5719-0 密 级:公 开 编 号: 2003211078 成 都 信 息 工 程 学 院 学 位 论 文 会计电算化系统的设计与实现 财务管理子系统 论文作者姓名: 王笑 申请学位专业: 网络工程 申请学位类别: 工学学士 指导教师姓名(职称): 王翔 论文提交日期: 2007 年 06 月 10 日 会计电算化系统的设计与实现 财务管理子系统 摘 要 本系统是以会计学的基本理论为基础,我国会计电算化的管理体制为约束,结合中小企业的财务管理需求进行开发的。为实现会计电算化业务中的财务管理功能,系统采用了典型的 信息 管理系统 (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. Systems 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. Systems front-side application is developed by DELPHI 7.0, whose ADO components offer powerful & quick database control, to operate databases 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 引言 . 6 1.1 课题背景 . 6 1.2 本课题研究的意义 . 6 1.3 本课题的研究方法 . 2 2 理论知识简介 . 2 2.1 系统结构 . 2 2.2 系统环境 . 3 2.2.1 开发环境 . 3 2.2.2 运行环境 . 3 2.3 开发工具 . 3 2.3.1 SQL Server 2000 . 3 2.3.2 Delphi 的简介 . 5 2.3.3 ADO 组件 . 7 3 系统需求分析 . 7 3.1 会计学理论基础 . 7 3.2 基础资料维护 . 9 3.3 凭证管理 . 9 3.4 账薄管理 . 9 3.5 报表管理 . 9 3.6 期末处理 . 10 3.7 往来管理 . 10 3.8 固定资产管理 . 10 4 数据库的设计与实现 . 11 4.1 数据表项 . 11 4.1 数据库表关系图 . 12 4.2 数据库表结构 . 13 4.3 存储过程 . 14 5 前端界面的设计与实现 . 15 5.1 程序主窗体 . 15 5.2 会计科目设置 . 16 5.3 账户设置 . 17 5.4 凭证输入 . 19 5.5 凭证过账 . 21 5.6 总分 类账查询 . 21 5.7 试算平衡 . 22 5.8 明细账查询 . 23 5.9 期末结账 . 23 5.10 资产负债表报表输出 . 24 6 系统扩展 . 24 结 论 . 25 参考文献 . 25 致 谢 . 26 声 明 . 27 1 引言 1.1课题背景 财务部门作为企业经营的核心部门,其会计电算化的应用也决 定着一个企业信息系统实施成败的关键。传统会计档案包括原始凭证、记账凭证、日记账、明细账、总账以及报表等,一个单位每个会计期间的会计档案都要按一定的要求排列,连同各种附件定期加具封面,装订成册,耗费了大量的时间和空间,查找十分不便,又易于毁坏。电算化会计是以计算机为工具,运用会计所特有的方法,对企业的经营活动情况进行反映和监督,所以它既是提供以财务信息为主的信息系统,同时又是参与管理的一种管理活动。电算化会计的职能是反映和监督,它的内容是核算和管理,因此电算化会计一般可分为电算化会计核算子系统和电算化会计管理 系统,目前还出现了更高层次的会计决策支持子系统。通过会计核算来反映企业的经营活动情况,通过会计管理来监督企业的经营活动情况,通过会计决策来参与企业管理。针对电算化会计的以上内容,会计软件主要分为核算型财务软件、管理型财务软件和决策支持型软件。本系统既是属于核算型财务软件系统。 1.2 本课题研究的意义 会计电算化的概念有广义和狭义之分。狭义的会计电算化是指以电子计算机(以下简称计算机 )为主体的当代电子信息技术在会计工作中的应用;广义的会计电算化是指与实现会计工作电算化有关的所有工作,包括会计电算化软件的开发和 应用、会计电算化人才的培训、会计电算化的宏观规划、会计电算化的制度建设、会计电算化软件市场的培育与发展等。针对电算化会计的内容,会计软件主要分为核算型财务软件、管理型财务软件和决策支持型软件。本系统是属于核算型财务软件系统,即是在会计业务发生后对凭证、报表等进行录入、核对、过账等操作。 财务管理作为企业管理的组成部分,与经济价值或财富的保值增值有关,是关于创造财富的决策,企业生存、发展、获利的总目标离不开财务的筹资、投资以及对资金的运用管理另一方面,财务管理目标是制定生产目标、销售目标等一第 2 页 共 27 页 系列目标的基础和前 提,这使得财务管理在企业管理中处于一个核心地位,财务管理目标将从根本上反映企业的总目标。所以确立一个合理的财务管理目标对企业的长远发展有着极为重要的意义。而采用电算化能达到以下目的: (1)提高会计数据处理的时效性和准确性,提高会计核算的水平和质量,减轻会计人员的劳动强度; (2)提高经营管理水平,使财务会计管理由事后管理向事中控制、事先预测转变,为管理信息化打下基础; (3)推动会计技术、方法、理论创新和观念更新,促进会计工作进一步发展。 1.3 本课题的研究方法 本系统是以会计学的基本理论为基础,我国会计 电算化的管理体制为约束,结合中小企业的财务管理需求进行开发的。按照会计的对象、 会计的职能、会计核算方法、会计科目、账户、会计科目与账户的关系、复式记账原理、借贷记账法、会计分录、试算表与试算平衡、结账与会计报表来进行业务功能的建立。系统部分采用后台数据库加前端平台的 C/S结构。业务功能通过数据库中调用存储过程的方式实现。 2 理论知识简介 2.1 系统结构 应用程序系统的组成从用户应用角度来看,可分成数据存储层、业务处 理层和界面表示层等 3 个层次,而应用程序结构可归纳为:集中式应用程序结构、单用户 应用程序结构、多层服务器应用程序结构、浏览器 /服务器应用程序结构、客户机 /服务器应用程序结构等 5 种类型。 本财务管理系统就采用客户机 /服务器应用程序结构( C/S),此时,客户机提出请求,服务器对客户机的请求作出回应。通过对服务功能的分布实现了分工服务。数据存储层放在服务器上,业务处理层和界面表示层放在客户机上,因此又称为 “灵敏的客户机 ”结构。许多操作在本地的客户机上执行,当需要数据时,才向服务器发出请求。并使应用程序的处理更接近用户,使整个系统具有较好的性能,可以并行地处理应用程序的请求、减少了数据 传输量、降低了服务器的负荷。在开发时所有程序都置于一台计算机上,以便调试运行。 第 3 页 共 27 页 图 :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 数据库 : 是一个实际可运行 的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言,实用程序以及数据库管理系统。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这些数据为多个应用服务,独立于具体的应用程序。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。对数据库的维护包括保持数据的完整性、一致性和安全 性。 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 格式输出第 4 页 共 27 页 等特点,有利于构建了异构系统的互操作性 。 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就有了新的整数类型 -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 页 共 27 页 也可以是一个表。相比利用游标,使用用户自定义函数不但执行效率提高了,代码的可读性也好多了。 ( 5) 带索引的视图 在以前版本的 SQL Server 里,视图是不可以有索引的,所以视图一般也就没有什么用处了,除了偶尔用它来做一些权限上的管理以外。查询一个视图和使用一个连接语句在执行效率上没有什么区别。但是, Microsoft 在 SQL Server 2000 进行了改变,即可以在视图上创建索引。这样,现有的应用程序就可以不再修改而使效率得到很大提高。程序中将不再出现复杂的 SQL语句,所有的操作都交给自定义函数、存储结构和视图去完成了,只需要在程序中写 select from view就可以了,别的事情由数据库管理员去完成。 2.3.2 Delphi的简介 Delphi是真正的 面向对象的开发工具。 Delphi使用了真编译,可以让代码编译成为可执行的文件,而且编译速度非常快。 Delphi具有强大的数据库开发能力,可以轻松地开发数据库。 Delphi 是全新的可视化编程环境,使用了 Microsoft Windows 图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言 (Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。 Delphi保留了所有工具中最灵活的数据库结构。对大多数 基于本地、客户 /服务器和 ODBC 数据库平台的应用程序来说, BDE 的功能都非常强大。 也 可以避开使用 BDE 以支持新的本地 ADO 组件。 Delphi 的功能特点: ( 1)具有面向对象的可视化设计工具 在 Delphi 中,应用面向对象的程序设计方法( OOP),把程序和数据封装起来视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上 “ 画 ” 出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效 率可大大提高。 ( 2)事件驱动的编程机制 事件驱动是非常适合图形用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系 。 ( 3)提供了易学易用的应用程序集成开发环境 在 Delphi 集成开发环境中, 用户可设计界面、编写代码、调试程序,直至第 6 页 共 27 页 把应用程序编译成可执行文件在 Windows中运行, 使用户在友好的开发环境中工作。 ( 4)结构化的程序设计语言 Delphi 具有丰富的数据 类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点: 强大的数值和字符串处理功能 ; 丰富的图形指令,可方便地绘制各种图形 ; 提供静态和动态数组,有利于简化内存的管理 ; 过程可递归调用,使程序更为简练; 支持随机文件和顺序文件的访问 ; 提供了一个可供应用程序调用的包含多种类型的图标库 ; 具有完善的运行出错处理 。 ( 5)支持多种数据库系统的访问 利用数据控件可访问的数据库系统有: Microsoft Access、 Btrieve、 DBASE、Microsfot FoxPro 和 Paradox 等,也可以访问 Microsoft Excel、 Lotus1-2-3等多种电子表格。 ( 6)支持动态数据交换( DDE)、动态链接库( DLL)和对象的链接与嵌入( OLE)技术 以下是 Delphi 中的基本概念 : 对象: 面向对象编程( OOP)的提法大家一定也很耳熟。对象简单地说就是大家经常看到的各种窗口、按钮、文本框甚至打印机等。 属性: 如同电视有黑白、彩色之分一样,作为对象的 Windows中的窗口也是有大有小,文本框的位置不可能完全一样,菜单要显示出不同的功能,这些都是由对象的属性决定 的。不同对象的属性可能不同。属性一般决定了对象的位置、大小、显示等情况。 方法: 就是对象能够做的事,如打印机对象就有打印( Print)方法、窗口对象支持隐藏( Hide)方法、很多对象支持移动( Move)方法等。 事件: 就是对象对用户各种操作的反映情况。如用户用鼠标按一下按钮,就会触发按钮的 “ 按 ” ( Click)事件。 控件: 控件就是 Delphi 提供的编程用的模块,与对象有直接的联系,如同积木的木块,使用这样的控件,就可以像拼图或堆积木一样 “ 搭 ” 、 “ 拼 ” 你的程序界面。 Delphi 中使用控件,简化了 Windows 中的窗口、按钮等对象的编程设计。每个控件都有各自的属性、事件及方法。只需修改这些特征你就可以随心所欲地编程了。最重要的是,你可以利用成千上万的各种扩充的控件来快速构造第 7 页 共 27 页 几乎能满足你任何要求的程序。 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组件),它一般与一个数据集支撑部件一起使用。可以实现从一个表中检索数据。该组件可以直接连接到数据设备上或者通过 ADOConnection链接到数据设备上 ,如图 :2-2所示。 图 :2-2本系统的数据库连接 3 系统需求分析 3.1会计学理论基础 (1)会计的对象 会计对象具体表象的经济业务,按其性质的分类,就形成会计对象的要素。会计对象要素主要包括资产、负债、所有者权益、收入、费用、利润等。 (2)会计的职能 会计的基本职能由两项,即会计核算职能和会计监督职 能。 第 8 页 共 27 页 会计核算包括: 款项和有价证卷的收付 财物的收发、增减和使用 债权债务的发生和结算 资本、基金的增减和经费的收支 收入、费用、成本的计算 财务成果的计算和处理 其他需要办理会计手续、进行会计核算的事项 (3)会计核算方法 设置会计科目和账户, 复式记账 , 填制和审核会计凭证,登记会计账薄,成本计算财产清查,编制会计报表。 (4)会计科目 会计科目是对会计对象的具体内容进行分类核算的标志或项目。通过设置会计科目,可以分类反映 不同的经济业务,可以将复杂的经济信息变成有规律、易识别的经济信息,并为其转换为会计信息准备条件。 (5)借贷记账法 借贷记帐法是以 “ 借 ” 、 “ 贷 ” 作为记帐符号的一种复式记帐法。其基本原理包括记帐符号、帐户结构、记帐规则和试算平衡方法。 (6)试算表与试算平衡 过账:为了连续、系统地反映各类经济业务,需要将会计分录(记账凭证)中分散的数据,分别登记到有关账户中去,这种登记账簿的过程就称为过账。 试算平衡:是在期末对所有账户的发生额或余额进行加总,以确定借贷是否相等,从而检查记账、过账是否正确的一种方法。 (7)结账与会计报表 总结一定会计期间财务状况和经营成果的大小,企业一般在会计期末进行结账。结账实一项将账薄记录定期结算清楚的账务工作。结账后会形成该会计期间的会计报表,常用的会计报表有损益表和资产负债表。 根据以上对财务管理内容的分析和会计知识的介绍,该财务管理系统包括如图 3-1所示功能。 会 计 电 算 化 系 统凭 证 管 理 账 薄 管 理 结 账 及 报 表科目设置账户设置凭证输入凭证过账总账分类明细账试算平衡表资产负债表期末结账 图 :3-1系统功能 第 9 页 共 27 页 3.2 基础资料维护 “ 基础资料维护 ” 用于对会计科目、核算项目以及凭证、账薄、 固定资产等项目进行初始化设置,这些设置一般不轻易修改,包含的功能模块如下。 基 础 资 料会计科目核算项目币别结算方式常用摘要 图 :3-3基础资料维护 3.3 凭证管理 “ 凭证管理 ” 用于完成凭证制订、审核、记账、查询等功能,自动生成各种会计账,包含的功能模块如下。 凭 证 管 理凭证输入凭证审核凭证过账凭证查询凭证汇总凭证检查 图 :3-4凭证管理 3.4 账薄管理 “ 账薄管理 ” 用于提供各种账务处理查询筛选的功能,包含的功能模块如下。 账 薄 管 理总分类账明细账多栏账数量金额总账数量金额总账核算类总账 图 :3-5账薄管理 3.5 报表管理 “ 报表管理 ” 用于报表的定义、编制和输出。企业会计核算的结果最后需要用于报表的形式反映出来,一般包括账务报表处理、汇总报表处理、合并报表处理等。模块 关系图 如下。 第 10 页 共 27 页 报 表 管 理日记表试算平衡表科目余额表核算项目明细表利润分配表损益表资产负债表现金流量表 图 :3-6报表管理 3.6 期末处理 “ 期末处理 ” 是系统总结某以会计期间的经营活动情况,转至下一期的必做事项。同时该模块在结账前,按企业财务管理和成本计算的要求,必须进行制造费用、产品成本的结转,期末调汇及损益结转等工作,包含功能模块如下。 期 末 处 理期末调汇结算损益自动转账期末结账 图 :3-7期末处理 3.7 往来管理 “ 往来管理 ” 用于对企业的外来账款进行全面核算、管理、分析、预测、决策。一般包括如下模块 : 期 末 处 理期末调汇结算损益自动转账期末结账期末结账 图 :3-8往来管理 3.8 固定资产管理 “ 固定资产管理 ” 用于管理、核算固定资产增减变化、变动、以及折旧的记提、转账等,一般包括如下所示的功能模块。允许不同固定资产采用不同的折旧方法。提供标准的折旧方法,提供固定资产卡片自定义设置和灵活的报表查询系统。 第 11 页 共 27 页 固 定 资 产 管 理变动资料录入月工资量输入记体折旧变动资料查询固定资产清单固定资产增减表其他报表输出固定资产明细账 图 :3-9固定资产管理 4 数据库的设计与实现 4.1 数据表项 本系统中, “ 科目表 ” 时系统的关键,其他各表均与 “ 科目表 ” 通过 “ 科目代码 ” 字段进行多对一的关联。系统共需要 11张表,用途如表 4-1所示: 表 4-1系统数据表及用途 数据库名称 数据表用途 科目表 保存企业财务的科目设置信息 账薄初始化表 正式使用系统前初始化科目的期初余额 凭证表 输入会计凭证,分录表的主表 分录表 输入会计分录,分录表的从表 科目余 额表 保存各个会计期间的科目借、贷、余额情况 凭证历史表 保存过账后的凭证历史 分录表历史 保存过账后的分录历史 本期明细账薄 保存当前会计期间的明细账薄数据 本期汇总账薄 保存当前会计期间的明细账薄数据,期末结账后期末变成新会计期间的期初 资产负债表 统计用表,用于计算资产负债表 系统参数表 系统运行所需的参数信息 第 12 页 共 27 页 4.1 数据库表关系图 分 录 表 历 史 编 号 凭 证 编 号 摘 要F K 1 科 目 代 码 借 方 贷 方 数 量 单 价 结 算 方 式 结 算 号 结 算 日 期本 期 明 细 帐 簿 内 部 编 号 分 录 编 号 会 计 期 间 凭 证 字 号 凭 证 编 号 摘 要F K 1 科 目 代 码 借 方 贷 方 余 额 方 向 余 额 数 量 单 价 结 算 方 式 结 算 号 结 算 日 期 余 额 标 记凭 证 表P K 凭 证 编 号 会 计 期 间 凭 证 字 号 日 期 附 单 据 制 单 借 方 合 计 贷 方 合 计 过 帐 状 态 凭 证 状 态科 目 表P K 科 目 代 码 科 目 名 称 助 记 码 科 目 类 别 是 否 存 货 科 目 余 额 方 向 数 量 单 位分 录 表P K 编 号F K 2 凭 证 编 号 摘 要F K 1 科 目 代 码 借 方 贷 方 数 量 单 价 结 算 方 式 结 算 号 结 算 日 期科 目 余 额 表F K 1 科 目 代 码 期 初 借 方 余 额 期 初 贷 方 余 额 本 期 借 方 发 生 额 本 期 贷 方 发 生 额 本 年 借 方 累 计 发 生 额 本 年 贷 方 累 计 发 生 额 本 期 借 方 余 额 本 期 贷 方 余 额 最 后 结 算 分 录 会 计 期 间 余 额 方 向 内 部 编 号本 期 汇 总 帐 簿P K , F K 1 科 目 代 码 会 计 期 间 期 初 余 额 本 期 借 方 合 计 本 期 贷 方 合 计 本 年 借 方 累 计 本 年 贷 方 累 计 余 额 余 额 方 向帐 簿 初 始 化 表 科 目 名 称 累 计 借 方 累 计 贷 方 期 初 余 额 余 额 方 向 图 : 4-1数据库表关系图 第 13 页 共 27 页 4.2数据库表 结构 表 4-2凭证表 表 4-3凭证历史表 表 4.1.2-1凭证历史表 列名 数据类型 长度 是否为空 列名 数据类型 长度 是否为空 凭证编号 char 10 not null 凭证编号 char 10 not null 会计期间 int 4 null 会计期间 int 4 凭证字号 char 2 null 凭证字号 char 2 null 日期 datetime 8 null 日期 datetime 8 null 附单据 int 4 null 附单据 int 4 null 制单 char 20 null 制单 char 20 null 借方合计 money 8 null 借方合计 money 8 null 贷方合计 money 8 null 贷方合计 money 8 null 过帐状态 char 4 null 过帐状态 char 4 null 凭证状态 char 10 null 凭证状态 char 10 null 表 4-4账薄初始化表 表 4-5系统参数表 表 4.1.2-1系统参数表 列名 数据类型 长度 是否为空 列名 数据类型 长度 是否为空 科目代码 char 20 not null 编号 int 4 not null 科目名称 char 20 参数名称 char 20 累计借方 money 8 null 取值 int 4 null 累计贷方 money 8 null 期初余额 money 8 null 余额方向 char 4 null 表 4-6 分录表 表 4-7分录历史表 表 4.1.2-1分录历史表 列名 数据类型 长度 是否为空 列名 数据类型 长度 是否为空 编号 int 4 not null 编号 int 4 not null 凭证编号 char 10 notnull 凭证编号 char 10 notnull 摘要 char 40 摘要 char 40 科目代码 char 20 null 科目代码 char 20 null 借方 money 8 null 借方 money 8 null 贷方 money 8 null 贷方 money 8 null 数量 int 4 null 数量 int 4 null 单价 money 8 null 单价 money 8 null 结算方式 char 10 null 结算方式 char 10 null 结算号 int 4 null 结算号 int 4 null 结算日期 datetime 8 null 结算日期 datetime 8 null 第 14 页 共 27 页 表 4-8本期账薄明细表 表 4-9科目余额表 表 4.1.2-1科目余额表 列名 数据类型 长度 是否为空 列名 数据类型 长度 是否为空 凭证字号 char 4 null 科目代码 char 20 null 凭证编号 char 10 null 期初借方余额 money 8 null 摘要 char 40 null 期初贷方余额 money 8 null 科目代码 char 20 null 本期借方发生额 money 8 null 借方 money 8 null 本期贷方发生额 money 8 null 贷方 money 8 null 本年借方累计发生额 money 8 null 余额方向 char 4 null 本年贷方累计发生额 money 8 null 余额 money 8 null 本期借方余额 money 8 null 数量 int 4 null 本期贷方余额 money 8 null 单价 money 8 null 最后结算分录 int 4 null 结算方式 char 10 null 会计期间 int 4 null 结算号 int 4 null 余额方向 char 4 null 结算日期 char 10 null 内部编号 int 4 not null 余额标记 char 4 null 表 4-10 本期汇总账薄 表 4-11 科目表 表 4.1.2-1科目表 列名 数据类型 长度 是否为空 列名 数据类型 长度 是否为空 科目代码 char 20 not null 科目代码 char 20 not null 会计期间 int 4 科目名称 char 20 期初余额 money 8 null 助记码 char 20 null 本期借方合计 money 8 null 科目类别 char 20 null 本期贷方合计 money 8 null 是否存货 char 10 null 本年借方累计 money 8 null 余额方向 char 4 null 本年贷方累计 money 8 null 数量单位 char 10 null 余额 money 8 null 余额方向 char 4 null 4.3 存储过程 本系统的业务功能是通过调用存储过 程实现,部分实例如下。 create proc sf_初始化帐户 as begin tran - 清除原来数据 ,从新建立帐户 delete from 帐簿初始化表 - 设置帐户初始基本数据 insert into 帐簿初始化表 (科目代码 ,科目名称 ,累计借方 ,累计贷方 ,期初余额 ,余额方向 ) select 科目代码 ,科目名称 ,0,0,0,余额方向 from 科目表 - 设置初始信息 update 系统参数表 set 取值 = datepart(mm,getdate() where 参数名称 = 会计期间开始月份 第 15 页 共 27 页 update 系统参数表 set 取值 = datepart(mm,getdate() where 参数名称 = 当前会计期间 commit GO 5 前端界面的设计与实现 前端 系统结构采用多文档界面( MDI)模式,这种模式结构清晰简单,易于理解,每一个功能对应一个子窗体。 5.1 程序 主窗体 图 : 5-1系统主窗体 本实例运行后的效果如图 5-1所示。选择菜单中的各菜单项就可以进入各相应功能窗口 。 第 16 页 共 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); 第 17 页 共 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.3账户设置 图 :5-3账户设置窗体 该功能模块有【建立新帐簿】、【启用帐簿】和【试算平衡】 3 个按钮。【建立新帐簿】按钮用于建立一个新的初始帐簿,系统在后台调用 “sf_ 初始化帐户 ”存储过程,删除 “ 帐簿初始化表 ” 原有的信息,根据 “ 科目表 ” 重新创建 “ 帐簿初始化表 ” 并在窗体中显示。在表格中输入各科目的初始信息和系统参数信息,第 18 页 共 27 页 完成后通过【启用帐簿】按钮启用新的帐簿。【启用帐簿】按钮先检查当前帐簿试算是否平衡,如果平衡在后台调用 “sf_ 启用帐户 ” 存储过程,启用新定义的帐簿,如果不平衡,会提示用户查阅试算平衡表,检查输 入的初始化信息并修改,直到试算平衡才能启用新定义的帐簿。需要注意的是,启用新定义的帐簿会删除系统中历史的所有数据。【试算平衡】按钮可以随时查看当前的帐簿信息是否平衡,当试算不平衡时,窗体下方的表格将变为红色,向用户发出试算不平衡的警告。 /-初始化帐户 - procedure TAccountSetting.BitBtn1Click(Sender: TObject); begin /执行储存过程,初始化帐户 adocommand1.CommandText:=EXEC sf_初始化帐户 ; if application.MessageBox(是否清除原帐簿信息,并初始化新帐簿?,确认 ,MB_OKCANCEL)=IDOK then adocommand1.Execute; /刷新数据表 adotable1.Active:=false; adotable1.Active:=true; adotable2.Active:=false; adotable2.Active:=true; end; /-启用新帐户 - procedure TAccountSetting.BitBtn2Click(Sender: TObject); begin /判断是否试算平衡 adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add(select sum(累计借方 ) 借方 ,sum(累计贷方 ) 贷方 from 帐簿初始化表 ); adoquery1.Open; if adoquery1.FieldByName( 借方).AsStringadoquery1.FieldByName(贷方 ).AsString then begin showmessage(新帐簿初始化不平衡,请检查试算平衡表后重新输入 ); exit; end; /如果试算平衡,则可以新建帐簿 if application.MessageBox(试算结果平衡,启用新帐簿将删除所有历史记录 +#13+是否继续? ,确认 ,MB_OKCANCEL)=IDOK then begin /执行储存过程,启用帐户 第 19 页 共 27 页 adocommand1.CommandText:=EXEC sf_启用帐户 ; adocommand1.Execute; /刷新数据表 adotable1.Active:=false; adotable1.Active:=true; adotable2.Active:=false; adotable2.Active:=true; /显示帐户启用成功消息 showmessage(新帐户启用成功 ); end; end; 5.4凭证输入 图 :5-4 凭证输入窗体 在 该窗体 输入凭证和会计分录信息。【新增】按钮单击后,系统自动新建一个凭证,凭证号和会计期间等信息自动生成,其中的会计期间是 “ 系统参数表 ”中的 “ 当前会计期间 ” ,日期是系统的当前日期,窗体后台程序对凭证编号自动进行计算保证新输入的凭证号不和以前已有的凭证编号冲突。在下方的StringGrid 中,双击 “ 科目名称 ” 列,将弹出一个包括科目设置的基本信息的窗体,在该窗体表格中的任意一栏双击,将选中的科目名称和科目代码自动输入到【会计凭证输入】窗体中的 StringGrid 中 并关闭该选择窗体,如需添加多条分录信息,则可以再次双击 “ 科目名称 ” 列,重复前面的操作逐项输入分录的信息,完成后单击【保存】按钮,系统先检查借贷双方是否平衡,如果平衡给予保存。 /-新增记录 - 第 20 页 共 27 页 procedure TDocuInput.ToolButton6Click(Sender: TObject); var totalnum:string; begin /刷新数据,得到凭证数据中最大编码并加一,防止编码重复 adoquery3.Close; adoquery3.SQL.Clear; adoquery3.SQL.Add(select max(凭证编号 ) 最大编号 from 凭证表 ); adoquery3.Open; totalnum:=adoquery3.FieldByName(最大编号 ).Asstring; totalnum:=copy(totalnum,1,6); if totalnum= then totalnum:=0; totalnum:=inttostr(strtoint(totalnum)+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; 第 21 页 共 27 页 5.5凭证过账 图 :5-5 凭证过账对话框 凭证过账功能时依靠在程序中调用 “sf_ 凭证过账 ” 存储过程完成的,由于SQL Server 在后台执 行,因此 无 窗体界面。在程序主窗体 “ 凭证过账 ” 菜单的响应函数中添加相应的处理代码,完成凭证过账的功能。 运行时 对话框如图 :5-5。 5.6总分类账查询 图 :5-6 总账分类查询窗体 在【总分类帐查询】窗体中,可以通过选中【无发生金额布显示】单选框来确定是否要对表格中的数据进行过滤,只显示那些发生了金额的项目。 /-查询数据并显示 - procedure TTotalAccount.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; 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; 5.7试算平衡 图 :5-7试算平衡窗体 结帐阶段的试算平衡表主要反映在凭证过帐之后结帐时的统计信息。 第 23 页 共 27 页 5.8明细账查询 图 :5-8明细账查询窗体 【明细帐查询】窗体的表中显示的是所有的明细帐单,用户可以将左边的列表框中现有所有明细帐单的科目名称逐个添加到右边的列表框中,从而控制在表格中显示哪些明细帐单。 /-查询数据并显示 - procedure TDetailAccount.BitBtn1Click(Sender: TObject); begin adoquery1.Close; adoquery1.SQL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论