use pzk打开凭证库
repl from pzhwj addi 从凭证号文件读取数据 do while.T 循环语句,循环开始,条件为真 do pzgs 执行凭证格式程序 i=1 将1赋值给i
do while i<9 执行当i<9(i=1-8)的时候循环 ii=str(i,1) 将数值型数据转换成字符串 vzy&ii=space(20) 将摘要变量赋值20个空格 vkmbh&ii=space(9) 将科目编码变量赋值9个空格
store 0 tO vjfje&ii,vdfje&ii 把借方金额变量,贷方金额变量赋值为 0 i=i+1 将i值加1,赋值给i
enddO 结束循环 相当于初始化 vjf=0 将借方变量赋值为0 vdf=0 将贷方变量赋值为0
vrq=date() 日期变量取计算机系统时间
vyear=right(str(year(vrq)),2) 年份变量取系统日期年份右边开始2位转换成字符 vmonth=rihgt(str(month(vrq)),2) 月份变量取系统日期月份右边开始2位转换成字符 vday=right(str(day(vrq)),2) 日期变量取系统日期右边日开始2位转换成字符 @5,31 get vyear pict“99” 在第5行第31列输入年份变量,格式为“99” @5,36 get vmonth pict“99” 在第5行第36列输入月份变量,格式为“99” @5,39 get vday pict“99” 在第5行第39列输入日变量,格式为“99” read
vrql=ctod(vmonth+“/”+vday+“/”+vyear) 将日期字符形式转换成日期数字形式并赋予日期1变量
vpzh=vpzh+1 凭证号变量=上一次凭证号加1
i=1 将1赋给i f=0 将0赋给f j=9 将9赋给j &&
do while i<10 执行当i<10的时候循环 ii=str(i,1) 将数值型数据转换成字符串
@j+i,0 get vzy&ii 在j+i行,0列输出摘要变量 read
dO while.t.
@i+j,23 get vkmbh&ii pict“999999999999” 在i+j行,23列输入科目编码变量,格式为\999999999999\ Read 读取
vkmbh&ii=trim(vkmbh&ii) 删除科目编码变量空格字符 sele l
if vkmbh&ii=“0” 如果科目编码变量是0 exit 退出
endif 结束如果
seek vkmbh&ii 检索科目编码变量 if eof() 如果到了尾部
loop 返回 endif 结束
vkmmc&ii=kmmc
@j+i,23 say kmmc 在i+j行,23列用汉字显示科目名称 exit 退出
enddO 结束循环
if vkmbh&ii=“ ” 如果科目编号字符串是一个空格 exit 退出 endif 结束if f=f+1
@i+j,55 get vjfje&ii pict“999999999.99” 在i+j行,55列输入借方金额变量,格式“999999999.99”
@i+j,69 get vdfje&ii pict“999999999.99” 在i+j行,69列输入贷方金额变量,格式“999999999.99” read
vjf=vjf+vjfje&ii 借方=借方+借方金额 vdf=vdf+vdfje&ii 贷方=贷方+贷方金额 i=i+l enddO 结束循环
if vjf<>vdf 如果借方不等于贷方
@24,0 say“借贷不平衡” 在24行,0列显示出“借贷不平衡” @24,30 say vjf-vdf 在24行,30列显示出借方金额-贷方金额 inkey(6) 任意键返回 loop 返回 endif 结束
jx=“N” 将“N”赋值给继续 @24,0 say “确认本屏继续(Y)/确认本屏退出(Q);/重输本屏(N)/放弃本屏退出(E)”get jx pict“!” 在24行,0列显示出“确认本屏继续(Y)/确认本屏退出(Q);/重输本屏(N)/放弃本屏退出(E)”输入按键 read
if jx=“N” 如果输入N重输本屏
vpzh=vpzh-1 凭证号变量=凭证号-1 loop endif
if jx<>“N”.and.jx<>“E” 如果不是输入N重输本屏也不是E放弃本屏退出 J=1 j=1
do while f<>0 如果f不等于0执行 i=str(i,1) sele 2 appe blank
repl rq with vrql,pzh with vpzh,zy with vzy&ii,kmbh with vkmbh
kmmc with vkmmc&ii 日期用新日期替代,凭证号用新凭证号替代,摘要用新摘要替代,科目编号用新科目编号替代,科目名称用新科目名称替代 if vjfje&ii=0 如果借方金额变量=0
repl jdjh with“D”,je with vdfje&ii 借贷记号用D替代,金额用贷方金额变量 else 否则
repl jdjh with“j”,je with vjfje&ii 借贷记号用J替代,金额用借方金额变量 endif 结束if循环 f=f-1 f赋值=f-1 i=i+1 i赋值=i+1 enddo 结束do endif 结束if
if jx=“Q”.or.jx=“E” 如果输入Q确认本屏退出,或者E放弃本屏退出 if jx=“E” 如果输入E放弃本屏退出 vpzh=pzh-1 凭证号变量=凭证号-1 endif 结束if
save to pzhwj all like vpzh 凭证号乘到凭证文件里面 clos data 关闭数据 return 回到主程序 endif enddo
(二)、明细账打印输出程序 clear f=“t”
@4,5 say“ 请输入科目号”get km
@5,5 say“ 请输入起止月份 ”get rq1 @5,22 Say“ 至 ”get rq2 read select l
use mxb&rq1 inde mxb&rq2 select 2
use zk inde zk
set filter to month(rq)>=val(rq1).and.month(rq)<=vall(rq2) 选定起止月份并转换成数值1、数值2
go top select 1 seek km kmmc1=kmmc
ye=qcjfye-qcdfye select 2 set print on
set device to print do while.not.eof( ) ?? chr(28) +\
@prow( ),10 say kmmc1+\明细帐 \@prow( ),10 say\第 页 \
@prow( )+1,0 say repl(\一 \
@prow( )+1,0 say\日期 |\@prow( ),12 say \凭证号\@prow( ),22 say\摘要 \@prow ( ),44 say\借方\@prow( ),58 say\贷方 \@prow( ),72 Say \借 / 贷 |\@prow( ),80 say\余额 \
@prow( )+1,0 say repl(\If f=\
@prow( )+1,24 say\上月结转 \eIse
@prow( )+l,24 say\承上页 \endif do case case ye=O
@prow( ),73 say\平 \@prow( ),76 say ye case ye>0
@prow( ),73 say\借\@prow( ),76 say ye case ye<0
@prow( ),73 say\贷 \@prow( ),76 say -ye endcase n=0 jf1=0 df1=0
do while.not.eof( ).and.n<40 sele 2
@prow( )+l,0 say rq @prow( ),12 say pzh @prow( ),22 say zy
@prow( ),47 say jfje pict“@z” @prow( ),59 say dfje pict “@z” jf=jf+jfje df=df+dfje jf1=jf1+jfje df1=df1+dfje ye=ye+jfje-dfje ye1=ye z1=“ ” do case case ye=0
@prow( ),73 say “平”
@prow( ),76 say ye z1=“平” case ye>O
@prow( ),73 say\借 \@prow( ),76 say ye z1=“借” case ye<0
@prow( ),73 say“ 贷 ” @prow( ),76 say -ye ye1=-ye z1=“贷” endcase skip n=n+1
if eof( ).or.n=40.or.month(rq)<> month(vrq ) if eof( ).or.month(rq)<>month(vrq) @prow( )+1,0 say repl(\一 \@prow( )+1,24say\本月合计 \@prow( ),45 say jf pict “@z” @prow( ),59 say df pict“@z” @prow( ),73 say z1 @prow( ),76 say ye1 endif if n=40 f=“f”
@prow( )+1,0 say repl(“ 一”,40)从当前行prow()+1行(即下一行),第0 列打印\下 @prow( )+1,24 say\过次页 \@prow( ),45 say jf1 @prow( ),59 say df1 @prow( ),73 say z1 @prow( ),76 say yel endif
@prow( )+1,0 say rep1(\eject enddo enddo
set print off
set device to screen
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《会计电算化》作业答案 (1)(5)在线全文阅读。
相关推荐: