730 likes | 898 Views
第七章 期末处理、账表输出及系统服务模块. 电算化会计学原理 (会计信息系统). 第七章 期末处理、账表输出及系统服务模块. 第一节 期末处理模块 第二节 账表输出及系统服务模块. 一、 期末转帐业务. 1 、期末转账业务 在月底结账之前都要进行的固定业务,这些业务在单位管理体制或会计核算未改变的情况下,每月都要重复进行。例如费用分配的结转(如工资分配等)、费用分摊的结转(如制造费用分摊等)、提取各项费用的结转(如提取福利费等)等等 2 、期末转账的特点 大多在会计期末进行 只有记帐凭证而没有原始凭证 大多数业务要从帐簿中提取数据 期末转帐业务分批按步骤处理.
E N D
第七章期末处理、账表输出及系统服务模块 电算化会计学原理(会计信息系统)
第七章 期末处理、账表输出及系统服务模块 第一节 期末处理模块 第二节 账表输出及系统服务模块
一、期末转帐业务 1、期末转账业务 • 在月底结账之前都要进行的固定业务,这些业务在单位管理体制或会计核算未改变的情况下,每月都要重复进行。例如费用分配的结转(如工资分配等)、费用分摊的结转(如制造费用分摊等)、提取各项费用的结转(如提取福利费等)等等 2、期末转账的特点 • 大多在会计期末进行 • 只有记帐凭证而没有原始凭证 • 大多数业务要从帐簿中提取数据 • 期末转帐业务分批按步骤处理
一、期末转帐业务 3、期末转账业务处理流程 (1)会计人员定义自动转账凭证分录格式 (2)等一般业务记账后,按顺序自动生成期末转账凭证 (3)自动转账凭证审核 (4)自动转账凭证记账 2、期末自动转账模块设计 (1)定义自动转账凭证模块,设计类似于记账凭证的输入,最大的不同是要设计自动转账凭证中金额公式的定义的功能。重点设计各个取数函数的实现 (2)自动生成期末转账凭证模块
一、期末转帐业务 3、期末转账业务处理流程 (1)会计人员定义自动转账凭证分录格式 (2)等一般业务记账后,按顺序自动生成期末转账凭证 (3)自动转账凭证审核 (4)自动转账凭证记账 2、期末自动转账模块设计 (1)定义自动转账凭证模块,设计类似于记账凭证的输入,最大的不同是要设计自动转账凭证中金额公式的定义的功能。重点设计各个取数函数的实现 (2)自动生成期末转账凭证模块
例 结账.DBF 年 结账标志 1998 .T. 1999 .T. 2000 .F. 二、结账 1、功能 • 期末转账业务处理、月结(月结时要标记结账某月的期末余额)、年结(进行年结处理) • 结账是一种批处理,只允许每月结账日使用 2、物理实现 • 在相应文件中设立结账标志字段 • 生成相应库文件结构
二、结账 3、结账处理步骤 (1)保护结账前状态; (2)结账前必要的检查工作: • 上月未结账,则本月不能结账; • 本月还有未记账凭证时,则本月不能结账。 (3)如果是结12月份的账,则必须产生下年度 的空白账簿文件,并结转年度余额 (4)做结账标志。如果某月有结账标志,则不能再输入该月凭证和该月账 4、跨月记账 • 在计算机条件下可以在上月未结账的情况下,输入下一个月的凭证甚至在去年12月的账未结的情况下输入今年的凭证,这就是采用计算机后特有的跨月记账
四、我们的设计 • 结账的具体做法是把属于结账时间段内的凭证引上“结账”的标记 • 即把凭证内容表中该时间段内的记录中的“是否结账”字段内容替换为“.T.”,表示已结账 • 同时在凭证录入时还要判断是否已经结账,如果已经结账,就不能在当期新增或修改凭证 • 如果要完成“结账”的这些基本功能,同学们可以尝试编写结账程序
第七章 期末处理、账表输出及系统服务模块 第一节 期末处理模块 第二节 账表输出及系统服务模块
一、账表输出模块 1、功能 • 根据企业管理及会计制度要求对数据库文件进行排序、检索和汇总处理,最后输出所需的账表 2、输出方式 • 打印机打印输出 • 磁介质输出 • 查询输出 3、输出的内容 • 日记账 • 明细账 • 总帐 • 综合查询
二、系统服务模块 • 功能 • 系统服务模块主要包括:会计数据备份、会计数据恢复、权限设置、系统维护、口令设置等功能 1、会计数据备份 • 是将存储在计算机硬盘上的数据复制到备份盘上(软盘、硬盘或光盘),以保证在硬盘上的数据发生故障时,能够及时从软盘上恢复正确的数据 2、会计数据恢复 • 是将备份到备份盘上的会计数据恢复到硬盘上
二、系统服务模块 3、权限设置 • 是实现对财会人员财务分工的设置和管理,并将人员权限设置结果保存在人员权限文件中 4、系统维护 • 是自动对磁盘空间进行管理,对数据库文件重建索引,清除病毒等,以保证数据正确 5、口令设置 • 是计算机根据财会人员输入的老口令(或密码)和姓名到人员权限文件中查找,如果找到,则允许输入新口令(或密码),经确认后保存在人员权限文件中,否则不允许修改
三、我们的设计(一)明细账查询 1、运行界面
三、我们的设计(一)明细账查询 1、运行界面
三、我们的设计(一)明细账查询 2、该表单的功能 • 完成明细账的查询。 • 要设计表单和报表两个部分
三、我们的设计(一)明细账查询 3、表单设计步骤 (1)新建一个表单(明细账.scx),进入表单设计器 (2)在设计的表单上右击鼠标,选择“属性”,打开属性窗口 在设计数据环境之前,为了便于明细账的查询,应先根据“凭证内容表”和“凭证业务表”新建一个视图,命名为“凭证视图”
三、我们的设计(一)明细账查询 3、表单设计步骤 (3)新建视图 • 视图是一个虚拟表,使用视图,可以从表中提取一组记录,改变这些记录的值,并把更新结果送回到源表中。视图是数据库中的一个特有功能,只有在包含视图的数据库打开时,才能使用视图 • 在项目管理器中的数据页框中选择“本地试图”选择“新建” • 在视图设计器里把“凭证内容表”和“凭证业务表”添加进来
三、我们的设计(一)明细账查询 3、表单设计步骤 (3)新建视图 • 联接条件选择“内部联接”,凭证内容表.凭证号=凭证业务表.凭证号 • 内部联接(inner join)只有满足联接条件的记录才出现 • 左联接(left join)除满足联接条件外,第一个表中不满足联接条件的记录也出现在查询结果中 • 右联接(right join)除满足联接条件外,第二个表中不满足联接条件的记录也出现在查询结果中 • 完全联接(full join)除满足联接条件外,两个表中不满足联接条件的记录也出现在查询结果中
三、我们的设计(一)明细账查询 3、表单设计步骤 (3)新建视图
三、我们的设计(一)明细账查询 3、表单设计步骤 (3)新建视图 • 字段选择除“凭证业务表.凭证号”外的所有字段 • 以“凭证视图”名保存该本地视图 (4)设置数据环境 • 回到表单的设计中,在表单上右击鼠标,选择“数据环境”,在数据环境设计器中右击鼠标,选择“添加”,把“用户表”、“科目表”、“凭证视图”添加进来
三、我们的设计(一)明细账查询 3、表单设计步骤 (5)在表单上放置控件 • 从控件工具箱中增加五个“标签”控件label1、label2、label3、label4、label5 • 从控件工具箱中增加三个“文本框”控件text1、text2、text3 • 从控件工具箱中增加两个“命令按钮”控件command1、command2
三、我们的设计(一)明细账查询 3、表单设计步骤 (6)设计表单属性 • 设置表单标题名称 Caption属性:明细账查询 • 设置表单的高和宽(也可以用鼠标调整) Height属性:可自行设定Width属性:可自行设定 • 把表单设置成顶层表单,保证编译后执行时能正常显示 ShowWindow属性:作为顶层表单 • 表单显示位置居中 AutoCenter属性:.t.
三、我们的设计(一)明细账查询 3、表单设计步骤 (7)表单代码设计 • 双击表单,编写Init事件的代码如下 PUBLIC km,kmmc,qclj,qcjfhj,qcdfhj,jfhj,dfhj,qmlj,zj,czy set cent on set date ansi SET TALK OFF sele 用户表 loca for 标记 CZY=操作员姓名 thisform.text1.value=date() thisform.text2.value=date() sele 科目表 set filt to 设为末级 go top
三、我们的设计(一)明细账查询 3、表单设计步骤 (8)其他对象的设置 • 对象label1设置标题 Caption属性:请选择帐页日期及科目名称 • 对象label2设置标题 Caption属性:日期从 • 对象label3设置标题 Caption属性:至 • 对象label4设置标题 Caption属性:止 • 对象label5设置标题 Caption属性:请输入明细科目代码
对象Command1 设置标题 Caption属性:确认Click事件代码: km=alltrim(thisform.text3.value) da1=thisform.text1.value da2=thisform.text2.value xxx8=DTOC(THISFORM.TEXT1.VALUE)+"-"+DTOC(THISFORM.TEXT2.VALUE) sele 科目表 loca for alltrim(科目编码)=KM if .not. eof() yebj=余额标记 kmmc=科目名称 select 凭证视图 set filt to 科目编码=KM.and. 日期<da2 GO TOP
对象Command1 设置标题 Caption属性:确认Click事件代码: sum all 借方金额 to jfhj sum all 贷方金额 to dfhj if yebj=1 qmlj=jfhj-dfhj else qmlj=dfhj-jfhj endif select 凭证视图 set filt to 科目编码=KM .and. 日期<da1 GO TOP sum all 借方金额 to qcjfhj sum all 贷方金额 to qcdfhj
对象Command1 设置标题 Caption属性:确认Click事件代码: if yebj=1 qclj=qcjfhj-qcdfhj else qclj=qcdfhj-qcjfhj endif select 凭证视图 set filt to GO TOP REPO FORM 明细账 FOR 科目编码=KM .and. (日期<=da2 .AND. 日期>=da1) PREVIEW &&预览REPORT else messagebox("该明细科目不存在!") endif
对象Command2 设置标题 Caption属性:放弃Click事件代码: releasethisform
三、我们的设计(一)明细账查询 4、报表设计步骤
三、我们的设计(一)明细账查询 4、报表设计步骤 (1)新建报表(明细账.frx) • 在项目管理器中的文档页框中选择“报表”选择“新建” (2)设置数据环境。在报表上右击鼠标,选择“数据环境”,在数据环境设计器中右击鼠标,选择“添加”,把“凭证视图”添加进来(添加视图) 下面设计报表布局 如果没有显示报表控件工具栏,可以选择主菜单的“显示”中报表“控件工具栏”
三、我们的设计(一)明细账查询 4、报表设计步骤 (3)设计页标头 • 在报表控件工具栏中选标签控件,放在“页标头”带区,输入“明细账”作为明细账的表头。选中标签控件,在“格式”菜单里可以设置字体和大小。 • 同样的方法在“页标头”带区放入名为“科目代码”、“科目名称”、“查询日期”、“页号”、“日期”、“凭证号”、“摘要”、“发生额”、“余额”等标签控件 • 在报表控件工具栏中选域控件,以页号为例,放在“页号”标签控件旁,弹出一个“报表表达式”对话框,选择“表达式”旁的三个点按钮,出现“表达式生成器”选择变量框中的“_pageno”项(自动计算页号)
三、我们的设计(一)明细账查询 4、报表设计步骤 (3)设计页标头 • 其他域控件 • 科目代码域控件:表达式km • 科目名称域控件:表达式kmmc • 摘要下面的域控件:表达式iif(_pageno=1,'期初数','承前页') • 借方余额下的域控件:表达式qcjfhj • 贷方余额下的域控件:表达式qcdfhj • 余额下的域控件:表达式qclj
三、我们的设计(一)明细账查询 4、报表设计步骤 (3)设计页标头 • 在报表控件工具栏中选线条控件,设计标头的线条 (4)分组 • 为了使数据按月小计,报表需要按月分组 • 选择主菜单中“报表”菜单的数据分组项,分组的表达式是 STR(YEAR(凭证视图.日期))+STR(MONTH(凭证视图.日期)) • 这样出现了组标头和组注脚两个带区
三、我们的设计(一)明细账查询 4、报表设计步骤 (5)设计细节带区 • 细节带区显示的是主要的数据部分 • 这一带区的域控件可以从数据环境中拖过去,在带区中单击鼠标右键,选数据环境,用鼠标选中“日期”、“凭证号”、“摘要”、“借方金额”、“贷方金额”字段,拖到细节带区 • 最后加上线条控件
三、我们的设计(一)明细账查询 4、报表设计步骤 (6)设计组注脚带区 • 放置一个标签控件(合计) • “借方金额”域控件,在数据环境中把“借方金额”字段拖到组注脚带区,双击该域控件,在“报表表达式”对话框中点击“计算”按钮,选择“总和”选项 • “贷方金额”域控件的设置方法同“借方金额” • 最后加上线条控件
三、我们的设计(一)明细账查询 4、报表设计步骤 (7)设计总结带区 • 总结带区的内容每张报表最后一页打印一次 • 添加总结带区:选择“报表”菜单,选“标题和总结”,在对话框里勾选“总结带区”,单击确定 • 放置四个标签控件(发生额及余额、单位、打印人、打印日期) • “借方合计”域控件,表达式jfhj • “贷方合计”域控件,表达式dfhj • “期末累计”域控件,表达式qmlj • 最后加上线条控件
三、我们的设计(二)总账查询 1、运行界面 总账查询的设计与明细账查询的设计非常相似,最大区别: • 报表设计中不需要细节带区 • 在查询表单的init事件中的对科目表的记录筛选改变了
三、我们的设计(二)总账查询 1、运行界面
三、我们的设计(二)总账查询 2、该表单的功能 • 完成总账的查询。 • 要设计表单和报表两个部分
三、我们的设计(二)总账查询 3、设计步骤 (1)新建一个表单(总账.scx),进入表单设计器 (2)在设计的表单上右击鼠标,选择“属性”,打开属性窗口 (3)设置数据环境 • 在表单上右击鼠标,选择“数据环境”,在数据环境设计器中右击鼠标,选择“添加”,把“用户表”、“科目表”、“凭证视图”添加进来
三、我们的设计(二)总账查询 3、设计步骤 (5)在表单上放置控件 • 从控件工具箱中增加五个“标签”控件label1、label2、label3、label4、label5 • 从控件工具箱中增加三个“文本框”控件text1、text2、text3 • 从控件工具箱中增加两个“命令按钮”控件command1、command2
三、我们的设计(二)总账查询 3、设计步骤 (6)设计表单属性 • 设置表单标题名称 Caption属性:总账查询 • 设置表单的高和宽(也可以用鼠标调整) Height属性:可自行设定Width属性:可自行设定 • 把表单设置成顶层表单,保证编译后执行时能正常显示 ShowWindow属性:作为顶层表单 • 表单显示位置居中 AutoCenter属性:.t.
三、我们的设计(二)总账查询 3、设计步骤 (7)表单代码设计 • 双击表单,编写Init事件的代码如下 PUBLIC km,kmmc,qclj,qcjfhj,qcdfhj,jfhj,dfhj,qmlj,zj,czy set cent on set date ansi SET TALK OFF sele 用户表 loca for 标记 CZY=操作员姓名 thisform.text1.value=date() thisform.text2.value=date() sele 科目表 set filt to empty(父科目编码) go top
三、我们的设计(二)总账查询 3、设计步骤 (8)其他对象的设置 • 对象label1设置标题 Caption属性:请选择帐页日期及科目名称 • 对象label2设置标题 Caption属性:日期从 • 对象label3设置标题 Caption属性:至 • 对象label4设置标题 Caption属性:止 • 对象label5设置标题 Caption属性:请输入总账科目代码
对象Command1 设置标题 Caption属性:确认Click事件代码: km=alltrim(thisform.text3.value) da1=thisform.text1.value da2=thisform.text2.value xxx8=DTOC(THISFORM.TEXT1.VALUE)+"-"+DTOC(THISFORM.TEXT2.VALUE) sele 科目表 loca for alltrim(科目编码)=KM if .not. eof() yebj=余额标记 kmmc=科目名称 select 凭证视图 set filt to 科目编码=KM.and. 日期<da2 GO TOP
对象Command1 设置标题 Caption属性:确认Click事件代码: sum all 借方金额 to jfhj sum all 贷方金额 to dfhj if yebj=1 qmlj=jfhj-dfhj else qmlj=dfhj-jfhj endif select 凭证视图 set filt to 科目编码=KM .and. 日期<da1 GO TOP sum all 借方金额 to qcjfhj sum all 贷方金额 to qcdfhj
对象Command1 设置标题 Caption属性:确认Click事件代码: if yebj=1 qclj=qcjfhj-qcdfhj else qclj=qcdfhj-qcjfhj endif select 凭证视图 set filt to GO TOP REPO FORM 总账 FOR 科目编码=KM .and. (日期<=da2 .AND. 日期>=da1) PREVIEW &&预览REPORT else messagebox(“该总账科目不存在!") endif
对象Command2 设置标题 Caption属性:放弃Click事件代码: releasethisform
三、我们的设计(二)总账查询 4、报表设计步骤
三、我们的设计(二)总账查询 4、报表设计步骤 (1)新建报表(总账.frx) • 在项目管理器中的文档页框中选择“报表”选择“新建” (2)设置数据环境。在报表上右击鼠标,选择“数据环境”,在数据环境设计器中右击鼠标,选择“添加”,把“凭证视图”添加进来(添加视图) 设计报表布局大体上与“明细账”报表设计相同 如果没有显示报表控件工具栏,可以选择主菜单的“显示”中报表“控件工具栏”