小型企业财务管理信息系统设计与开发.doc_第1页
小型企业财务管理信息系统设计与开发.doc_第2页
小型企业财务管理信息系统设计与开发.doc_第3页
小型企业财务管理信息系统设计与开发.doc_第4页
小型企业财务管理信息系统设计与开发.doc_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

湖南商学院毕业论文(设计)小型企业财务管理信息系统设计与开发1. 引言1.1项目来源自从世界上第一台计算机诞生以后,信息技术就以令人瞠目结舌的速度深入到全球各地和各个领域。它对全球的影响是全方位的,强大的力量改变着人类的生活。我国财务管理软件经过多年的发展,正在逐步走向成熟,初步形成了一定的产业规模。无论是从厂商还是从市场方面看,进入 21 世纪,我国财务管理软件产业将迎来一个更加辉煌的高速发展期。随着经济全球化的趋势,财务管理软件开发与应用的成败无疑将直接影响企业经营决策。对小型企业来说,财务管理是一项日常性的工作,企业的各级管理人员需要及时了解、掌握企业的运营状况,以便心中有数,合理安排企业的经营策略,因而财务管理是现代小型企业的一项非常重要的工作。而如今相当部分小型企业,由于日常资金的流动十分频繁,依靠手工处理来记录或统计各种凭证数据,既难做到及时性,也难保证数据的准确性,因而有必要建立一个计算机财务管理信息系统。1.2任务目标“小型企业财务管理信息系统”是自行调研、设计、开发并成功实施,为提高财务业务处理的准确性、时效性,从而为财务管理活动提供准确、及时的信息的管理信息系统。系统要求界面设计人性化,便于财务人员的操作。要求系统维护性强。对相关子系统不同的硬件平台、操作系统、实现技术、数据库数据格式等要求要有兼容性,能进行统一用户管理与权限集中管理,并且提供详细的系统技术手册。开发良好的扩展性,为以后进一步提升系统的服务层次提供相应的平台。总的来说,本系统的总体目标就是便捷、安全、美观、实用、可扩展性。2. 项目规划2.1 项目资源2.1.1硬件设备cpu:至少pentium400以上,建议使用pentium800以上;内存:至少128m以上,建议使用256m以上;硬盘:至少20g硬盘空间;显示器:14显示器;其它:键盘、鼠标、打印机等。2.1.2软件环境操作系统:windows xp /2000以上版本语言编译系统:microsoft visual studio .net 2003 数据库管理系统:microsoft sql server 20002.1.3软件工具本系统以window xp操作系统为平台,microsoft visual studio .net 2003为界面开发工具, microsoft office visio 2003为分析设计建模工具,sql server 2005作为数据库。采用c/s结构,辅以vbscript技术以期带来良好的用户体验。2.2项目进程2.2.1 任务描述本系统采用至上而下的项目开发步骤,整个开发过程分为六个阶段。系统任务树如图1所示。图1 小型企业财务管理信息系统的任务树2.2.2进度安排全部开发过程预计用时12周,具体用时分配如下图2所示。图2 项目进度安排甘特图3. 系统需求分析3.1 业务需求3.1.1业务组织通过对企业管理业务的调查分析,可知该企业的组织机构设置如图3所示。 图3 企业组织机构设置图3.1.2业务定义本系统中,用户可以处理各种业务信息,例如科目初始设置、凭证处理、转帐结帐、查询打印帐簿等。其用例图如图4所示。图4 用例图3.1.3业务流程通过对企业的调查分析,可知该企业的财务管理主要有以下七个处理步骤:根据各种原始凭证和原始凭证汇总表填制收款凭证、付款凭证和转账凭证。根据收款凭证和付款凭证登记现金日记账和银行存款日记账。根据原始凭证、原始凭证汇总表和记账凭证登记各种明细分类账。根据各种记账凭证编制科目发生额余额表。根据科目发生额余额表登记总分类账月末,现金、银行存款日记账和明细分类账分别与总分类账相核对。根据总分类账和明细账的资料编制会计报表。企业的财务管理业务流程图如图5所示。所有部门原始凭证用户原始凭证汇总表记账凭证现金日记帐银行存款日记帐科目发生额余额表总分类帐各类明细帐会计报表有关部门图5 企业财务管理业务流程图3.2 功能需求3.2.1功能组成由上可知,该财务管理信息系统的功能结构设计如图6所示。小型企业财务管理信息系统初始设置管理凭证处理转帐结帐查询打印帐簿用户管理设置会计科目录入初始数据凭证输入凭证查询查询总分类帐查询明细帐添加用户查询余额发生额修改密码日常帐务管理平衡校验凭证审核凭证修改总分类账凭证记帐转帐凭证定义转帐凭证生成期末结帐图6 系统功能树3.2.2功能逻辑(1)顶层数据流程图该财务管理系统顶层的数据流图如图7所示。系统的输入数据有初始设置的参数和日常的记账凭证,主要的输出有科目汇总表和各种账簿等。科目汇总表帐簿记帐凭证初始参数用户财务处理用户图7 系统顶层数据流程图(2)零层数据流程图财务处理最主要的两项功能是系统初始设置与日常账务处理。因此系统的零层数据流图如图8所示。记帐凭证科目、余额、凭证、总帐、明细帐科目汇总表帐簿初始参数用户p1初始设置用户p2日常帐务图8 系统零层数据流程图(3)一层数据流程图“初始设置”的分解。初始设置包括设置凭证类型、外币、结算方式、会计科目、辅助账核算项目如往来单位通讯录和录入初始数据等。下面画出分解后的设置会计科目、录入初始数据的数据流程图,如图9所示。图中“科目结构”用于校验科目的合法性。会计科目科目结构科目校验信息余额等初始数据用户p1.1编辑科目用户p1.2录入初始数据初始科目余额p1.3平衡校验图9 初始设置的第一层数据流程图“日常账务”的分解。日常账务处理的三项主要功能是凭证处理、转账结账和查询打印账簿,分解后的数据流程图如图10所示。查询条件科目汇总表记帐凭证凭证、余额、总帐、明细帐帐簿、科目余额表用户p2.1凭证处理用户p2.2转帐结帐总帐余额p2.3查询与打印科目明细科目发生额汇总图10 日常帐务的第一层数据流程图(4)二层数据流程图“凭证处理”的分解。“凭证处理”主要包括凭证输入、凭证查询、凭证审核、凭证修改、凭证汇总以及凭证记账,分解后的数据流程图如图11所示。凭证信息正确数据错误信息科目汇总表记帐凭证用户p2.1.1输入凭证用户凭证科目p2.1.2审核凭证p2.1.3修改凭证p2.1.6凭证记帐p2.1.7查询凭证p2.1.4科目汇总p2.1.5输出科目表科目汇总表科目余额总帐明细帐辅助帐图11 对“日常帐务”中“凭证处理”细化后的第二层数据流程图“转账结账”的分解。“转账结账”可分解为转账凭证定义、转账凭证生成和期末结账等功能。分解后的数据流程图如图12所示。其它子系统转帐凭证转帐参数用户p2.2.1定义转帐凭证用户转帐凭证定义p2.2.5扎帐p2.2.4汇总发生额p2.2.6数据处理p2.2.2系统外转帐明细帐档案明细科目发生额汇总凭证明细帐总帐余额p2.2.3生成转帐凭证p2.2.7打印转帐凭证总帐凭证档案结帐标志图12 对“日常帐务”中“转帐结帐”细化后的第二层数据流程图“查询打印账簿”的分解。财务总账管理系统提供了丰富的查询、打印功能,包括日记账、日报表、明细账、辅助账、总账和科目发生额及余额等等。分解后的数据流图如图13所示。科目余额发生额总帐p2.3.2查明细帐用户凭证p2.3.1查凭证p2.3.4查余额发生额p2.3.3查总帐科目总帐明细帐科目余额明细科目发生额汇总总帐余额明细帐、日记帐凭证信息图13 对“日常帐务”中“查询打印帐簿”细化后的第二层数据流程图3.3 数据需求3.3.1数据关系该企业财务管理系统数据实体关系图如图14所示。nnnn11111111111111凭证历史凭证备份科目包含分录包含备份分录历史初始化帐簿初始化汇总包含本期汇总本期明细计算科目余额统计资产负债图14 系统数据实体关系图3.3.2数据定义系统数据字典分别如下所示:表1 科目信息数据字典数据存储名:科目信息说明:对每个会计科目的基本信息如科目代码、科目名称、助记码、科目类别、是否存货科目、余额方向、数量单位等进行记录数据描述:科目代码、科目名称、助记码、科目类别、是否存货科目、余额方向、数量单位等表2 帐簿初始化信息数据字典数据存储名:帐簿初始化信息说明:对帐簿中的每个会计科目的科目代码、科目名称、累计借方、累计贷方、期初余额、余额方向等初始化信息进行记录数据描述:科目代码、科目名称、累计借方、累计贷方、期初余额、余额方向等表3 凭证信息数据字典数据存储名:凭证信息说明:对每个凭证的基本信息如凭证编号、会计期间、凭证字号、日期、附单据、制单、借方合计、贷方合计、过帐状态、凭证状态等进行记录数据描述:凭证编号、会计期间、凭证字号、日期、附单据、制单、借方合计、贷方合计、过帐状态、凭证状态等表4 凭证历史信息数据字典数据存储名:凭证历史信息说明:对输入的凭证信息进行备份数据描述:凭证编号、会计期间、凭证字号、日期、附单据、制单、借方合计、贷方合计、过帐状态、凭证状态等表5 分录信息数据字典数据存储名:分录信息说明:对每个凭证中的详细信息如凭证编号、摘要、科目代码、借方、贷方、数量、单价、结算方式、结算号、结算日期等进行记录数据描述:编号、凭证编号、摘要、科目代码、借方、贷方、数量、单价、结算方式、结算号、结算日期等表6 分录历史信息数据字典数据存储名:分录历史信息说明:对输入的分录信息进行备份数据描述:编号、凭证编号、摘要、科目代码、借方、贷方、数量、单价、结算方式、结算号、结算日期等表7 本期明细信息数据字典数据存储名:本期明细信息说明:对会计期间的所有凭证的详细信息进行描述数据描述:内部编号、分录编号、会计期间、凭证字号、凭证编号、摘要、科目代码、借方、贷方、余额方向、余额、数量、单价、结算方式、结算号、结算日、余额标记等表8 本期汇总信息数据字典数据存储名:本期汇总信息说明:对会计期间所有科目的汇总信息进行描述数据描述:科目编号、期初余额、余额方向、本期借方合计、本期贷方合计、本年借方累计、本年贷方累计、余额等表9 科目余额信息数据字典数据存储名:科目余额信息说明:对会计期间所有科目的结算余额信息进行描述数据描述:内部编号、科目代码、期初借方余额、期初贷方余额、本期借方发生额、本期贷方发生额、本年借方累计发生额、本年贷方累计发生额、本期借方余额、本期贷方余额、最后结算分录、会计期间、余额方向等4. 系统结构设计4.1总体框架在系统架构方面,基于系统的访问速度,便捷性、可行性等要求,本系统采用了c/s两层结构。它包括客户机、数据库服务器层,如图15所示。在两层客户机/服务器结构中,客户机负责信息表示与应用逻辑处理,服务器负责管理数据库事务。客户机信息表示应用逻辑处理数据库服务器 数据库管理图15 两层客户机/服务器结构4.2 软件结构4.2.1软件模型该系统的软件结构图如图16所示。会计科目模块(科目初始化)凭证模块账簿模块报表模块结账模块科目添加 打印总账,明细账,现金日记账,银行存款日记账输出资产负债表,损益表期末结转 修改密码 用户管理模块科目修改科目查询科目删除科目余额设置凭证输入/维护凭证审核凭证登帐(四个帐)查看总账,明细账,现金日记账,银行存款日记账打印资产负债表,损益表年末结转添加用户小型企业财务管理信息系统用户登录模块图16 软件结构图4.2.2模块定义根据本系统的项目规划、需求分析、系统结构设计等,可以得出系统的各个模块:用户登录模块、会计科目(系统初始化)模块、凭证模块、帐簿模块、报表模块、结转模块、用户管理模块。系统名称:小型企业财务管理信息系统模块名称:用户登录模块模块编号:1输入数据:用户名、密码输出数据:打开系统欢迎窗体处理步骤:(1)程序开始启动系统登录对话框。(2)用户输入用户名和密码。(3)从用户清单表中检查是否有相应的用户名和密码。(4)如果用户名或密码错误,进行提示。(5)如果正确,则打开系统欢迎窗体。(6)进入主程序界面。图17 “用户登录”模块的ipo图系统名称:小型企业财务管理信息系统模块名称:会计科目模块模块编号:2输入数据:科目信息、科目代码、科目名称、科目类别输出数据:更新数据库科目表处理步骤: 1.查询科目信息(1)输入科目代码、科目名称、科目类别。(2)从凭证表中根据科目代码、科目名称和科目类别搜索是否有相应的记录。(3)如果不存在相应的记录,则提示错误。(4)如果存在相应的记录,则将相应的科目基本信息显示出来。2.添加科目信息(1)输入科目信息。(2)从凭证表中根据科目代码、科目名称和科目类别搜索是否有相应的记录。(3)如果存在相应的记录,则提示错误。(4)如果不存在相应的记录,则将相应的科目信息添加到科目表中。3.修改或删除科目信息(1)输入科目信息。(2)从凭证表中根据科目代码、科目名称和科目类别搜索是否有相应的记录。(3)如果不存在相应的记录,则提示错误。(4)如果存在相应的记录,则修改或删除科目表中的相应信息。图18 “会计科目”模块的ipo图系统名称:小型企业财务管理信息系统模块名称:凭证模块模块编号:3输入数据:凭证信息、科目代码、科目名称、科目类别输出数据:更新数据库凭证表处理步骤:1.查询凭证信息(1)输入科目代码、科目名称、科目类别。(2)从凭证表中根据科目代码、科目名称和科目类别搜索是否有相应的记录。(3)如果不存在相应的记录,则提示错误。(4)如果存在相应的记录,则将相应的凭证信息显示出来。2.添加凭证信息(1)输入凭证信息。(2)从凭证表中根据科目代码、科目名称和科目类别搜索是否有相应的记录。(3)如果存在相应的记录,则提示错误。(4)如果不存在相应的记录,则将相应的凭证信息添加到凭证表中。3.修改或删除凭证信息(1)输入凭证信息。(2)从凭证表中根据科目代码、科目名称和科目类别搜索是否有相应的记录。(3)如果不存在相应的记录,则提示错误。(4)如果存在相应的记录,则修改或删除凭证表中的相应信息。图19 “凭证”模块的ipo图系统名称:小型企业财务管理信息系统模块名称:帐簿模块模块编号:4输入数据:会计期间输出数据:生成明细帐、总帐处理步骤:(1)输入会计期间。(2)从本期明细表或本期总帐表根据会计期间搜索是否有相应的记录。(3)如果不存在相应的记录,则提示错误。(4)如果存在相应的记录,则将相应的明细帐或总帐信息显示出来。图20 “帐簿”模块的ipo图系统名称:小型企业财务管理信息系统模块名称:报表模块模块编号:5输入数据:会计期间输出数据:生成资产负债表、损益表处理步骤:(1)输入会计期间。(2)从科目余额表根据会计期间搜索是否有相应的记录。(3)如果不存在相应的记录,则提示错误。(4)如果存在相应的记录,则将相应的科目余额信息显示出来。图21 “报表”模块的ipo图系统名称:小型企业财务管理信息系统模块名称:结转模块模块编号:6输入数据:会计期间输出数据:更新数据库下个会计期间的帐簿初始化表处理步骤:(1)输入会计期间。(2)从科目余额表根据会计期间搜索是否有相应的记录。(3)如果不存在相应的记录,则提示错误。(4)如果存在相应的记录,则将相应的科目余额信息转入下个会计期间,更新下个会计期间的帐簿初始化表。图22 “结转”模块的ipo图系统名称:小型企业财务管理信息系统模块名称:用户管理模块模块编号:7输入数据:用户信息输出数据:更新数据库用户清单表处理步骤: 1.修改密码的处理(1)输入旧密码、新密码和确认新密码。(2)如果输入的旧密码不正确,则提示错误,并要求重新输入。(3)如果输入的旧密码正确,则判断新密码和确认新密码是否一致,如果密码不一致,提示错误,并要求重新输入;如果密码一致,根据用户输入的新密码,在数据库用户清单表中修改当前用户的密码。2.添加新用户的处理(1)输入用户名、密码和确认密码。(2)如果密码和确认密码不一致,则提示错误,并要求重新输入密码和确认密码。(3)如果密码和确认密码一致,则根据用户输入的用户名判断用户是否存在,如果存在,提示错误,并要求重新输入;如果用户不存在,根据用户输入的用户名和密码,在数据库用户清单表中添加新记录。(4)提示新用户添加成功。图23 用户管理模块的ipo图4.3 数据结构4.3.1 数据库模型根据上文的数据需求可以看出,本系统主要包括会计科目、凭证、分录、科目余额、本期明细账簿、本期汇总账簿等实体,各实体关系如下文所述。(1)凭证历史实际上是对凭证记录的备份保存,因此凭证历史表和凭证表间存在一对一的关系。(2)分录历史实际上是对分录记录的备份保存,因此分录历史表和分录表间存在一对一的关系。(3)一张凭证可以被包含在多个分录中,多个分录可以同时对应一张凭证,因此凭证表和分录表间存在一对多的关系。(4)一个科目被包含在多个分录中,多个分录可以同时对应同一科目,因此科目表和分录表间存在一对多的关系。(5)账簿初始化实际上是对科目表中每个科目进行初始化操作,因此账簿初始化表和科目表间存在一对一的关系。(6)本期汇总实际上是对期间发生的每个科目进行汇总操作,因此本期汇总账簿和科目表间存在一对一的关系。(7)一个会计科目可以被包含在多张本期明细中,多张本期明细可以对应同一会计科目,因此科目表和本期明细账簿间存在一对多的关系。(8)科目余额实际上是对每个会计科目的余额的计算,因此科目余额表和科目表间存在一对一的关系。(9)一个会计期间的资产负债是对多个科目余额的统计,多个科目余额可以生成一张资产负债,因此资产负债表和科目余额表间存在一对多的关系。数据库中表间e-r图如图24所示。图24 数据库表间e-r图4.3.2 数据定义由上述分析可知,该系统共需要12张表,用途分别如表10所示。表10 系统数据表及其用途数据表名称数据表用途科目表保存企业财务的科目设置信息账簿初始化表正式使用系统前初始化科目的期初余额凭证表输入会计凭证,分录表的主表分录表输入会计凭证,分录表的从表科目余额表保存各个会计期间的科目借、贷、余额情况凭证表历史保存过账后的凭证历史分录表历史保存过账后的分录历史本期明细账簿保存当前会计期间的明细账簿数据本期汇总账簿保存当前会计期间的明细账簿数据,期末结账后期末变成新会计期间的期初资产负债表统计用表,用于计算资产负债表系统参数表系统运行所需的参数信息用户清单保存系统用户登录信息(1)科目表包括科目代码、科目名称、助记码、科目类别、是否存货科目、余额方向、数量单位等字段,其中科目代码是主键。(2)帐簿初始化表包括科目代码、科目名称、累计借方、累计贷方、期初余额、余额方向等字段,其中科目代码是主键。(3)凭证表包括凭证编号、会计期间、凭证字号、日期、附单据、制单、借方合计、贷方合计、过帐状态、凭证状态等字段,其中凭证编号是主键。(4)分录表包括编号、凭证编号、摘要、科目代码、借方、贷方、数量、单价、结算方式、结算号、结算日期等字段,其中编号是主键。(5)科目余额表包括科目代码、期初借方余额、期初贷方余额、本期借方发生额、本期贷方发生额、本年借方累计发生额、本年贷方累计发生额、本期借方余额、本期贷方余额、最后结算分录、会计期间、余额方向、内部编号等字段,其中科目代码是主键。(6)凭证历史包括凭证编号、会计期间、凭证字号、日期、附单据、制单、借方合计、贷方合计、过帐状态、凭证状态等字段,其中凭证编号是主键。(7)分录历史包括编号、凭证编号、摘要、科目代码、借方、贷方、数量、单价、结算方式、结算号、结算日期等字段,其中编号是主键。(8)本期明细帐簿包括内部编号、分录编号、会计期间、凭证字号、凭证编号、摘要、科目代码、借方、贷方、余额方向、余额、数量、单价、结算方式、结算号、结算日期等字段,其中内部编号是主键。(9)本期汇总帐簿包括科目代码、期初余额、余额方向、本期借方合计、本期贷方合计、本年借方累计、本年贷方累计、余额等字段,其中科目代码是主键。(10)资产负债表包括会计期间、现金及现金等价物、应收帐款、坏帐准备、应收帐款净值、流动资产总计、固定资产原值、累计折旧、固定资产总计、其他资产、应付帐款、预收帐款、应付工资、其他负债、负债总计、资本公积、赢余公积等字段,其中会计期间是主键。(11)系统参数表包括参数名称、取值、编号,其中参数名称是主键。(12)用户清单包括用户编号、用户名、密码,其中用户编号是主键。5. 系统详细设计5.1程序算法详细设计5.1.1会计科目(系统初始化)模块算法设计和代码实现该模块的算法根据会计科目(系统初始化)模块的模块定义来设计。会计科目(系统初始化)模块算法设计要求如下:(1)新增科目时对于科目编号的输入控制首位必须为1/2/3/4/5编号符合编码规则(也就说限制长度为3/5/7/9)编码不准出现重复编码不准越级,不准只有下级科目而不存在上级科目对于已经在输入凭证中使用的科目编码,不能再赋予其下级科目(2)新增科目时对于科目名称的输入控制不准出现空值。(3)修改删除会计科目时的控制条件不准修改科目编号科目若存在下级科目,将不准删除科目若已经输入余额或发生额,不准修改和删除科目已经在凭证中使用的,不允许修改和删除该模块的主要代码为:新增科目函数:public overrides sub saveforadd() dim drdata as datarow = dataset11.tables(科目表).newrow() try drdata(科目代码) = txbcode.text.trim drdata(科目名称) = txbname.text.trim drdata(助记码) = txbhelpcode.text.trim drdata(科目类别) = cbbkind.text.trim drdata(余额方向) = cbbdirection.text.trim catch ex as exception messagebox.show(数据格式不正确!) exit sub end try try dataset11.tables(科目表).rows.add(drdata) if me.dataset11.haschanges = true then sqldataadapter1.updata(dataset11) end if catch ex as exception messagebox.show(数据添加失败!) end try end sub更新科目函数:public overrides sub saveforupdate() try dim row as integer row = dgdlist.currentcell.rownumber dgdlist.currentcell = new datagirdcell(row + 1) mod bmdata.count, 0) 判断是否有更新的数据 if me.dataset11.haschanges = true then sqldataadapter1.update(dataset11) end if catch ex as exception messagebox.show(数据修改失败!) end tryend sub删除科目函数:public overrides sub deletedata() try 删除当前行的数据 dataset11.tables(科目表).rows(bmdata.position).delete() if me.dataset11.haschanges = true then 更新dataset11 sqldataadapter1.updata(dataset11) end if catch ex as exception messagebox.show(数据删除失败!) end try end sub5.1.2 凭证模块算法设计和代码实现该模块的算法根据凭证模块的模块定义来设计。凭证模块算法设计要求如下:(1)输入凭证分录时的输入控制凭证分录的发生科目必须已经在科目表中存在。凭证分录的借贷方发生额必须相等,否则会提示用户。(2)修改/删除凭证分录时的输入控制对于已经审核完毕的凭证不准修改/删除分录。修改之后的凭证依旧要保证借贷方发生额必须相等。(3)审核凭证时的输入控制要求审核凭证的用户和凭证制单的用户不能为同一人。审核凭证时若凭证借贷不平衡或者发生额为零则不能审核。(4)凭证登帐时的输入控制凭证登帐的前提是已经审核完毕的凭证。该模块主要实现代码为:添加凭证函数:private sub btnadd_click(byval sender as system.object, byval e as system.eventargs) handles btnadd.click 判断数据格式 if validatedata() = false then messagebox.show(数据格式不正确!) return end if try dim dr as datarow = dtdetail.newrow dr(摘要) = txbsummary.text.trim dr(科目代码) = txbsubjectcode.text.trim dr(科目名称) = txbsubjectname.text.trim dr(借方)=txbdebit.text.trim dr(贷方) = txblender.text.trim 添加一行数据 dtdetail.rows.add(dr) dgddetail.datasource = dtdetail dgddetail.currentrowindex = dtdetail.rows.count - 1 更新钱的总数 updatemoney() catch ex as exception messagebox.show(数据格式不正确!) end try cleartextbox()end sub修改凭证函数:private sub btnsave_click(byval sender as system.object, byval e as system.eventargs) handles btnsave.click if validatedata() = false then messagebox.show(数据格式不正确!) return end if if dgddetail.currentrowindex = -1 then return end if try 更新当前行的数据 dim irow as integer = dgddetail.currentrowindex dtdetail.rows(irow)(摘要) = txbsummary.text.trim dtdetail.rows(irow)(科目代码) = txbsubjectcode.text.trim dtdetail.rows(irow)(科目名称) = txbsubjectname.text.trim dtdetail.rows(irow)(借方) = txbdebit.text.trim dtdetail.rows(irow)(贷方) = txblender.text.trim updatemoney() catch ex as exception messagebox.show(数据格式不正确!) end try cleartextbox()end sub删除凭证函数:private sub btndel_click(byval sender as system.object, byval e as system.eventargs) handles btndel.click try 获得datagird当前被选中的行号 dim irow = dgddetail.currentrowindex 弹出对话框让用户确认要删除记录 如果用户确认要删除记录 if messagebox.show(确认要删除此记录吗?, confirm, messageboxbuttons.yesno) = dialogresult.yes then 从凭证表中删除当前被选中记录() cleartextbox() dtdetail.rows.removeat(irow) else exit sub end if catch ex as exception messagebox.show(删除数据出错!) end try updatemoney() cleartextbox() end sub5.1.3 账簿模块算法设计和代码实现该模块的算法根据账簿模块的模块定义来设计。总分类账查询函数:private sub loaddata() dim strfilter as string if me.txbone.text.trim.length = 0 then if me.cbbcheck.checked = true then strfilter = where 本期借方合计0 or 本期贷方合计0 end if else strfilter = where 科目代码= + me.txbone.text.trim if me.cbbcheck.checked = true then strfilter += and(本期借方合计0 or 本期贷方合计0) end if end if 清空dataset11 dataset11.clear() sqlconnection1.connectionstring = database.sconn mandtext = select * from 本期汇总帐簿 + strfilter 根据查询条件重新填充dataset11 sqldataadapter1.fill(dataset11) dtdata = dataset11.tables(本期汇总帐簿) bmdata = me.bindingcontext(dataset11, 本期汇总帐簿) lblcount.text = 记录数: + dtdata.rows.count.tostring() end sub试算平衡函数:private sub mnpingheng_click(byval sender as system.object, byval e as system.eventargs) handles mnpingheng.click if getinstancestate(frmpingheng) then exit sub end if dim childfrm as frmpingheng = new frmpingheng childfrm.mdiparent = me childfrm.show() childfrm.calpingheng(1) end sub5.1.4 报表模块算法设计和代码实现该模块的算法根据报表模块的模块定义来设计。资产负债函数:private sub mnfuzhai_click(byval sender as system.object, byval e as system.eventargs) handles mnfuzhai.click if getinstancestate(frmreport) then exit sub end if dim message, title, defaultvalue as string dim muvalue as object message = 请输入统计的会计区间 title = 输入 set title. 输入统计的会计区间 dim db as database = new database dim strsql as string strsql = select 取值 from 系统参数表 where 参数名称= strsql += 当前会计期间 dim dv as dataview = db.runselectsql(strsql) defaultvalue = (cint(dv(0)(0).tostring().trim) - 1).tostring myvalue = inputbox(message, title, defaultvalue) dim strtemp as string try strtemp = cint(myvalue.tostring.trim) catch ex as exception messagebox.show(请输入合法的会计区间!) return end try 计算 db.rundelorinssql(exec sf_计算资产负债表 + strtemp) db.dispose() 显示 dim childfrm as frmreport = new frmreport(cint(myvalue.tostring.trim) childfrm.mdiparent = me childfrm.show() end sub5.1.5 结转模块算法设计和代码实现该模块的算法根据结转模块的模块定义来设计。期末结账函数:private sub mnqimo_click(byval sender as system.object, byval e as system.eventargs) handles mnqimo.click 期末结帐 dim dlgresult as dialogresult = messagebox.show(结帐后将进入下一会计期间,是否结帐?, 确定, messageboxbuttons.yesno) if dlgresult dialogresult.yes then return end if dim db as database = new database try db.rundelorinssql(begin tran exec sf_期末结帐) catch ex as exception messagebox.show(期末结帐失败!) db.rundelorinssql(rollback) return end try db.rundelorinssql(commit) messagebox.show(结帐成功!) end s

温馨提示

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

评论

0/150

提交评论