




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【最新资料,Word版)可自由编辑!】电算化会计实验指导书实验课程代码:08041030英文名称: Computer Application in Accounting适用对象:管理类本科专业、经济类本科专业学时学分:共64学时,其中理论教学48学时,实验16学时。共4学分,实验1学分。一、实验的地位、作用电算化会计实验作为课程实践性环节之一,是教学过程中必不可少的重要内容。通过 计算机实验和实例开发,使学生加深理解、验证巩固课堂教学内容;增强对关系数据库系 统VFP账务处理系统整体的感性认识;掌握系统分析、系统设计及可视化程序设计、应用 系统开发的基本方法;培养学生理论与实践相结合的能力。二
2、、实验开设对象本实验开设对象为电算化会计课程的学习者(管理类本科专业、经济类本科专业), 实验为必修内容。三、基本原理及课程简介电算化会计是一门培养学生学习和掌握会计电算化系统分析和开发基本技术,并具 备一定程序设计和独立完成简单应用系统开发能力的专业提高类课程,属于计算机和会计 学相结合的边缘类课程,具有很强的操作性和实践性。课程实验教学目的在于使学生从系 统操作和软件设计两个方面掌握账务处理系统的基本原理、技术,并通过上机实践进行自 己动手进行实例开发,从而巩固提高课程教学质量。本课程要求学生了解系统开发中需要 用到的系统调查、分析和设计等基本理论,并在此基础上熟悉一门数据库语言,在掌握数
3、 据库语言的基础上,结合实际,进行简单财务应用软件的设计与开发,并能独立在计算机 上进行实现。实验课程不同于理论课程,应充分体现“教师指导下的以学生为中心”的教 学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生自学能力的培 养。实验方式主要为学生上机操作,教师随堂辅导。共开设8个实验项目。实验1为账务处理系统的开发进行原始数据的准备 ,实验2-7为系统中各表单的界面设计与程序设计训 练,8为综合性系统开发实验。四、指导教师原则上由关系数据库课程讲授教师负责,并担任主要的实验指导教师,实验室人员配 合指导。指导教师应在每次实验前讲清实验目的、基本原理、实验要求等,指导学生在规 定
4、的时间内完成相关课程实验。五、实验设备配置每人配置1台电脑,安装有关系数据库系统 Visual Foxpro 6.0 、用友财务软件、Office 97/2000 等其他软件系统,可访问内部局域网。六、考核与报告1 .实验后,学生将实验结果等内容及时存盘,并写出实验报告,符合实验教学的要 求,并得到指导教师的认可。2 .指导教师对学生上机实验结果及时检查,并对每份实验报告进行审阅、评分。3 .该实验课程的成绩单独评分,并与实验学分挂钩,同时记入课程总成绩。实验一 VFP操作回顾与账务处理系统开发准备一、实验题目1、回顾关系数据库课程中所学的 VFP6.0的相关操作;2、做建立项目管理账务处理系
5、统开发准备。二、实验课时课内2学时。三、实验目的1、从VFP(统的启动开始,逐步熟悉其界面、辅助设计工具及基本操作,并回顾VFP勺相关操作;2、建立系统的控制和管理中心:项目管理器,建立系统文件的存储文件 夹。四、实验内容和要求1 .项目的建立1 .确定系统文件夹的路径,建立系统文件夹:d:* 或者e:* ;2 .利用VF6.0新建项目文件:账务处理系统,并将其保存到所建文件夹中。2 .数据初始化1 .将基础数据文件拷贝到系统文件夹下(各种表和数据文件);2 .在项目管理器中建立数据库:总账.dbc;3 .在新建数据库中导入基础数据文件(将表添加到总账数据库);4 .练习自行建立“操作人员”表
6、,其它表格通过局域网共享获得。3 .建立系统的门户表单-"系统注册”表单1、建立“系统注册”表单第一步:通过操作的方式建立一个表单,将其保存,取名为系统注册;第二步:将表单的Caption属性有原来的forml改为“系统注册”。2、建立“系统注册”表单集建立方法:在建立表单集时,我们先建立一个新表单,建立完一个新表单后,VF的主菜单上就会自动增加“表单”这一菜单项,有关表单和表单集的相关操作都可以在这一菜 单项中来完成。建立表单集需要下面三个步骤:表单一一创建表单集一一添加新表单(移除表单集)。具体步骤如下:第一步:创建新表单:图1-1建立表单示意图图1-2建立表单示意图第二步:点击
7、主菜单中的“表单”菜单项,然后点击其下拉菜单中的“创建表单集”; 此时,“表单设计器”就变成了 “表单集设计器”。图1-3创建表单集第三步:点击“表单”菜单项下拉菜单中的“添加新表单”和“移除表单”进行表单集 中表单个数的增加和减少。图1-4往表单集中添加新表单图1-5表单集示意图图1-6移除表单示意图3、建立“用户”数据表此数据表中起码包括:姓名、密码两个字段,用来控制用户的登陆以及用以纪录系统的 使用情况。图1-7用户表结构示意图4、设置系统数据环境我们在前面已经建立了一个“用户”表,这个表是一个数据库表,存在于我们新建立 数据库中,但是这时候他还不能为我们的表单所用。因为数据库和表单是两
8、个独立的事 务。所以接下来我们需要将原来在数据库中的表加到我们表单的数据环境中来,这样将会 有两个方面的好处:1、这个表现在和表单之间建立了一种关系,可以随时为我们的表单所 用了; 2、在表单数据环境中的表将会随着表单的打开和关闭而自动的打开和关闭。这样的 话我们在操作表单的时候就不用再去担心或者考虑我们要用到的表是否已经打开或者关闭 了。5、表单界面设计包括:标签、命令按钮、文本框、组合框和复选框。图1-8系统注册界面设计示意图6、控件数据捆绑标签用户名后面的组合框中数据来自于“用户”数据表中的姓名字段,要想实现在表 单运行过程中自动显示,在运行之前需要进行数据捆绑和程序控制。(1)数据捆绑
9、图1-9控件捆绑数据示意图(2)程序控制COMBO1NITpublic yhm,yhmmyhm=''yhmm=''this.value=this.list(1)7、表单程序设计FORM各控件中的程序如下:我们在编程的时候考虑得最多或者说必须要考虑的就是:一方面程序要能实现其应有的功 能;另外:就是用户操作的简便性。1、判断用户输入密码是否正确,是否有使用系统的权限:在程序编写过程中是通过判 断用户输入密码和系统提供密码是否一致来实现判断的。如果,用户输入的密码正确,那 么他就可以进入系统;否则,用户就会被拒之门外。要实现这个功能,我们第一步就是要从系统中取出每个
10、用户所对应的密码;第二步, 再用我们取出来的密码跟用户输入的密码进行比较。第三步:根据比较结果进行分支处 理。第一步:我们在编程过程中要实现的第一个功能就是取出系统中原先设定的用户密 码。这一功能我们是在:组合框中编程实现的。具体程序如下:COMBO1NITpublic yhm,yhmmyhm=''yhmm=''this.value=this.list(1)sele 用户yhm=alltrim(姓名)yhmm=alltrim(密码)COMBO1.CLICKsele 用户yhm=alltrim(姓名)yhmm=alltrim(密码)第二步:实现用户输入密码和系统密
11、码的比较,具体程序如下:COMMANDCILICK local yhsr,xm if sys(2007,yhsr)!=sys(2007,yhmm) && 第三步:比较之后进行分支处理。 =messagebox("密码不正确,请重新输入!",0+48,"密码错误")return elsethisformset.form1.visible=.f.elsepublic zcrzcr=yhmrelease yhm,yhmm thisformset.release endif endif在更改密码表单中,进行的是输入新密码、比较输入密码以及进行密码
12、的替换。在输 入新密码的时候,我们还要进行一些完善性的措施,因为密码关系到一个系统得安全性, 所以我们在更改密码的时候或输入密码时,需要遵循一定的规则。具体如下:(1)用户输入的密码不能为空;(2)用户两次输入的密码必须相等。要想实现上述功能,在FORM褰单中需要编写如下具体程序:COMMAND1.CLICKlocal xmm1,xmm2 if xmm1=''=messagebox(" 密码不能为空! ",0+48,"警告") returnendifif sys(2007,xmm2)!=sys(2007,xmm1)=messagebox(
13、“密码核对错误,请重新确定新密码!",0+48, “警告”)return elsesele用户repl密码 with xmm1public zcrzcr=yhmrelease yhm,yhmm thisformset.release endif注意事项:1 .在建立完系统文件夹后,千万注意设定当前系统项目管理器文件路径为当前默认路 径;2 . VFP命令语句不区分字母大小写,但必须是英文格式,需要注意输入时的中、英文 切换,避免输入中文符号;3 .为防止软盘出错、内容丢失,除在硬盘上保存外,最好准备两块软盘备份,保证数 据安全。实验二会计科目表单的建立与修改一、实验题目1、进行会计科
14、目表单的建立与修改;二、实验课时课内2学时三、实验目的通过实例练习,熟练掌握VF陈统中会计科目表单的建立与修改方法,并完成相应的数 据库、数据表内容,为后续实验做准备。四、实验内容和要求(一).“会计科目”表单设计1 .建立“会计科目”表单2 .系统数据环境设置:将“会计科目”表加入到会计科目表单的数据环境,具体步骤如下:第一步:在表单“空白处”(即:无控件处)点击鼠标右键,出现如下图中的数据环境对话框;图2-1会计科目表单数据环境设置第二步:在数据环境设计器中单击鼠标右键,出现如图所列示的快捷菜单,点击“添 加”快捷菜单;图2-2会计科目表单数据表添加第三步:选种需要添加的表“会计科目”表,
15、然后点击如图所示的“添加”按忸即可 完成一个表的添加过程;图2-3会计科目表单数据环境设置第四步:如需添加多个表,重复第三步的操作,全部添加完毕后点击关闭按钮。3 .表单界面设计:在会计科目表单中,需要用到下面几个控件:表格控件、命令按钮控件、标签控件以及起美化界面作用的形状或容器控件。根据实现表单功能需要将控件摆放完毕后,我们还需要进行控件属性的设置,其中对表 格控件的属性修改如下:(1)将Readonly属性值设置为真;(2)将Deletemark属性值设置为假;(3)将RecordMark属性值设置为假;(4)将scrollbars 属性值设置为2-垂直(5)同时我们还可以修改表格的布局
16、属性调整表格的行和列宽度,表格表头的宽度 和字体等等。图2-4会计科目表单界面图4、表格控件数据源的设定表格控件中的列表头,控件中显示的数据均取决于表格控件所捆绑的数据源,因此, 正确的捆绑数据源是表格控件正确显示数据和修改数据的前提条件。具体捆绑步骤如下:第一步:将鼠标放在表格控件上点击鼠标右键,并在弹出的快捷菜单中选择“生成器”菜单项;第二步:在表格控件生成器中进行数据表以及所用表中字段的确定;图2-5表格控件数据捆绑第三步:在此基础上还可以进行表格生成器中样式、布局和关系等选项卡的设定,全部 设定完成后,点击确定按钮即可保存设定。5、程序设计在表单中,用户可能需要实现增加会计科目、修改会
17、计科目或者删除会计科目的操作,为了实现相应的功能,程序需要分别在不同的命令按钮中输入不同的程序加以实现。 具体如下:(1)增加命令按钮:Commandl.clicksele会计科目&&选中会计科目表成为当前表insert blank &&再入一条空白纪录,在用insert/pack 等命令前必须将表设置成独占 打开。thisform.refresh &&刷新表单sele会计科目reccount(),4)thisform.refresh删除命令按钮:Command2.clicksele会计科目&&选中会计科目表成为当前表delete
18、 &&将选中的记录打上删除标记。Pack &&将打上删除标记的记录彻底删除thisform.refreshsele会计科目reccount(),4)thisform.refresh(3)控制表格控件中数据是否可修改的修改命令按钮:Command3.click退出表单命令按钮程序:Command4.clickthisform.release(5)自动显示科目个数程序:label4.initsele会计科目thisform.label4. caption =alltrim(str(reccount(),4)thisform.refresh要求:1 .按照会计科目表单
19、图形界面进行界面设计,熟悉表单及表单控件各属性的含义和修 改属性的方法。2 .学习设置表单的数据环境,学习对表格控件等控件进行数据捆绑。3 .学习使用面向对象的编程方法,在会计科目表单的各个不同控件中进行程序设计。实验三期初余额表单的建立与修改一、实验题目1、进行期初余额表单的建立与修改。二、实验课时课内2学时三、实验目的通过实例练习,熟练掌握VFP(统中期初余额表单的建立与修改方法,并完成相应的数 据库、数据表内容,为后续实验做准备。四、实验内容和要求(一)、“期初余额”过程设计1、所实现的功能及过程描述任何一个非新建企业,他们都会有一定的期初的资产、负债和权益。我们在做账的过 程中用这一企
20、业的期初余额加上这一企业这一段时间的科目发生额,才能获得企业最终的 资产、负债等数据。所以,企业期初余额的设定,将关系到企业最终报出报表的准确性和 可行度。2、建立“期初余额”表单3、系统数据环境设置:将“期初余额”表加入到期初余额表单的数据环境,具体步骤 如下:第一步:在表单“空白处”(即:无控件处)点击鼠标右键,出现如下图中的数据环境 对话框;图3-1期初余额表单数据环境设置第二步:在数据环境设计器中单击鼠标右键,出现如图所列示的快捷菜单,点击“添 加”快捷菜单;图3-2期初余额表单数据环境设置第三步:选种需要添加的表“期初余额”表,然后点击如图所示的“添加”按忸即可完成 一个表的添加过程
21、;图3-3期初余额表单数据环境设置第四步:如需添加多个表,重复第三步的操作,全部添加完毕后点击关闭按钮。3.表单界面设计:在期初余额表单中,需要用到下面几个控件:表格控件、命令按钮控件、标签控件以及 起美化界面作用的形状或容器控件。根据实现表单功能需要将控件摆放完毕后,我们还需要进行控件属性的设置,其中对表 格控件的属性修改如下:(1)将Readonly属性值设置为真;(2)将Deletemark属性值设置为假;(3)将RecordMark属性值设置为假;(4)将scrollbars 属性值设置为2-垂直(5)同时我们还可以修改表格的布局属性调整表格的行和列宽度,表格表头的宽度 和字体等等。图
22、4-4期初余额表单属性设置4、表格控件数据源的设定表格控件中的列表头,控件中显示的数据均取决于表格控件所捆绑的数据源,因此, 正确的捆绑数据源是表格控件正确显示数据和修改数据的前提条件。具体捆绑步骤如下:第一步:将鼠标放在表格控件上点击鼠标右键,并在弹出的快捷菜单中选择“生成 器”菜单项;第二步:在表格控件生成器中选中期初余额表并确定表中所用的字段;图3-5表格控件数据捆绑第三步:在此基础上还可以进行表格生成器中样式、布局和关系等选项卡的设定,全部设 定完成后,点击确定按钮即可保存设定。5、程序设计在表单中,用户可能需要实现增加会计科目、修改会计科目或者删除会计科目的操 作,为了实现相应的功能
23、,程序需要分别在不同的命令按钮中输入不同的程序加以实现。 具体如下:(1)录入命令按钮程序:Commandl.clicksele期初余额thisform.refresh(2)修改命令按钮程序:Command2.click(3)退出表单命令按钮程序:Command3.clickthisform.release要求:1 .按照期初余额表单图形界面进行界面设计,熟悉表单及表单控件各属性的含义和修 改属性的方法。2 .学习设置表单的数据环境,学习对表格控件等控件进行数据捆绑。3 .学习使用面向对象的编程方法,在会计科目表单的各个不同控件中进行程序设计。实验四填制凭证表单的建立和修改(一)一、实验题目1
24、、再次练习表单集的建立和表单之间的相互调用;2、练习复杂表单界面的设定和各种表单控件生成器的使用。二、实验课时课内2课时三、实验目的1 .掌握表单集建立的基本思路和方法,掌握显示、隐藏表单的基本方法;2 .熟悉复杂表单界面的设定;3 .熟悉各种表单控件生成器的使用。四、实验内容和要求(一)“填制凭证”表单实现功能及过程描述:“填制凭证”表单作为用户输入凭证数据的交互界面,首先需要提供给用户一个清晰明了的界面,保证用户能够正常得进行数据输入;然后,将每次填制新凭证时将用户输入 的数据先保存到空白的临时凭证库中,并对输入数据的合法性进行检验,如果出现不合法 的情况,系统应给予一定的提示;在检测合法
25、的情况下,将输入或生成的信息先保存到临 时凭证库然后统一追加到记账凭证库中。其中,合法性的检查主要是对以下几个方面的检验:1、借贷方金额合计必须相等;2、摘要和科目名称不能为空;3、借方金额和贷方金额不能同时为零或者都不为零。(二)实施步骤:1 .建立“填制凭证”表单设置填制凭证表单的时候需要用到:标签、文本框、表格等控件。具体图形如下:图4-1填制凭证表单界面设计图2 .系统数据环境设置:将临时凭证库、记账凭证库两个表添加到表单的数据环境中,以实现表单对其的自动 调用。添加过程跟前面所讲的“会计科目”表单和“期初余额”表单一致。3 .进行表格控件的数据捆绑和个别其他控件的属性设定:(1)表格
26、控件(Grid)数据捆绑:绑定的数据源是:临时凭证库图4-3文本框和标签属性设置图4 .表单程序设计:(1)凭证初始化:FORM1 LOAD# 件sele临时凭证库&& (注意“临时凭证库”打开时的属性,必须为独占打开, 即:数据环境中“临时凭证库”Excluxive属性为真。)If !isexclusive('临时凭证库')UseUse 临时凭证库exclusiveEndifzap &&将临时凭证库清空,只保留表结构 append blank &&添加一条空白记录 set delete onpublic delrecno del
27、recno=0TEXT3.INIT 事件sele记账凭证库凭证号初始设置go bottom &&将记录指针移到最后一条记录this.value=凭证号+1 &&取出其凭证号数并加一得到所填新凭证的凭证号TEXT2.INIT 事件 This.value=date() && LABEL18.INIT 事件 this.caption=alltrim(zcr) && (2)增、删凭证分录COMMAND4.CLICK local pzgrid&&pzgrid=thisform.grid1&&pzgrid.se
28、tfocus&&sele临时凭证库&&append blank&&凭证日期初始设置将当前填制凭证日期设定为系统日期显示制单人姓名将此时的系统注册人姓名显示在标签控件上添加一条分录即在表格中增加一空行&&W新该空白行各文本框的值pzgrid.setfocusCOMMAND2.CLICK&&£表格获得焦点&&定义一局域变量,并将其赋值为表格控件对象使表格控件获得焦点在临时凭证库中增加一条空白记录 同时表格控件中对应增加一空行使表格控件重新获得焦点aa=messagebox('确定删除该
29、分录吗?',4+32,'if aa!=7&& 确定删除sele临时凭证库delete&&删除当前记录append blank&&则添加一条空记录&&£表格获得焦点,激活表格&&W新该行各文本框的值删除一条分录即在表格中删除一行提示)endif (3)更新借方金额与贷方金额的值并计算合计金额编程思路:当在表格中输入金额时,根据一条会计分录中借贷双方不能都为非零值的规则,如果 其借方金额不为零,则将其贷方金额自动置为零,反之,则将借方金额自动置零。同时, 不论分录中借方还是贷方金额发生改变,都
30、要重新计算合计金额的值,并显示合计值结果,帮助用户判断当前借贷是否平衡。控制放在和的INTERACTIVECHANGg件中完成(说明:当控件的值改变时发生该事件) .INTERACTIVECHANGB!1local currenrec,currentvalue&&定义局域变量sele临时凭证库currentrec=recno()&¤tvalue=this.value&&if currentvalue!=0&&repl贷方金额with 0&&&&将第四列文本框的值置为零endifrepl
31、借方金额 with currentvalue&&local jfhj,dfhjsum借方金额to jfhj&&sum贷方金额to dfhj&&记录当前位置保存当前的借方金额的值 如果借方金额不为零 将贷方金额置为零将当前值存入数据表计算借方与贷方金额合计值并将其分别存入变量中alltrim(str(jfhj,15,2) &&alltrim(str(dfhj,15,2) && go currentrec将合计金额值显示到标签控件上注意allrim函数的运用。&&返回初始包置GRID1.COLUMN4.
32、TEXT1NTERACTIVECHAN瓯 local currenrec,currentvaluesele临时凭证库 currentrec=recno()currentvalue=this.valueif currentvalue!=0repl借方金额with 0endifrepl 贷方金额 with currentvaluelocal jfhj,dfhjsum借方金额to jfhjsum贷方金额to dfhjgo currentrec注意事项:1 .对临时凭证库表进行ZAP操作时,必须保证临时凭证库是独占打开的,即,临时凭证库 的Exclusive属性为.T.达到这一目的的方法有两种:(1)
33、是通过数据环境设计器进行数据表属性的设定:图4-4数据表属卜t设定(Exclusive属性)(2)是通过程序来进行判断和实现:Sele临时凭证库If !isexclusive('临时凭证库')UseUse临时凭证库exclusiveEndif2 .注意不同控件属性的设定方法:例:文本框控件的高级属性设定,一般是通过生成器来实现。比如:设置文本框的数据 类型属性,设置文本框的输入数据类型掩码等等。图4-5文本框属性设定(数据类型) 要求:1 .进行填制凭证表单的界面设计。2 .进行填制凭证表单的数据表的设定设置数据环境。3 .进行填制凭证表单的各控件的程序设计。实验五填制凭证表单
34、的建立和修改(二)一、实验题目1 .继续完善“填制凭证”表单的界面;2 .学习使用复杂程序的编写。3 .学习使用同一控件不同事件的编程。二、实验课时课内2课时三、实验目的1 .继续熟悉复杂表单界面的设定;2 .继续熟悉各种表单控件生成器的使用;3 .学习使用控件编程,熟悉不同事件的意义。四、实验内容和要求“填制凭证”过程设计(续上一实验)(4)凭证的校验凭证校验的基本编程思路:首先需要校验的是凭证中是否存在空白栏,即凭证摘要不能为空,科目名称不能为 空,借方与贷方金额不能同时为零。由于表格控件各行的内容与临时凭证库中未删除记录 相对应,所以可以采用下述方法:首先计算库中未删除记录的个数,即表格
35、控件中有内容 的行数,然后将记录指针移到末尾一条记录即表格中的最后一行,从后往前逐条记录校 验,并记下所对应的行数,一旦发现某条记录存在上述情况,就要给出提示并返回到表格 中相应的行列的单元格进行修改。COMMAND1.CLICK件凭证校验程序1sele临时凭证库go bottom&&将记录指针移到表末尾,从后往前检测do while !bof()do casecase alltrim(摘要)="messagebox('摘要内容不能为空!',0+16," 警告")&&敖活表格return&&返回到当前
36、行对应单元格case alltrim(科目名称 尸二”messagebox('科目名称不能为空!',0+16," 警告")return case借方金额=0.and.贷方金额=0 messagebox('借方金额与贷方金额不能同时为零!',0+16,“警告”)return endcase skip -1 enddo 其次要校验的是凭证借贷方合计金额是否相等,即借贷是否平衡,校验方法如下:对 临时凭证库中,借方金额与贷方金额字段分别进行求和计算,将结果值进行比较,判断是 否相等,若相等则通过校验进入下一步,否则需给出提示,返回修改。COMMAN
37、D1.CLICK件凭证校验程序2local jfhj,dfhj&&定义保存计算结果的变量sele临时凭证库set talk off&& 关闭对话状态sum借方金额to jfhj&&对借方金额进行求和sum贷方金额to dfhj&& 对贷方金额进行求和if jfhj!=dfhj&&比较若不相等则给出提示messagebox("此凭证借贷不平衡!",0+16,"警告") returnendif(5)凭证的保存凭证保存的编程思路:凭证通过校验后即可保存,表格中输入的数据已直接写入临
38、时凭证库,所以只要保存 凭证号、制单日期、附件数、制单人等信息。将表单上各相关控件的值先存入变量中,然 后用其替换临时凭证库中对应字段的值即可。由于临时凭证库的临时性,最后还要将临时 凭证库中保存的所有有效记录转入到记账凭证库中进行最终的保存。具体程序:COMMAND1.CLICCK件凭证保存程序local pzh,pzrq,pzyear,pzmonth,pzday,zdr,fj&&马到存凭证号&&马到凭证日期pzyear=year(pzrq)&& 得至U会计年pzmonth=month(pzrq) && 得至U会计期pzday=
39、day(pzrq)&& 得至U 曰期zdr=alltrim(zcr)&& 得到制单人&&得到附件数sele临时凭证库go topreplace all 凭证日期 with pzrq, 凭证号 with pzh, 会计年;with pzyear, 会计期with ;注意“;”的具体运用。pzmonth,日期 with pzday, 附件 with fj, 制单人 with zdrpack &&彻底删除无效记录use临时凭证库&&重新打开临时凭证库sele记账凭证库&&将临时凭证库中的记录追加到appe
40、nd from临时凭证库 &&记账凭证库中messagebox("恭喜,恭喜!新凭证保存完!",0+48,"保存凭证")thisform.release &&新填制的凭证保存完毕,释放表单(6)表单的释放COMMAD3.CLICK 件thisfom.releaseFORM1.DESTOMrelease delrecno图5-1填制凭证界面设计示意图 要求:1 .进行填制凭证表单的数据表的设定设置数据环境。2 .进行填制凭证表单的各控件的程序设计。3 .对填制凭证中所写的数据进行保存。实验六审核凭证表单的建立与修改一、实验题
41、目审核凭证表单的建立与修改二、实验课时课内2课时三、实验目的1 .掌握审核凭证表单的建立的基本思路。2 .掌握审核凭证表单的建立的所用的数据表及其关系。3 .完成审核凭证表单的建立。四、实验内容和要求(一)所实现的功能及过程描述:设计“审核凭证”表单集,首先向用户提供查询界面,根据查询条件筛选出符合要求 的未记账凭证列表,再在列表中选择具体的某张凭证,然后进入审核凭证内容的界面,根 据凭证内容正确与否,进行签字或取消签字的操作,最后保存签字内容,完成对该凭证的 审核。(二)实施步骤:1 .建立“审核凭证”表单集:FORM1凭证查询FORM2凭证审核2 .系统数据环境设置:记账凭证库、操作人员表
42、创建数据查询文件pzcx.qpr注意pzcx.qpr文件的路径(1、设定默认路径;2、自带路径名)。凭证日期、凭证号、摘要、会计期、制单人、是否记账3 .表单界面设计:FORM1、FORM东单界面设计如下图:图6-1凭证查询界面设计(FORM) 1图6-2凭证审核界面设计(FORM24 .表单集程序设计:(1)查询凭证查询满足条件凭证的编程思路:首先被审核的都是未记账凭证,同时还应满足用户在制单人与月份上的设定的条件,所 以程序必须先取出用户的查询条件设定值,再运行预先定义好的数据查询文件PZCX在得到的临时表中按给定条件筛选出相应的凭证列表,并将结果显示到列表框中供用户选择.FORM1 CO
43、MMAND1.CLICK凭证查询public kjq,zdr &&定义公共变量&&取得用户所选月份&&取得用户所选制单人do pzcx.qpr &&运行数据查询文件注意pzcx.qpr文件的路径(1、设定默认路径;2、自带路径名)。sele pzcx &&选择查询输出的临时表set filter to &&先取消所有筛选条件if zdr= '' &&如果用户未选择制单人set filter to ( 会计期=val(kjq).and.( 是否记账=0)*筛选出符合月份
44、条件的未记账凭证else &&如果用户选择了制单人set filter to ( 会计期=val(kjq).and.(alltrim( 制单人)=zdr).and.( 是否记账 =0)endif &&筛选出同时满足两个条件的未记账凭证go top &&将记录指针移到表头if eof() &&如果没有满足条件的记录messagebox("没有符合条件的凭证!”,0+48,"查询结果")return && 给出提示,返回重新查询endif凭证日期,凭证号,摘要(核心语句)&&
45、;将结果与列表框绑定&&重新设置表单上各控件this.enabled=.f.thisform.refresh && 刷新表单&&对列表框设置焦点(2)显示凭证内容显示凭证内容编程思路:先取出用户选择的月份,然后取出用户选择的凭证号,即可根据这两个条件唯一地确 定一张凭证,将该凭证在记账凭证库中筛选出来,然后将该凭证内容显示在第二张表单相 应控件位置上即可。FORM1 COMMAND3.CLICK显示凭证内容public pzkjq,pzpzhsele pzcxpzpzh=凭证号sele记账凭证库set filter toset filter to
46、 ( 会计期=pzkjq).and.( 凭证号=pzpzh)go topset talk offlocal jfhj,dfhjsum借方金额to jfhjsum贷方金额to dfhjalltrim (str(jfhj,15,2) )=alltrim (str(dfhj,15,2) )go top记账人)审核人)出纳人)制单人)(3)审核签字与取消签字编程思路:由会计人员完成审核工作后,签字只是将当前系统注册人的姓名显示在相应位置,取 消签字则将显示内容置为空值,退出时将审核人姓名保存到记账凭证库中。要注意的是审 核与制单不能是同一人。FORM2 COMMAND1.CLICK?核签字*如果当前系
47、统注册人也是制单人,提示后返回if alltrim(thisform. label16 .caption)=zcr && 注意标签后面的数字,不同的标签 不样。messagebox("审核与制单不能是同一人!”,0+48,'提示')returnelse*如果凭证尚未签字,则替换审核人标签内容,若已签字则提示退出if alltrim(thisform. else messagebox( endiflabel16 .caption)="凭证已签字! ",0+48,'审核签字')endifFORM2 COMMAND2.CL
48、ICK(消签字if thisform. label16 .caption=''messagebox("凭证尚未签字!”,0+48,"提示") returnelseendifFORM2 COMMAND3.CLICK!出sele记账凭证库&&保存审核签字repl all 审核人thisform.visible=.f.&&将表单 2 隐藏&&S示表单1&&敖活表单1(4)重新查询重新查询编程思路:刷新表单1上并重新设置各控件的值,即可开始下一次凭证查询FORM1 COMMAND4.CLICK
49、重新查询thisform.refresh&&£月份条件选择重新可用&&£制单人条件选择重新可用&&S询按钮重新可用&&£凭证审核暂不可用&&青空列表框内容(5) 一次多张凭证的审核实现思路:1、筛选出所有当前需要进行审核的凭证;2、将符合条件凭证记录对应的“审核人”字段置为当前的注册人要求:1 .进行审核凭证表单的数据表的设定设置数据环境。2 .进行审核凭证表单的各控件的程序设计。3 .对审核凭证中所查询出来的数据进行审核。4 .对审核后的凭证中的数据进行保存。实验七登记总账表单的建立
50、和修改、实验题目登记总账表单的建立和修改二、实验课时课内2课时三、实验目的1 .掌握登记登记总账表单的具体编程思路。2 .认识并理解大段程序的错误调试方法。3 .通过登记总账对前面所作的表单及处理的数据进行正确性的判断。四、实验内容和要求内容:“记账”过程设计(一)所实现的功能及过程描述:记账凭证经过审核后即可记账,根据用户选择的会计期,在记账凭证库中筛选出已审 核的未记账凭证,然后逐笔分录登记总账与明细帐,同时计算当前合计与余额值,并确定 余额方向。记账完毕后更改记账凭证的状态,并记录当前记账人。(二)实施步骤:1 .建立“总账”数据表的结构表结构:总累科目编码1月份1日期1凭证号数1 摘要
51、借方贷方 优向1余颔Cl:上年结转iji借:75000.00loioii i;上年结转|!借:7500D. aoo.oo1D1C210103.IUI BIUUIKIU102;上年结转 江转转 4iMiaiuidiiiiui-lUMiaiui;上年结转平一借0.001200000 001020102;上年结转.,4.:. .-2-.干D. 001020103;上年结转率000102021;上年结转借600000. 001020201;上年结转借600000.001D2C202:上年结转0.001020203!王季结隹平0 001091厂上车结铐i,¥,0.00L09D1,一;上年结转.
52、平b. do10902;上年结转平0.00600000.00500000.00eooaoo.oo112:上年结转111:上年结转10201fdsofoi:上年结转 ;上年结分600000.00>:-.u11201;上年结转onO.;上年结转SDOOOO. DQ2SOOOO.Q0丁1也; g IU年结转Ii图7-1总账表结构设计2 .创建“记账”表单:FORM1记账图7-2记账表单界面设计示意图3 .设置表单数据环境期初余额会计科目记账凭证库总账 明细账4 .记账程序设计编程思路:记账前先检查总账等数据表有无内容,如果没有,则是本年度第一次记账,要对总账、明细账进行初始化工作;如果已经初始
53、化,则检查当前所选会计期有无未记账凭证, 再检查未记账凭证中是否有未审核凭证,未通过检查则给出提示后返回。图7-3总账初始化结果图登记总账:从记账凭证库中符合条件的第一条凭证分录开始,将其科目发生额累加到总账中对应科目的当前合计、当前累计的借贷方发生额当中(注意查找并计算其上级科目合计、累计发生额),然后在总账中逐条科目计算其当前余额与余额方向,最后在记账凭证库中注意更改 本次记账的所有凭证的状态(是否记账、记账人)。登账说明,登记总账的过程如下图所示:图7-4登记总账流程图事件 记账程序sele总账set filter togo topif eof() &&如果总账尚无内容,
54、开始初始化messagebox('开始本年度第一次记账!',0+48,'记账提示)*定义变量 科目编码,编码1,方向,余额local bm,bm1,fx,yesele 会计科目&&从会计科目表中逐条添加科目set filter togo topdo while !eof()bm=alltrim( 科目编码) bm1='('+bm+')' sele期初余额go top*查找该科目期初余额locate for at(bm1,alltrim( fx=alltrim( 方向) ye= 期初余额 if ye=0fx=' 平&
55、#39;&&endifsele 总账&& 10101&&(10101)&&人民币(10101)科目名称)0&&R得期初余额方向&&取得科目期初余额余额若为零,则方向为平&&在总账中添加该科目append blank&&添加"上年结转"记录replace 科目编码 with bm,摘要with' 上年结转',方向with fx, 余额with yeappend blank&&添加"当前合计"记录re
56、place科 目 编码append blank replace科 目 编码sele 明细账with bm,&&with bm, &&摘要with '当前合计',方向with fx, 余额with ye添加"当前累计”记录摘要with '当前累计明细账初始化append blank&&添加明细帐"上年结转"记录replace 科目编码 with bm,摘要with ' 上年结转',方向with fx, 余额with yesele 会计科目&&添加下一科目skip
57、enddoendif* 取得当前所选会计期 sele记账凭证库set filter to* 筛选当前会计期中未记账凭证set filter to 会计期=kjq.and.是否记账=0go topif eof()&&没有记录则提示后返回messagebox('没有可记账的凭证!',0+48,'记账提示')set filter toreturnendiflocate for alltrim(审核人)="&&查找未审核凭证if found()&&如果有未审核凭证,则提示后返回wshpzh=alltrim(str( 凭证号)messagebox('凭证'+wshpzh+'尚未审核,请审核后再记账!',0+48,' 记账提示) set filter to &&去掉记账凭证库中的筛选条件后返回returnendif* 开始登总账* 定义变量 科目编码,级次local kmbm,jc,bmsele记账凭证库go top* 逐条分录登记总账do while !eof()sele总账
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国海苔行业市场深度调研及发展趋势与投资前景预测研究报告
- 2025-2030中国洗碗机洗涤剂片行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国泡沫玻璃市场占有率调查与投融资规模研究研究报告
- 2025-2030中国油料行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国沉没灯市场深度调查与未来前景研究报告
- 2025-2030中国汽车金融行业市场发展现状分析及发展趋势与投资前景研究报告
- 2025-2030中国汽车用雨刷行业发展分析及投资风险预测研究报告
- 消防设施操作员考点回顾试题及答案
- 2025-2030中国污水处理药剂行业市场发展现状及发展趋势与投资前景研究报告
- 2025-2030中国水降解塑料行业市场深度分析及发展预测与投资策略研究报告
- 河北省第八届关注时事胸怀天下知识竞赛题库及答案
- 拆除道牙和生态砖施工方案
- 东方终端锅炉安全环保升级改造工程环境影响报告表
- 2025年四川成渝高速公路股份有限公司招聘笔试参考题库含答案解析
- 2025年赣南卫生健康职业学院单招职业技能考试题库及完整答案1套
- 2025年陕西省延长石油西北橡胶限责任公司招聘154人高频重点模拟试卷提升(共500题附带答案详解)
- 《经络与腧穴》课件-手少阴心经
- 锅炉使用单位锅炉安全日管控、周排查、月调度制度
- 人教版数学八年级下册 第17章 勾股定理 单元测试(含答案)
- 中成伟业4D厨房管理培训资料
- 大连农商银行2024年招聘172人管理单位遴选500模拟题附带答案详解
评论
0/150
提交评论