中小型企业财务票据管理系统-票据管理系统-无忧无虑毕设网_第1页
中小型企业财务票据管理系统-票据管理系统-无忧无虑毕设网_第2页
中小型企业财务票据管理系统-票据管理系统-无忧无虑毕设网_第3页
中小型企业财务票据管理系统-票据管理系统-无忧无虑毕设网_第4页
中小型企业财务票据管理系统-票据管理系统-无忧无虑毕设网_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 本文配套程序下载地址 : 无忧无虑毕设网 ()-大学生毕业设计站 ,免费毕业设计论文 ,无忧无虑毕设网 大学生毕业设计 ,出售各类毕业设计源码 ,论文 ,程序源码 ,网站源码 ,免费视频教程 ,我们将竭诚为您服务! 分类号: TP315 U D C: D10621-408-(2007)5752-0 密 级:公 开 编 号: 2003032052 成 都 信 息 工 程 学 院 学 位 论 文 中小型企业财务票据管理系统 -票据管理系统 论文作者姓名: 王旭君 申请学位专业: 网络工程 申请学位类别: 工学学士 指导教师姓名(职称): 欧晓聪 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 论文提交日期: 2007 年 6 月 10 日 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 中小型企业财务票据管理系统 票据管理系统 摘 要 票据管理是指公司财务报销工作中涉及的各种票据的日常管理,常见的票据有差旅费报销单、费用报销单、记帐凭证、现金支票以及进帐单等。这些票据的管理是公司财务工作中最为常见的工作,同时也是繁杂、烦琐的工作。在工作量越来越大,而又不断要求提高工作效率的实际工作中,传统的手工票据管理工 作方式已经远远不能适应工作需要。如何有效、高效的完成这项看似乎简单、实则复杂的工作呢。显然采用软件系统来实现辅助办公是高效率完成这项工作的有效方法之一,虽然通用的票据管理系统不乏存在,但是和实际工作都存在一定差距,并不能很好地在实际应用中使用。因此开发一个适合中小型企业使用的票据管理系统是一个非常有实际意义的工作。本文正是针对现实中中小型企业财务票据管理的现状,从实用角度介绍了一个使用 Delphi 开发的基于 Access 数据库的票据管理系统 。 这个管理系统会针对以前财务系统所存在的问题,根据我们公司实际使用情况 进行开发。主要从实用性为目的进行设计,目的是设计一个适合中小型企业使用的财务票据管理系统。 关键字 : 票据 ; Delphi; Access 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: Management of Finance Bills System For a Small and medium enterprise Abstract Management of Bills refers to the companys financial reimbursement work involved in the day-to-day management of the Bills. Bills are common travel claims, the cost of claims, accounting vouchers, checks and cash Jinzhangchan etc. These notes the companys financial management is the work of the most common work, It is also complicated, cumbersome task .In an increasingly heavy workload, and the growing demand for higher efficiency of the actual work .Notes the traditional manual management mode is far from being able to meet needs .How effective and efficient completion of this seems to be simple, but it is in fact a complex work? Clearly software system used to achieve back-office efficiency is completed this work one of the effective ways. Although generic instrument management system many exist, but the actual work, and there are some gaps, not very good in the use of practical applications. Therefore the development of small and medium enterprises to use the instrument management system is a very meaningful work. It is against this reality SMEs financial management of the paper, From a practical perspective on the use of a Delphi-based Access database Notes. This system can aim at the question which the before finance system existed, carried on the development according to our company actual service condition. Mainly carries on the design from the usability for the goal, the goal is designs the financial bill management system management system which suits the small and medium-sized enterprise to use. Key words: Bills; Delphi; Access 无忧无虑毕设网 ():毕业设计源码下载 目 录 论文总页数: 29 页 1引言 . 1 1.1 编写目的 . 1 1.2 编写背景 . 1 2系统需求说明 . 1 2.1 系统需求分析 . 1 2.2 总体结构 . 2 2.3 票据管理系统业务流程 . 3 2.4 票据管理系 统模块功能介绍 . 3 2.4.1 差旅费报销系统 . 3 2.4.2 费用报销系统 . 4 2.4.3 记帐凭证系统 . 5 2.4.4 现金支票系统 . 5 2.4.5 进帐单系统 . 6 3方案选择 . 7 3.1 编程语言 . 7 3.1.1 编程语言介绍 . 7 3.1.2 系统中使用到的控件介绍 . 8 3.2 数据库 . 8 3.2.1 数据库选择背景 . 8 3.2.2 数据库介绍 . 9 3.2.3 数据源的约定 . 9 3.2.4 数据库访问约定 . 9 4票据系统的设计 . 9 4.1 系统介绍 . 9 4.2 系统功能性 要求 . 10 4.3 数据库命名标准与规范 . 10 4.4 数据库逻辑设计 . 10 4.5 数据库物理结构设计 . 11 4.6 设计约束 . 12 4.7 设计策略 . 12 4.8 系统概要设计说明 . 13 4.8.1 系统总体结构图 . 13 无忧无虑毕设网 ():毕业设计源码下载 4.8.2 差旅票据登记流程图 . 13 5 票据系统的实现 . 13 5.1 系统核心模块 . 13 5.2 系统核心模块详解 . 14 5.2.1 函数 auto_sql . 14 5.2.2 函数 read_data . 15 5.2.3 函数 clearctl . 15 5.3 具体设计过程 . 15 5.3.1 差旅费报销单设计 . 15 5.3.2 主页面设计 . 17 5.4 应用界面举例 . 21 5.4.1 选择票据类型 . 22 5.4.2 新建票据记录 . 22 5.4.3 打印界面 . 22 结 论 . 25 附 录 . 26 参考文献 . 27 致 谢 . 28 声 明 . 29 无忧无虑毕设网 ():毕业设计源码下载 第 1 页 共 29 页 1 引言 1.1 编写目的 票据管理是指企业或者其他单位财务报销工作中涉 及的各种票据的日常管理,常见的票据有差旅费报销单、费用报销单、记帐凭证、现金支票以及进帐单等。上诉票据的管理一般包括对票据的填写、保存、查询、打印等,而票据管理是企业或者其他单位财务工作中最为常见的工作,同时也是繁杂、烦琐的工作。在工作量越来越大,而又不断要求提高工作效率的实际工作中,传统的手工票据管理工作方式已经远远不能适应工作需要。如何有效、高效的完成这项看似乎简单、实则复杂的工作呢。显然采用软件系统来实现辅助办公是高效率完成这项工作的有效方法之一,虽然通用的票据管理系统不乏存在,但是和实际工作都存在一 定差距,并不能很好地在实际应用中使用。因此开发一个适合中小型企业使用的票据管理系统是一个非常有实际意义的工作。本文正是针对现实中中小型企业财务票据管理的现状,从实用角度介绍了一个使用 Delphi开发的基于 Access 数据库的票据管理系统 ,在开发过程中,将针对以前类似软件的不足进行改进,使财务票据管理系统能够在实际工作中得到充分利用。 1.2 编写背景 项目名称:中小型企业财务票据管理系统 项目来源:公司项目 项目性质:应用类软件系统 项目关键词:票据、 Delphi、 Access 开发者:成都信息工程学院网络工 程系网络工程专业 2003 级 2 班王旭君 2 系统需求说明 2.1系统需求分析 从主要性能上来讲,财务票据管理主要实现对常见财务票据的填写、保存、查询、修改、打印等工作,如差旅费报销单、费用报销单、记帐凭证、现金支票以及进帐单等; 从系统本身适用性来讲,财务票据管理主要是针对中小型企业或单位实现对数据的管理; 从实用性来讲,财务票据管理主要从安全性、存储速度、操作方便程度来实现。 因此,从实际工作出发,以主要性能为依据、以实用性为目标,对系统的功能提出了如下需求: .财务工作人员可以根据实际情况方便快捷录入财务 数据: 票据类型应包含常见财务票据,如差旅费报销单、费用报销单、记帐凭证、无忧无虑毕设网 ():毕业设计源码下载 第 2 页 共 29 页 现金支票以及进帐单等; 不同票据类型也应该根据实际情况设计相应的操作界面,并包含相应的详细记录,如在差旅费报销单中应该有出差人、报销日期、票据编号、出差事由、出差起止日期、单据张数、单独金额等详细记录,在费用报销单中应该有费用项目、类别、金额、报销金额总计等,在记帐凭证中应该有总帐科目、明细科目、借方、贷方等,在现金支票中应该有付款行名称、收款人、出票人帐号等; .财务工作人员在根据实际情况录入数据以后,需要能快速、方便地核对数据: 界面设计要求方便查阅和其他操作; 相关的小类数据要求实现自动叠加,以减少财务人员的工作量。 .在录入并核对完成后,实现对数据的保存: 界面要求设保存和新键按钮,以实现对现有数据的保存和接下来新数据的方便录入; 在点击新键按钮后,要求实现对现有界面的清空。 .在顺利保存完数据后,实现对数据的管理,包括查询、修改、删除等操作: 实现对数据的查询,这个功能至关重要,所谓的财务管理即是要做到对数据的保存,并方便在日后的工作中能找出历史数据进行核对,这就要求在系统内能实现快速、方便地对数据库进行写入和调用; 实 现对数据的修改,在已经进行了错误录入的情况下,要求实现对数据的修改,而实现这一功能的前提,即是实现对数据的查询; 实现对数据的删除,考虑到此软件的使用者是中小型企业的财务管理人员,并不能要求他们能熟练实现对数据库的操作,故要求在系统内加入对系统数据的删除功能。 2.2总体结构 图 1 中小型企业财务票据管理系统主要功能模块结构示意图 无忧无虑毕设网 ():毕业设计源码下载 第 3 页 共 29 页 整个票据管理系统包括五大部分:差旅费报销系统、费用报销系统、记帐凭证系统、现金支票系统和进帐单系统。而每个系统都是先进行详细信息登记,然后进行保存,在保存后可以对登记信息进行 打印、查询、修改、删除等操作。而在进行登记的时候,能够从系统外加入相关数据。 2.3票据管理系统业务流程 财务票据管理系统业务流程设计思想如下: 报销人向财务人员提交相关数据,要求详细而准确; 财务人员对提交的财务数据选择相应的系统进行录入,然后保存,如果是系统外数据,可以选择 “ 由文件装入 ” ; 在对数据进行录入后,需要查询历史数据后,重新进入系统,先设定好查询条件,如票据类型、年、月等,实现对历史数据的查询; 在查询到相关数据后,若要对查看详细信息,双击列表,在弹出的对话框中查看详细信息; 若要对数据进行修 改,在查询出历史记录后,在表格内对相关数据进行改动,然后保存,当提示 “ 保存成功 ” 后,数据修改成功; 若要对数据进行删除,先查询出列表,然后选中单条记录,点击 “删除 ”键。 若要对相关数据进行打印,进入相关数据界面后,点击打印,并要求能在打印时对打印进行相关设置。 2.4票据管理系统模块功能介绍 票据管理系统作为财务票据管理系统的主要实现部分,主要包括对差旅费报销单、费用报销单、记帐凭证、现金支票以及进帐单数据的录入、保存、打印、查询、修改、删除等操作。 2.4.1差旅费报销系统 图 2 差旅费报销系统结构图 无忧无虑毕设网 ():毕业设计源码下载 第 4 页 共 29 页 1、 差旅费报销系统 查询 差旅费报销系统的查询,作为模块的功能放在首要位置,实现对历史数据的查找,方便财务管理。 在此功能中设定年份、月份以缩小查找范围,更快地找到指定目标。 2、 差旅费报销系统 删除 在查询出 相应 数据后,单击选中 要删除的记录,点击“删除” 即可删除。 3、 差旅费报销系统 新建 在点新建进入填写界面后,可直接录入,也可以由文件装入,也可以把填写的数据保存为文本,直接填写后,可以选择保存、打印、预览、新建。 2.4.2费用报销系统 图 3 费用报销系统结构图 1、 费用报销系统 查询 费用报 销系统的查询,作为模块的功能放在首要位置,实现对历史数据的查找,方便财务管理。 在此功能中设定年份、月份以缩小查找范围,更快地找到指定目标。 2、 费用报销系统 删除 在查询出数据后,单击选中后即可删除。 3、 费用系统 新建 在点新建进入填写界面后,直接填写后,可以选择保存、打印、预览、新建。在费用栏里填写入数字信息后,财务人员不用手动计算总和,系统会自动计算并显示在金额总计里。 无忧无虑毕设网 ():毕业设计源码下载 第 5 页 共 29 页 2.4.3记帐凭证系统 图 4 记帐凭证系统结构图 1、 记帐凭证系统 查询 费用报销系统的查询,作为模块的功能放在首要位置,实现 对历史数据的查找,方便财务管理。 在此功能中设定年份、月份以缩小查找范围,更快地找到指定目标。 2、 记帐凭证系统 删除 在查询出数据后,单击选中后即可删除。 3、 记帐凭证 新建 在点新建进入填写界面后,直接填写后,可以选择保存、打印、预览、新建。在费用栏里填写入数字信息后,财务人员不用手动计算总和,系统会自动计算并显示在金额总计里。 2.4.4现金支票系统 图 5 现金支票系统结构图 无忧无虑毕设网 ():毕业设计源码下载 第 6 页 共 29 页 1、 现金支票系统 查询 现金支票系统的查询,作为模块的功能放在首要位置,实现对历史数据的查找,方便财务管理。 在此功能中设 定年份、月份以缩小查找范围,更快地找到指定目标。 2、 现金支票系统 删除 在查询出数据后,单击选中后即可删除。 3、 现金支票 新建 在点新建进入填写界面后,直接填写后,可以选择保存、打印、预览、新建。在费用栏里填写入数字信息后,财务人员不用手动计算总和,系统会自动计算并显示在金额总计里。 2.4.5进帐单系统 图 6 进帐单系统结构图 1、 进帐单系统 查询 进帐单系统的查询,作为模块的功能放在首要位置,实现对历史数据的查找,方便财务管理。 在此功能中设定年份、月份以缩小查找范围,更快地找到指定目标。 2、 进帐单系统 删除 在查询出数据后,单击选中后即可删除。 3、 进帐单 新建 在点新建进入填写界面后,直接填写后,可以选择保存、打印、预览、新建。在费用栏里填写入数字信息后,财务人员不用手动计算总和,系统会自动计算并显示在金额总计里。 无忧无虑毕设网 ():毕业设计源码下载 第 7 页 共 29 页 3 方案选择 3.1 编程语言 3.1.1编程语言介绍 本系统采用的编程语言是 Borland Delphi5.0。 Delphi: Delphi 是 Borland 公司研制的新一代可视化开发工具,可在Windows3.x、 Windows95、 WindowsNT 等环境下使用。它拥有一个可视化 的集成开发环境 (IDE),采用面向对象的编程语言 ObjectPascal 和基于部件的开发结构框架。 Delphi 它提供了 500 多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi 本身编写自己的部件。主要特点如下: (1)直接编译生成可执行代码,编译速度快。由于 Delphi 编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。在处理速度和存取服务器方面, Delphi 的性能远远高于其他同类产品。 (2)支持将存取规则分 别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。 (3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实际需要逐步完善。 (4)具有可重用性和可扩展性。开发人员不必再对诸如标签、按钮及对话框等 Windows 的常见部件进行编程。 Delphi 包含许多可以重复使用的部件,允许用户控制 Windows 的开发效果。 (5) 具有强大的数据存取功能。它的数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如 xBase、 Paradox 等,也可以通过 BDE 的 SQLLink 直接与 Sybase、SQLServer、 Informix、 Oracle 等大型数据库连接。 Delphi 既可用于开发系统软件,也适合于应用软件的开发。 (6)拥有强大的网络开发能力,能够快速的开发 B/S 应用,它内置的 IntraWeb和 ExpressWeb 使得对于网络的开发效率超过了其他任何的开发工具。 (7)Delphi 使用独特的 VCL 类库,使得编写出的程序显得条理清晰, VCL是现在最优秀的类库,它使得 Delphi 在软件开发行业处于一个绝对领先的地位。用户可以按自己的需要,任意的构建、扩充、甚至是删减 VCL,以满足不同的需要 无忧无虑毕设网 ():毕业设计源码下载 第 8 页 共 29 页 3.1.2系统中使用到的控件介绍 1、 Tdatabase 部件 为应用程序提供了对单个数据库的直接连接功能,它对于应用程序连接至远 程数据库服务器时,控制数据库事务处理特别重要。 其主要属性有: aliasename:指定用于数据库连接的 Borland 数据库引擎的别名。即在 ODBC中指定的数据源名称。 Databasename:指定于数据库部件相关联的数据库名称。即在程序内部引用控件时使用的名称。 Loginprompt:指定当建立一个数据库连接时是否显示一个标准注册对话框。当指定为 false 时,需要在 params 属性中指定访问数据库的用户名和密码。 2、 Tdataset 部件 数据集部件,编程通过此部件实现各种数据库 SQL 语言操作。 其主要方法有: open:打开数据集。 next:移动到下一条数据记录 。 Close:关闭数据集。 3、 Tdatasource 部件 Tdatasource 部件提供了数据集部件与数据感应部件之间的接口,它在数据集和数据控件之间起着管道作用,管道中的信息就是数据集中的数据,而数据控件把通过通过数据源传递过来的数据流在窗体中可视地显示出来,并且允许用户可视地编辑、导航这些数据。 任何数据集的数据要想在数据控件中显示和操作,都必须与一个数据源部件建立连接,同样,任何数据控件希望接收和操作数据集中的数据,也需要一个与数据源建立连接,图 2-1 显示了数据集部件、数据源部件和数据感应部件之间 的关系。 图 7 数据源部件的作用 3.2 数据库 3.2.1数据库选择背景 本系统采用 MICROSOFT ACCESS2000 作为数据库系统存储数据。因为票据系统只是一个单用户使用的系统,而且数据量相对较小,而且本软件对数据数据集部件 存储数据 数据源部件 数据感应部件 显示操作数据 无忧无虑毕设网 ():毕业设计源码下载 第 9 页 共 29 页 库的要求较低,因此选用 ACCESS 数据库作为本系统的数据存储。 3.2.2数据库介绍 Access: ACCESS 是微软公司出的 OFFICE 中一个软件,是一个小型数据库,美国 Microsoft 公司于 1994 年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口 灵活等特点,是典型的新一代桌面数据库管理系统。其主要特点如下: (1)完善地管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功能。 (2)强大的数据处理功能,在一个工作组级别的网络环境中,使用 Access开发的多用户数据库管理系统具有传统的 XBASE( DBASE、 FoxBASE 的统称)数据库系统所无法实现的客户服务器 (Cient/Server)结构和相应的数据库安全机制, Access 具备了许多先进的大型数据库管理系统所具备的特征,如事务处理 /出错回滚能力等。 (3)可以方便地生成各种数据对象,利 用存储的数据建立窗体和报表,可视性好。 (4)作为 Office 套件的一部分,可以与 Office 集成,实现无缝连接。 (5)能够利用 Web 检索和发布数据,实现与 Internet 的连接。 Access 主要适用于中小型应用系统,或作为客户机 /服务器系统中的客户端数据库。 3.2.3数据源的约定 本系统中使用了自定义控件,如数据库访问和打印。数据库访问控件 Tclset通过对 Tquery 控件, Tdatasource 控件, Tdatabase 控件的封装形成了一个新的自定义控件,它简化了数据库访问时需要对 Tquery, Tdatasource, Tdatabase 控件进行关系设置的烦琐手续,在使用它时 Tclset 控件的使用方法和 Tquery 的使用完全一致。 Tclset 控件通过 ODBC 与 Access 数据库连接。使用 ODBC 而不使用 ADO 是 ODBC 比 ADO 更具备通用性。 3.2.4数据库访问约定 数据库在 ODBC 中被引用的数据源名称为 erm。 4 票据系统的设计 4.1 系统介绍 票据管理系统定位于简单、适用,适合各种中小企业对票据管理需要。系统使用桌面数据库 ACCESS 作为后台数据库。因此,系统适合在任何能运行Access 的 windows 平台。票据系统界面友好,操作简单。在操作上充分考虑财无忧无虑毕设网 ():毕业设计源码下载 第 10 页 共 29 页 务人员使用的方便性。 4.2 系统功能性要求 表 4-2 系统功能性要求 功能序号 功能名称 功能说明 1 差旅费报销单 管理 包含 差旅费报销单 信息的登记、修改等 2 费用报销单管理 包含 费用报销单 信息的登记、修改等 3 记帐凭证管理 包含 记帐凭证 信息的登记、修改等 4 现金支票管理 包含现金支票信息的登记、修改等 5 进帐单管理 包含进帐单信息的登记、修改等 6 数据查询 包含数据查询 4.3数据库命名标准与规范 表 4-3 数据库及各表、视图的 命名方法 名称 类型 命名办法约定 票据数据库 系统数据库 字母 表 基本表 汉字或字母 查询 查询 汉字 字段 字段 汉字或字母 4.4数据库逻辑设计 表 4-4 数据库逻辑设计 名称 类型 用途 名称 差旅费报销单 基本表 用于记录员工出差费用详细情况登记,如车船票,机票,住宿费,出租车费用及出差补助费用等。 chuchai 费用报销单 基本表 用于记录员工出差时购买生活必须品的报销记录,如床单,被褥以及其他工作物品如网络测试仪器,电工工具等。 feiyong 记帐凭证 基本表 用于公司记 录借贷情况明细记录 jizhang 现金支票 基本表 指银行进帐单,用于公司通过银行出帐支票交易的记录,及出帐单的套打。 zhipiao 进帐单 基本表 指银行进帐单,用于公司通过银行进帐支票交易的记录,及进帐单的套打。 jinzhangdan 无忧无虑毕设网 ():毕业设计源码下载 第 11 页 共 29 页 图 8 数据库逻辑结构图 4.5数据库物理结构设计 系统目前只涉及到六张表格,为适应以后添加更多的表单及情况下,系统能达到易于扩展的目的,以及系统所涉及的表格的各种数据项目的特点,在程序设计时对保存数据及读取的统一处理。在表设计时表中只设计两种字段类型即 数字型和字串型,且只有主键使用数字型,其他字段全部使用字串型,尽管实际存放的数据应该是日期,数字或货币型。字段名使用有规律的序号排列,字段名称不表示任何和实际存储的数据的联系。具体表结构及表名如下: 表名: chuchai 表名: chuchai 表名: jinzhangdan 表名: jizhang 表名: zhipiao 以上表结构都一样, 表 4-5 具体结构 字段名称 类型 字段长度 备注 ID 数字 字母 主键 f1 文本 255 f2 文本 255 F3 文本 255 F4 文本 255 F5 文本 255 F6 文本 255 无忧无虑毕设网 ():毕业设计源码下载 第 12 页 共 29 页 F7 文本 255 文本 255 F30 文本 255 4.6设计约束 系统在设计时,从用户使用的角度上讲要达到方便性,因此在输入问题上需要提供以下方便性。一、能够提供记忆功能:也即用户下次在该输入框输入数据时,以下拉列表的形式提供用户选择最近有限次数的输入数据项。二、固定文本选择功能:功能类似 windows 标准下拉框,所不同之处在于用户能够自行维护选择框的内容。三、用户在录入数据时按照输入顺序在回车之后自动跳转到下一个输入框,而不是借用鼠 标或者 TAB 键移动。四、在输入框控件上实现数据类型的约束,即输入数字的地方不能输入非数字信息。 从系统实现考虑,每个表格的数据保存与读取采用一个通用的保存数据和读取数据函数来解决,这样有利于提高代码可用性和可维护性。 各种票据的打印是票据管理软件的最常用功能,本软件的打印控件是本公司其他软件中的打印控件引用过来的。它的功能非常强大,例如能够实现在预览界面调整上下左右边距,拖动整个打印区域,横向、纵向打印,设置各种字体等,还有一个很重要的功能就是套打,它的实现原理就是在预览时能够将实际的扫描进系统的需要套打的 票据图片显示出来,给人以实际感觉,然后需要套打的部份则可以在预览界面编辑,或调整位置,设置字体,字体大小等。打印的时候,只打印定义为需要打印的部分。 4.7设计策略 要实现用户输入的要求,必须要自行开发一个控件来实现该功能,该控件封装自 Tedit 类,其四个功能可以通过为 Tedit 的 hint 属性设置为 mem(表示记忆框 ),int(表示输入数字) ,money(表示输入的数据为货币型)或为一个文本文件名如 “出差人员 .txt”来实现。 要自动实现通用的保存数据和读取数据功能,需要程序设计时对需要保存数据的控件的名称 做约定。例如控件名称即为对应存储表的字段名称。或建立一个控件名和字段的对应关系设置来实现。 无忧无虑毕设网 ():毕业设计源码下载 第 13 页 共 29 页 4.8系统概要设计说明 4.8.1系统总体结构图 图 9 系统总体结构图 4.8.2差旅票据登记流程图 图 10 差旅票据登记流程图 5 票据系统的实现 5.1 系统核心模块 表 5-1 系统核心模块 模块名 类型 原型或声明 模块说明 openform 子程序 procedure openform(s_flag:boolean) 打开票据登记界面的方式,是只读状态还是非只读状态。 getnewid 函数 Function getnewid(table:string;query1:Tclset):string; 往数据库写新的记录时取得的 id 值 auto_sql 函数 function auto_sql(aform:Tform;atable:string;flag:integer;query1:Tclset;txtrecor自动合成的保存数据的 sql 语句。 无忧无虑毕设网 ():毕业设计源码下载 第 14 页 共 29 页 d:Ttxtrecord):string; read_data 子程序 procedure read_data(aform:Tform;atable:string;query1:Tclset); 读取数据过程。 compute_sum 函数 function compute_sum(aform:Tform;e1,e2,e3,e4,e5,e6,e7,e8,e9,e10:string):string; 计算合计项目 clearctl 子程序 procedure clearctl(aform:Tform;c_type:string); 新增状态时,清除界面上的某些输入项目。 5.2 系统核心模块详解 5.2.1函数 auto_sql 功能说明:该函数在调用时能 够遍列窗体上的 TEdit,TDatatime,TMemo 等输入性的控件,根据控件的 name 和实际存储的表字段之间的约定自动生成操纵数据库的语句。如 insert 语句和 update 语句。 ( 1) 变量 value_str 为 Tstringlist,用于为动态生成 insert 或 update 语句临时存储输入控件的值, ( 2) 循环遍列控件语句: for i:=0 to aform.ComponentCount-1 do ( 3 ) 根据控件的 Classname 属性确定控件的类型。如果控件的ClassName=TEdit,则为标准输入控件。如下为代码片段。 if aform.Componentsi.ClassName=TEdit then / 判断该控件是 Tedit 类 sqlstr:=sqlstr+aform.Componentsi.Name; /取控件名,该控件名即为其对应的数据库存储字段名 value_str.Add(aform.Componentsi as Tedit).text); /取控件输入框的值,该值即为当前用户输入的值。 ( 1) value_str 中值的顺序与 insert 中的字段顺序一一对应。 ( 2) 同样可以遍列 TDatatime,Tmemo 控件,并取得对应字段和值。 无忧无虑毕设网 ():毕业设计源码下载 第 15 页 共 29 页 5.2.2函数 read_data 功能说明:该过程通过遍列窗体上的 Tedit,Tdatatime,Tmemo 等输入性的控件,根据控件的 name 和实际存储的表字段之间的约定自动赋予相应的值到控件上。 ( 1) 从对应的表选择相应的数据。 readsql:=select * from +atable+ where id=+cur_id; ( 2) 通过循环生成字段和 值间对应关系。 for j:=0 to fields.Count-1 do/ /str_name 存储字段名 ,同时该名称还是窗体上输入控件的名字。 str_name.Add(fields.Fieldsj.FieldName); / str_value 存储字段名对应的值 , 同时该值是窗体上输入控件的值。 str_value.add(fields.Fieldsj.asstring); ( 3) str_name 和 str_value 之间存储的字段名和值是一一对应 的关系,因此控件名在 str_name 中找到的索引也为值在 str_value 中的索引。对应代码片段为: value_index:=str_name.IndexOf(aform.Componentsi.Name); /控件名在 str_name 中找到的索引 if value_index-1 then (aform.Componentsi as Tedit).text:=str_value.Stringsvalue_index; /控件值在 str_value中的索引 5.2.3函 数 clearctl 功能说明:该函数在新建记录时,清除输入控件上当前值。例如,清除 Tedit控件的值代码如下。 if aform.Componentsi.ClassName=TEdit then (aform.Componentsi as TEdit).text:=; 5.3具体设计过程 5.3.1 差旅费报销单设计 1、首先新建一个 Application,将 Form1的 Caption属性设置为差旅费报销单,然后在此设计面板上加上若干控件,其中包括: TOpenDialog、 TButton、 TShape、TLabel 以及 TSpeedButton,在差旅费报销单设计中主要实现的几个功能按钮为“由文件装入”、“保存为文本”、“保存”、“打印”、“预览”、“新建”、“关闭”。 其中,“由文件装入”的 OnClick 事件的处理程序如下, 无忧无虑毕设网 ():毕业设计源码下载 第 16 页 共 29 页 procedure TFrmChuChai.Button1Click(Sender: TObject); begin opendialog1.Filter:=*.clf; if OpenDialog1.Execute then begin if OpenDialog1.Files.Count1 then else readtxtdata(opendialog1.FileName); end; end; “保存为文本”的 OnClick 事件的处理程序如下,在保存成功后会用Message.Box显示“保存成功”提示。 procedure TFrmChuChai.Button2Click(Sender: TObject); var txtrecord:Ttxtrecord; begin txtrecord.istxt :=true; txtrecord.ccr:=f23.Text; txtrecord.qsrq :=f4.DateString+-+f5.DateString; if auto_sql(self,chuchai,1,query1,txtrecord)=exit then exit;/ application.MessageBox(保存成功 ,提示 ,64); end; SpeedButton“保存” 的 OnClick 事件的处理程序如下: procedure TFrmChuChai.SpeedButton1Click(Sender: TObject); var sqlstr:string; txtrecord:Ttxtrecord; begin txtrecord.istxt :=false; sqlstr:=auto_sql(self,chuchai,m_mode,query1,txtrecord); with query1 do begin close; sql.text:=sqlstr; 无忧无虑毕设网 ():毕业设计源码下载 第 17 页 共 29 页 sql.SaveToFile(error.log); try execsql; m_mode:=2; application.MessageBox(保存成功 ,提示 ,64); except application.MessageBox(保存失败! ,提示 ,64); end; end; end; “打印”的 OnClick 事件的处理程序如下,其中的 *.mws 文件为本公司自定义报表文件。 procedure TFrmChuChai.SpeedButton2Click(Sender: TObject); begin OpenReport(self,差旅报销单 .mws,nil,0,true); end; “预览”的 OnClick 事 件的处理程序如下, procedure TFrmChuChai.SpeedButton5Click(Sender: TObject); begin OpenReport(self,差旅报销单 .mws,nil,0,false); end; “新建”的 OnClick 事件的处理程序如下,原理是使用 Clear 清除现有表格中有的数据, procedure TFrmChuChai.SpeedButton3Click(Sender: TObject); begin clearctl(self,2); m_mode:=1; end; 而“关闭”的 OnClick 事件的处理程序仅仅是调用 close 来退出当前程序。 其他几个表单,如 费用报销单、记帐凭证、现金支票以及进帐单 的设计与差旅费报销单的设计类似,这里就不在赘述,下面介绍一下主页面的设计: 5.3.2 主页面设计 主页面上主要包含了 TEdit、 TLabel、 TButton、 TListView、 TImageList 等无忧无虑毕设网 ():毕业设计源码下载 第 18 页 共 29 页 控件,其中的功能按钮主要包括:“查询”、“删除”、“新建”、“关闭”, 其中,“查询”的 OnClick 事件处理程序为: procedure TFrmList.Button1Click(Sender: TObject); var list_item:Tlistitem; begin if trim(edit1.Text) = then exit; with query2,listview1 do begin items.Clear ; close; if edit1.Text=差旅费报销单 then begin sql.text:=select id,f1,f24 ,f3 from chuchai where 1=1; if trim(edit2.Text) then sql.add( and datepart(yyyy,f1)=+edit2.text); if trim(edit3.Text) then sql.add( and datepart(m,f1)=+edit3.text); end else if edit1.Text=费用报销单 then begin sql.text:=select id,f1,f3,f6,f9,f12,f15 from feiyong where 1=1; if trim(edit2.Text) then sql.add( and datepart(yyyy,f1)=+edit2.text); if trim(edit3.Text) then sql.add( and datepart(m,f1)=+edit3.text); end else if edit1.Text=记帐凭证 then begin sql.text:=select id,f1,f3 from jizhang where 1=1; if trim(edit2.Text) then sql.add( and datepart(yyyy,f1)=+edit2.text); if trim(edit3.Text) then sql.add( and datepart(m,f1)=+edit3.text); end 无忧无虑毕设网 ():毕业设计源码下载 第 19 页 共 29 页 else if edit1.Text=现金支票 then begin sql.text:=select id,f1,f6 from zhipiao where 1=1; if trim(edit2.Text) then sql.add( and datepart(yyyy,f1)=+edit2.text); if trim(edit3.Text) then sql.add( and datepart(m,f1)=+edit3.text); end else if edit1.Text=进帐单 then begin sql.text:=select id,f1,f10 from jinzhangdan where 1=1; if trim(edit2.Text) then sql.add( and datepart(yyyy,f1)=+edit2.text); if trim(edit3.Text) then sql.add( and datepart(m,f1)=+edit3.text); end; sql.SaveToFile(error.log); open; while not query2.eof do begin list_item:=items.Add ; if edit1.Text=差旅费报销单 then begin list_item.caption:=fields0.asstring; list_item.SubItems.Add(copy(fields1.asstring,1,4); list_item.SubItems.Add(copy(fields1.asstring,6,2); list_item.SubItems.Add(fields2.asstring); list_item.SubItems.Add(fields3.asstring); listview1.Columns.Items3.Width:=100; end else if edit1.Text=费用报销单 then begin list_item.caption:=fields0.asstring; list_item.SubItems.Add(copy(fields1.asstring,1,4); 无忧无虑毕设网 ():毕业设计源码下载 第 20 页 共 29 页 list_item.SubItems.Add(copy(fields1.asstring,6,2); list_item.SubItems.Add(); listview1.Columns.Items3.Width:=0; list_item.SubItems.Add(fields2.asstring+ +fields3.asstring+ +fields4.asstring+ +fields5.asstring); end else if edit1.Text=记帐凭证 then begin list_item.caption:=fields0.asstring; list_item.SubItems.Add(copy(fields1.asstring,1,4); list_item.SubItems.Add(copy(fields1.asstring,6,2); list_item.SubItems.Add(); listview1.Columns.Items3.Width:=0; list_item.SubItems.Add(fields2.asstring); end else if edit1.Text=现金支票 then begin list_item.caption:=fields0.asstring; list_item.SubItems.Add(copy(fields1.asstring,1,4); list_item.SubItems.Add(copy(fields1.asstring,6,2); list_item.SubItems.Add(); listview1.Columns.Items3.Width:=0; list_item.SubItems.Add(fields2.asstring); end else if edit1.Text=进帐单 then begin list_item.caption:=fields0.asstring; list_item.SubItems.Add(copy(fields1.asstring,1,4); list_item.SubItems.Add(copy(fields1.asstring,6,2); list_item.SubItems.Add(); listview1.Columns.Items3.Width:=0; list_item.SubItems.Add(fields2.asstring); end; next; 无忧无虑毕设网 ():毕业设计源码下载 第 21 页 共 29 页 end; end; end; “删除”的 OnClick 事件处理程序如下: procedure TFrmList.Button2Click(Sender: TObject); var i:integer; begin with query2 do begin for i:=listview1.SelCount-1 downto 0 do begin cur_id:=listview1.Selected.Caption ; close; if edit1.Text=差旅费报销单 then sql.text:=delete from chuchai where id=+cur_id else if edit1.Text=费用报销单 then sql.text:=delete from feiyong where id=+cur_id else if edit1.Text=记帐凭证 then sql.text:=delete from jizhang where id=+cur_id; if application.MessageBox(确定删除吗 ,提示 ,36)6 then exit; execsql; listview1.Selected.Delete ; end; end; end; “新建”的 OnClick 事件的处理程序: procedure TFrmList.SpeedButton1Click(Sender: TObject); begin cur_id:=; openform(false); end; 其他略 5.4应用界面举例 程序主界面如图 11 无忧无虑毕设网 ():毕业设计源码下载 第 22 页 共 29 页 5.4.1选择票 据类型 票据类型的选择通过标签 “票据类型 ”旁边的下拉框选择。选择票据类型后,可以有查询和新建两种操作,如图所示为选择差旅费报销单后查询得到的结果,如果需要删除某条差旅费报销单,则在选择某条记录后,单击删除按钮即可。 图 11 程序主界面 5.4.2新建票据记录 如果要新建一个差旅费报销单,则单击新建按钮即可,出现如图 12 图 12 差旅费报销单 差旅费用报销单数据提供保存到本地磁盘文件和由本地磁盘文件装入到系统的功能。 5.4.3打印界面 1)、选择预览操作,将看到如图 13 界面。 无忧无虑毕设网 ():毕业设计源码下载 第 23 页 共 29 页 图 13 打印界面 2)、在预览界面上右键,将看到图 14 所示的菜单, 图 14 预览设置 3)、菜单第一项为预览时的缺省状态,选择 “适应纸宽 ”将看到如图 15。 无忧无虑毕设网 ():毕业设计源码下载 第 24 页 共 29 页 图 15 适应纸宽 4)、选择 “调整边距 ”将看到如图 16 界面,边距的调整就如 WORD 中调整边距一样方便快捷。 图 16 调整边距 无忧无虑毕设网 ():毕业设计源码下载 第 25 页 共 29 页 结 论 目前,经过紧张而有序的毕业设计,针对以前财务票据普遍存在的如票据类型不齐全、不能实现票据打印以及打印设置等问题,本人充分利用了 Delphi具有可重用性和可扩展性 以及其 强大的数据存取功能 进行系统开发。至此, 票据管理系统主体功能已全面实现。系统界面简洁,操作方便,功能齐全,实现了新建财务票据,查询票据,修改票据,删除票据,打印票据,以及打印时页面编辑和控制的功能,在设计过程中, 为适应以后添加更多的表单及情况下,系统能达到易于扩展的目的,以及系统所涉及的表格的各种数据项目的特点,在程序设计时对保存数据及读取的

温馨提示

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

评论

0/150

提交评论