目 录
一、 会计信息系统课程设计概述………………………………………
1.1基本概述 1.2系统模块划分 1.3数据流图
1.4系统分析、设计任务的要求 二、登录界面及主菜单设计
2.1.登陆界面设计 2.2登录程序
2.3主菜单的程序设计 2.4.退出系统程序设计 三、系统基本设置
3.1数据库和数据表……………………………………………… 3.2科目代码库设计……………………………………………… 3.3摘要库设计…………………………………………………… 四、凭证处理
4.1.凭证格式设计………………………………………………… 4.2科目代码查询
4.3凭证录入设计……………………………………………………
1
会计信息系统
4.4凭证查询设计……………………………………………… 4.5 凭证修改设计 五、各类汇总表及账簿设计
4.1科目汇总表设计………………………………………………… 4.2总分类账设计
4.3现金日记账输出设计……………………………………………… 4.4银行日记账输出设计……………………………………… 六、报表输出设计
6.1利润表输出设计……………………………………………
6.2资产负债表输出设计
2
会计信息系统
一、会计信息系统课程设计概述
1.1基本概述
根据《会计信息系统》大纲及课程开设的要求,我于2015年6月22日至6月26日参加了学院为期一周的会计信息系统课程设计实习。在实习过程中,我根据系统生命周期法,课程设计分为计划、开发、运行及维护四个阶段,我相继完成了系统分析任务、系统设计任务,从最初的系统设置,凭证格式设计、录
3
会计信息系统
入、处理到各类汇总表、账簿的输出。会计课程设计让我学到了很多东西,由此编制了此次会计信息系统课程设计报告。
1.2系统模块划分
账务处理系统包含六大模块:
1)系统初始设置模块:包含数据库和数据表的建立、科目代码库的建立与摘要库的建立及各账簿初始余额的输入。
2)登录设计模块:包含登陆界面的设计、相关代码设计及主菜单程序设计等。 3)凭证处理模块:包含凭证格式设计、科目代码查询、凭证录入、凭证修改、凭证查询等程序设计及输出。
4)汇总表及账簿模块:包含科目汇总表设计、总分类账、现金日记账、总分类账程序设计及输出。
5)报表输出模块:包含资产负债表、利润表的程序设计及输出。
6)系统规律模块:各种系统的基本操作,如剪切、复制、窗口间切换等。
1.3数据流图:
记账凭证——凭证输入——凭证审核——日常处理——记账结账——输出账簿及报表
1.4系统分析、设计任务的要求 1.4.1系统分析任务
1.系统分析的基本任务是得到一个会计信息系统的逻辑模型。系统分析是整个
4
会计信息系统
系统建设的关键阶段,它阐明了各功能单位之间的相互联系,保证新系统有整体性和优良的结构,是系统设计的基础,且系统分析工作难度较大,它要求主持该项工作的人员具有熟悉计算机技术、熟悉财会业务和协调的能力。 2.采用结构化系统分析方法,采用“自顶向下,逐层分解,化大为小,分而治之”的思想将系统功能由粗到细,逐步分解。 3.模块划分的原则:
(1)模块涉及操作相对集中,即一个模块只模仿某一方面的功能,以提高系统的可用性;
(2)各模块相对独立,降低模块间的耦合程度,因为耦合程度越低,模块间的相互影响就越小,说明系统分解得越好;
1.4.2系统设计的要求
1.系统设计应遵循系统的可靠性,系统的实用性,系统的运行效率,系统的适用性和系统的经济效益的原则;
2.在系统处理方式上选择批处理方式,共享程度高,一致性好;
3.代码设计遵循惟一性,标准化,通用性,稳定性,可扩充性和简单性等。
5
会计信息系统
二.登录界面及主菜单设计
2.1.登陆界面设计
(1)在项目中打开登陆界面示意图:
(2)登陆界面设计示意图:
6
会计信息系统
2.2登录程序
2.2.1表单中登录按钮command1的程序设计
(1)程序:
n=0
a=thisform.text1.value b=thisform.text2.value
if a=\"20124920801\" and b=\"789990\"
thisform.label13.caption=\"欢迎使用本系统!\" do c:\\会计信息系统-郑静金\\主菜单设计.prg else n=n+1
thisform.label13.caption=\"学号错误,请重新输入!\"
7
会计信息系统
thisform.text1.value=\"\" thisform.text2.value=\"\" thisform.text1.setfocus if n=3
thisform.label13.caption=\"对不起,您无权使用本系统!\" thisform.text1.enabled=.f. thisform.text2.enabled=.f. thisform.command1.enabled=.f. endif endif
(2)运行的效果示意图:
8
会计信息系统
2.2.2退出按钮command2的程序设计 (1)程序:
thisform.release
(2)运行效果示意图(退回到原来界面)
2.3主菜单的程序设计
9
会计信息系统
2.3.1程序:
set talk off clear
set sysmenu to
define pad _pad1 of _msysmenu prompt \"凭证处理\" color scheme 3 define pad _pad2 of _msysmenu prompt \"账簿管理\" color scheme 3 define pad _pad3 of _msysmenu prompt \"会计报表\" color scheme 3 define pad _pad4 of _msysmenu prompt \"退出系统\" color scheme 3 on pad _pad1 of _msysmenu activate popup 凭证处理 on pad _pad2 of _msysmenu activate popup 账簿管理 on pad _pad3 of _msysmenu activate popup 会计报表 on pad _pad4 of _msysmenu activate popup 退出系统
define popup 凭证处理 margin relative shadow color scheme 4 define bar 1 of 凭证处理 prompt \"科目代码查询\" define bar 2 of 凭证处理 prompt \"凭证录入\" define bar 3 of 凭证处理 prompt \"凭证修改\" define bar 4 of 凭证处理 prompt \"凭证查询\"
on selection bar 1 of 凭证处理 do c:\\会计信息系统-郑静金\\科目代码查询.prg on selection bar 2 of 凭证处理 do c:\\会计信息系统-郑静金\\凭证录入.prg on selection bar 3 of 凭证处理 do c:\\会计信息系统-郑静金\\凭证修改.prg on selection bar 4 of 凭证处理 do c:\\会计信息系统-郑静金\\凭证查询.prg define popup 账簿管理 margin relative shadow color scheme 4
01
会计信息系统
define bar 1 of 账簿管理 prompt \"科目汇总表\" define bar 2 of 账簿管理 prompt \"现金日记账\" define bar 3 of 账簿管理 prompt \"银行日记账\" define bar 4 of 账簿管理 prompt \"总分类账\"
on selection bar 1 of 账簿管理 do c:\\会计信息系统-郑静金\\科目汇总表输出.prg on selection bar 2 of 账簿管理 do c:\\会计信息系统-郑静金\\现金日记账输出.prg on selection bar 3 of 账簿管理 do c:\\会计信息系统-郑静金\\银行日记账输出.prg on selection bar 4 of 账簿管理 do c:\\会计信息系统-郑静金\\总分类账输出.prg define popup 会计报表 margin relative shadow color scheme 4 define bar 1 of 会计报表 prompt \"资产负债表\" define bar 2 of 会计报表 prompt \"利润表\"
on selection bar 1 of 会计报表 do c:\\会计信息系统-郑静金\\资产负债表输出.prg on selection bar 2 of 会计报表 do c:\\会计信息系统-郑静金\\利润表输出.prg define popup 退出系统 margin relative shadow color scheme 4 define bar 1 of 退出系统 prompt \"退出\"
on selection bar 1 of 退出系统 do c:\\会计信息系统-郑静金\\退出系统设计.prg
2.3.2程序运行效果示意图:
11
会计信息系统
2.4.退出系统程序设计
2.4.1程序:
set talk off
clear
set sysmenu to default set talk on return
21
会计信息系统
2.4.2运行程序的效果示意图(退出程序)
三.系统基本设置
3.1数据库和数据表(完成效果图如下)
13
会计信息系统
3.2.科目代码库(完成效果图如下:)
41
会计信息系统
3.3摘要库(完成效果图如下:)
15
会计信息系统
四.凭证处理
4.1凭证格式设计
4.1.1程序:
set talk off clear n=13
61
会计信息系统
a1=\" ____________________________________________________________________\" a2=\"| | | | |\" a3=\"|_____________________|______________|________________|______________|\" a4=\"|_____________________|______________|________________|______________|\" @12,10 say a1 do while n<=26 @n,10 say a2 @n+1,10 say a3 n=n+2 enddo
@27,10 say a2 @28,10 say a4
@7,41 say \"记账凭证\" font \"宋体\@11,12 say \"凭证类别:\" @11,39 say \"日期:\" @11,58 say \"凭证号:\" @11,82 say \"附件张数:\" @13,25 say \"摘要\" @13,48 say \"会计科目\" @13,68 say \"借方金额\" @13,86 say \"贷方金额\" @27,25 say \"合计\"
@29,10 say \"记账:\"+space(16)+\"审核:\"+space(14)+\"出纳:\"+space(14)+\"制单:\"
17
会计信息系统
4.1.2程序运行效果示意图:
4.2.科目代码查询设计
4.2.1程序:
set talk off a=6 clea
use c:\\会计信息系统-郑静金\\科目代码库.dbf do while a=6 clea
kmdm1=space(6)
81
会计信息系统
@9,20 say \"请输入科目代码:\"get kmdm1 read
locate for kmdm=kmdm1 if !found()
messagebox (\"代码不正确,请重新输入\") else
@10,37 say kmmc endi
a=messagebox(\"是否继续查询下一个?\enddo use
set talk on return
4.2.2程序运行效果示意图:
19
会计信息系统
4.3.凭证录入设计
功能说明:1)具有可输入多借多贷分录的功能,并可继续输入下一张凭证。
2)含多种逻辑纠错功能,可限制凭证类型,保证输入的摘要、科目代码和金额的有效性,可检查借贷方金额是否平衡并可做相应的修改。
4.3.1
程序:
set talk off close all clear do while .t.
do c:\\会计信息系统-郑静金\\凭证格式.prg pzlx1=space(2) fjzs1=\" \"
02
会计信息系统
pzh1=space(3)
store 0 to je1,je2,jfje1,dfje1 rq1=space(10) zy1=space(3) zy2=space(20) kmdm1=space(6) kmdm2=space(6) kmmc1=space(20) kmmc2=space(20) @11,22 get pzlx1 read
do while pzlx1<>\"收\".and.pzlx1<>\"付\".and.pzlx1<>\"转\" messagebox(\"凭证类型错误,请重新输入!\") @11,22 get pzlx1 read enddo
@11,44 get rq1 @11,65 get pzh1 @11,92 get fjzs1 read m=6 a=15
do while m=6
21
会计信息系统
use c:\\会计信息系统-郑静金\\摘要库.dbf @a,12 get zy1 read
locate for zydm=zy1 do while zydm<>zy1
messagebox(\"找不到符合条件的摘要,请重新输入\") @a,12 get zy1 read
locate for zydm=zy1 endd zy2=zynr @a,12 say zy2 use
use c:\\会计信息系统-郑静金\\科目代码库.dbf @a,48 get kmdm1 read
locate for kmdm=kmdm1 do while kmdm<>kmdm1
messagebox(\"输入的科目代码有误,请重新输入\") @a,48 get kmdm1 read
locate for kmdm=kmdm1 endd
22
会计信息系统
kmmc1=kmmc @a,48 say kmmc1 @a,68 get je1 @a,86 get je2 read
do while je1=0.and.je2=0 messagebox(\"金额不能为零\") @a,68 get je1 @a,86 get je2 read endd
use c:\\会计信息系统-郑静金\\凭证库.dbf append blank
repl pzrq with rq1,pzh with pzh1,pzlx with pzlx1,zy with zy2,kmdm with kmdm1,kmmc with kmmc1,jfje with je1,dfje with je2 use
m=messagebox(\"是否输入下一行分录\a=a+2 enddo
use c:\\会计信息系统-郑静金\\凭证库.dbf sum jfje to jfje1 for pzh=pzh1 sum dfje to dfje1 for pzh=pzh1 @27,68 say jfje1
23
会计信息系统
@27,86 say dfje1 do while jfje1<>dfje1
messagebox(\"借贷不平衡,输入金额有误\") do c:\\会计信息系统-郑静金\\凭证修改 endd use xz=\" \"
@32,25 say \"是否输入下一张(y/n)\" get xz read
if xz=\"y\" or xz=\"Y\" loop else exit endi endd
use c:\\会计信息系统-郑静金\\凭证库.dbf display use
set talk on return
4.3.2运行效果示意图:
42
会计信息系统
1)当输入完一行分录时的示意图:
2)当输入完一笔业务时可继续输入下一张的示意图:
25
会计信息系统
3)当输入多借多贷的分录时的完成示意图:
62
会计信息系统
27
会计信息系统
4)运行时借贷方金额不相等情况下的示意图
5)待25笔凭证按上述步骤录入完成之后,打开数据库中的凭证库,显示
82
会计信息系统
如下:
4.4.凭证查询设计
4.4.1程序:
set talk off clear
use c:\\会计信息系统-郑静金\\凭证库.dbf
29
会计信息系统
pzrq1=space(10) pzh1=space(4) pzlx1=space(2)
@4,4 say \"请输入凭证日期:\" get pzrq1 @6,4 say \"请输入凭证号码:\" get pzh1 @8,4 say \"请输入凭证类型:\" get pzlx1 Read
locate for pzrq=pzrq1 and pzh=pzh1 and pzlx=pzlx1 if found()=.t. disp skip disp else
messagebox(\"查询不到符合条件的凭证\") endi set talk on return
4.4.2程序运行效果示意图
1)当查询到相应凭证时的运行效果示意图
03
会计信息系统
2)当输入的凭证查询不到时的运行效果示意图:
31
会计信息系统
4.5.凭证修改设计
4.5.1程序:
set talk off clear
use c:\\会计信息系统-郑静金\\凭证库.dbf pzrq1=space(10) pzh1=space(3)
@2,4 say \"请输入凭证日期:\" get pzrq1 @4,4 say \"请输入凭证号: \" get pzh1 Read
23
会计信息系统
locate for allt(pzrq)=allt(pzrq1) and allt(pzh)=allt(pzh1) if found() disp edit else
messagebox(\"没有找到符合条件的凭证\") endif set talk on return
4.5.2运行程序的效果示意图:
1)当输入要查询的凭证时的界面示意图:
2)对查询到的凭证进行修改时的界面示意图:
33
会计信息系统
五.各类汇总表与账簿设计
5.1科目汇总表设计
5.1.1程序:
set talk off clear
43
会计信息系统
store 0 to jfje1,dfje1,ye select 1
use c:\\会计信息系统-郑静金\\凭证库.dbf select 2
use c:\\会计信息系统-郑静金\\科目汇总表.dbf @1,60 say \"科目汇总表\" font \"宋体\go top
do while !eof() kmdm1=kmdm select 1
sum jfje to jfje1 for kmdm=kmdm1 sum dfje to dfje1 for kmdm=kmdm1 select 2
replace bqjf with jfje1,bqdf with dfje1 skip enddo display a1=0 b1=0
sum bqjf to a1 sum bqdf to b1
locate for kmmc=\"合计\"
replace bqjf with a1,bqdf with b1
35
会计信息系统
list
if bqjf=bqdf
messagebox(\"太棒了,恭喜您,试算平衡!\") else
messagebox(\"试算不平衡,请您仔细检查!\") endi use select 1 use select 2 set talk on return
5.1.2运行程序时的效果示意图:
63
会计信息系统
37
会计信息系统
5.2.总分类账输出设计
5.2.1程序:
set talk off clear
kmdm1=space(4) kmmc1=space(10) bqjf1=0 bqdf1=0 select 1
use c:\\会计信息系统-郑静金\\科目汇总表.dbf select 2
use c:\\会计信息系统-郑静金\\总分类账.dbf go top
do while !eof() kmdm1=kmdm select 1
locate for kmdm=kmdm1 if found()=.t. kmmc1=kmmc bqjf1=bqjf bqdf1=bqdf endi
83
会计信息系统
select 2
@1,60 say \"总分类账\" font \"宋体\ye1=qcjf+bqjf1-qcdf-bqdf1 do case ye1 case ye1>0
replace kmmc with kmmc1,bqjf with bqjf1,bqdf with bqdf1,fx with \"借\ye with ye1 case ye1<0
replace kmmc with kmmc1,bqjf with bqjf1,bqdf with bqdf1,fx with \"贷\ye1*(-1) case ye1=0
replace kmmc with kmmc1,bqjf with bqjf1,bqdf with bqdf1,fx with \"平\ye with ye1 endcase skip enddo list j1=0 d1=0
sum bqjf to j1 sum bqdf to d1
replace kmmc with \"合计\" bqjf with j1,bqdf with d1 display use select 1
39
会计信息系统
use select 2 set talk on return
5.2.2程序运行的效果示意图
04
会计信息系统
5.3现金日记账输出程序设计
5.3.1程序:
set talk off clea
stor 0 to jfje1,dfje1,ye1 rq1=space(10) pzh1=space(3) zy1=space(20) sele 1
Use c :\\会计信息系统-郑静金\\凭证库.dbf sele 2
use c:\\会计信息系统-郑静金\\现金日记账.dbf sele 1
do while !eof()
if substr(kmdm,1,4)=\"1001\" rq1=pzrq pzh1=pzh jfje1=jfje dfje1=dfje zy1=zy sele 2 ye1=ye
41
会计信息系统
skip delete rest pack append blank
repl rq with rq1,pzh with pzh1,zy with zy1,sr with jfje1,zc with dfje1,ye with ye1+jfje1-dfje1 endi sele 1 skip endd use sele 2 zsr=0 zzc=0
store 0 to zsr,zzc sum sr to zsr sum zc to zzc appe blan
repl rq with \"2014/04/30\本月小计\ye1+jfje1-dfje1
@1,48 say \"现金日记账\" font \"宋体\list use
set talk on
24
会计信息系统
return
5.3.2程序运行的效果示意图
5.4银行日记账输出程序设计
5.4.1程序:
set talk off clea
stor 0 to jfje1,dfje,ye1 rq1=space(10) pzh1=space(3) use
43
会计信息系统
sele 1
use c:\\会计信息系统-郑静金\\凭证库.dbf sele 2
use c:\\会计信息系统-郑静金\\银行日记账.dbf sele 1
do while !eof()
if subs(kmdm,1,4)=\"1002\" rq1=pzrq pzh1=pzh jfje1=jfje dfje1=dfje zy1=zy sele 2 ye1=ye skip dele rest pack appe blan
repl rq with rq1,pzh with pzh1,zy with zy1,jfje with jfje1,dfje with dfje1,ye with ye1+jfje1-dfje1 endi sele 1 skip
44
会计信息系统
endd use sele 2 a=0 b=0
sum jfje to a sum dfje to b appe blan
repl rq with \"2014/04/30\本月小计\ye1+jfje1-dfje1
@1,48 say \"银行日记账\" font \"宋体\list use
set talk on return
5.4.2程序运行的效果示意图
45
会计信息系统
六、报表输出设计
6.1利润表输出设计
6.1.1程序:
set talk off clear
store 0 to bqdf1,bqdf2,bqdf3,bqdf4,bqdf5,bqdf6,bqdf7,a1,a2,a3,a4 select 1
use c:\\会计信息系统-郑静金\\科目汇总表 select 2
46
会计信息系统
use c:\\会计信息系统-郑静金\\利润表 select 1 do while !eof() if kmdm=\"6001\" bqdf1=bqdf skip bqdf2=bqdf skip bqdf3=bqdf skip bqdf4=bqdf skip bqdf5=bqdf skip bqdf6=bqdf skip bqdf7=bqdf a1=bqdf1-bqdf3
a2=a1+bqdf2-bqdf4-bqdf5-bqdf6-bqdf7 a3=a2 a4=a3 select 2
replace bqje with bqdf1 for hc=\"1\"
47
会计信息系统
replace bqje with bqdf3 for hc=\"2\" replace bqje with a1 for hc=\"4\" replace bqje with bqdf2 for hc=\"5\" replace bqje with bqdf4 for hc=\"7\" replace bqje with bqdf6 for hc=\"8\" replace bqje with bqdf7 for hc=\"9\" replace bqje with bqdf5 for hc=\"10\" replace bqje with a2 for hc=\"11\" replace bqje with 0 for hc=\"12\" replace bqje with 0 for hc=\"13\" replace bqje with a3 for hc=\"14\" replace bqje with 0 for hc=\"15\" replace bqje with a4 for hc=\"16\" @1,60 say \"利润表\" font \"宋体\list exit else skip endi endd use select 1 set talk on
84
会计信息系统
return
6.1.2程序的运行效果示意图
6.2.资产负债表输出设计
6.2.1程序:
set talk off clear
store 0 to a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17
49
会计信息系统
store 0 to b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10 select 1
use c:\\会计信息系统-郑静金\\总分类账 select 2
use c:\\会计信息系统-郑静金\\资产负债表 select 3 select 1 do while !eof() if kmdm=\"1001\" a1=ye skip a2=ye skip a3=ye skip a4=ye skip a5=ye skip a6=ye skip a7=ye skip
05
会计信息系统
a8=ye skip a9=ye skip a10=ye skip a11=ye skip a12=ye skip a13=ye skip a14=ye skip a15=ye skip a16=ye skip a17=ye else skip endi endd
51
会计信息系统
b0=a1+a2 b1=a5+a6+a7+a17 b2=b0+b1+a3+a4+0 b3=a8-a9 b4=b2+b3
b5=a10+a11+a12+a13 b6=a14+a16 b7=b5+b6 select 2
sum qcye2 to b8 for hc2=\"2\" b9=b8+b5 b10=b9+b6
repla qmye1 with b0 for hc1=\"2\" repla qmye1 with a3 for hc1=\"3\" repla qmye1 with a4 for hc1=\"4\" repla qmye1 with b1 for hc1=\"5\" repla qmye1 with 0 for hc1=\"6\" repla qmye1 with b2 for hc1=\"7\" repla qmye1 with a8 for hc1=\"9\" repla qmye1 with a9 for hc1=\"10\" repla qmye1 with b3 for hc1=\"11\" repla qmye1 with b3 for hc1=\"12\" repla qmye1 with b4 for hc1=\"17\"
25
会计信息系统
repla qmye2 with b8 for hc2=\"2\" repla qmye2 with a10 for hc2=\"3\" repla qmye2 with a11 for hc2=\"4\" repla qmye2 with a12 for hc2=\"5\" repla qmye2 with a13 for hc2=\"6\" repla qmye2 with b9 for hc2=\"7\" repla qmye2 with 0 for hc2=\"9\" repla qmye2 with 0 for hc2=\"10\" repla qmye2 with b9 for hc2=\"11\" repla qmye2 with a14 for hc2=\"13\" repla qmye2 with 0 for hc2=\"14\" repla qmye2 with a16 for hc2=\"15\" repla qmye2 with b6 for hc2=\"16\" repla qmye2 with b10 for hc2=\"17\" list if b4=b10
messagebox(\"资产负债表平衡!请退出!\") else
messagebox(\"资产负债表不平衡!请检查\") endif use select 1 use
53
会计信息系统
select 2
@1,60 say \"资产负债表\" font \"宋体\use set talk on return
6.2.2程序运行的效果示意图:
45
会计信息系统
55
因篇幅问题不能全部显示,请点此查看更多更全内容