📄 +
字号:
ENDIF
NEXT && 下一个FOR循环
@ 20,40 GET kk DEFA 1 FUNC'*th 确认;取销' SIZE 2,4,4 && 命令按钮
READ CYCLE && 激活对象
IF kk=2 && 如果选择了取消
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
ENDIF
STORE 0 TO cbfyhj && 初始化合计变量
FOR j=1 TO cbfyend(i) && 循环,终值为借方与摘要相隔的字段数(栏目数)
cbfyhj=cbfyhj+cbfyfieldje(i,j) && 合计
NEXT && 下一个FOR循环
EXIT && 无条件跳出DO循环
ENDDO && 下一个DO循环
DEAC WINDOW sccb && 挂起窗口
ENDIF
ENDIF
USE && 关闭表
IF ALLTRIM(zza(i,4))='应交税金'.AND.ALLTRIM(zza(i,5))='应交(增值税)' && 如果是mx221001
IF zza(i,6)<>0 && 如果借方的值不等于零
DEFI WINDOW sccb TITLE ' '+zza(i,4)+zza(i,5)+'栏目选摘 ';
FROM 0,20 TO 26,80 CLOSE && 定义窗口
ACTI WINDOW sccb && 激活窗口
IF USED('kmhmx')=.T. && 如果打开了科目或明细表
SELECT kmhmx && 激活工作区
USE &zza(i,9) && 打开表
ELSE && 否则
SELECT 0 && 激活工作区
USE &zza(i,9) ALIAS kmhmx && 打开表
ENDIF
FOR j=5 TO 30 && 循环,查找借方字段
IF ALLTRIM(FIELD(j))='借方' && 如果找到借方
cbfyend(i)=j-5 && 记下借方与摘要相隔的字段数(栏目数)
EXIT && 跳出FOR循环
ENDIF
cbfyfield(i,j-4)=FIELD(j) && 记下借方与摘要相隔的各个字段名
NEXT && 下一个FOR循环
FOR j=1 TO cbfyend(i) && 循环,终值为借方与摘要相隔的字段数(栏目数)
cbfyxh(i,j)=0 && 初始化摘要与借方之间的各个字段(栏目)的序号
NEXT && 下一个FOR循环
FOR j=1 TO cbfyend(i) && 循环,终值为借方与摘要相隔的字段数(栏目数)
@ j,5 GET cbfyxh(i,j) FUNC '*c '+cbfyfield(i,j) && 列出字段名复选框,供复选
NEXT && 下一个FOR循环
@ 20,40 GET kk DEFA 1 FUNC'*th 确认;取销' SIZE 2,4,4 && 命令按钮
READ CYCLE && 激活对象
IF kk=2 && 如果选择了取消
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
ENDIF
FOR j=1 TO 30 && 循环
cbfyfieldje(i,j)=0.00 && 初始化摘要与借方之间的各个字段(栏目)的值
NEXT && 下一个FOR循环
DO WHILE .T. && DO循环
DEFI WINDOW sccb TITLE ' '+zza(i,4)+zza(i,5)+'输入金额 ';
FROM 0,20 TO 26,80 CLOSE && 定义窗口
ACTI WINDOW sccb && 激活窗口
CLEAR && 清窗口
FOR j=1 TO cbfyend(i) && 循环,终值为借方与摘要相隔的字段数(栏目数)
IF cbfyxh(i,j)=1 && 如果摘要与借方之间的某个字段(栏目)的序号等于1,意味着复选时选中
@ j,5 SAY cbfyfield(i,j) GET cbfyfieldje(i,j) && 编辑摘要与借方之间的各个字段(栏目)的金额
ELSE && 否则
@ j,5 SAY cbfyfield(i,j) GET cbfyfieldje(i,j) DISA && 禁止编辑
ENDIF
NEXT && 下一个FOR循环
@ 20,40 GET kk DEFA 1 FUNC'*th 确认;取销' SIZE 2,4,4 && 命令按钮
READ CYCLE && 激活对象
IF kk=2 && 如果选择了取消
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
ENDIF
STORE 0 TO cbfyhj && 初始化合计变量
FOR j=1 TO cbfyend(i) && 循环,终值为借方与摘要相隔的字段数(栏目数)
cbfyhj=cbfyhj+cbfyfieldje(i,j) && 合计
NEXT && 下一个FOR循环
IF cbfyhj<>zza(i,6) && 如果合计不等于借方
FOR k=1 TO 1000 && 循环
?? CHR(7) && 笛声
NEXT && 下一个FOR循环
@ 0,10 SAY '金额合计不等' COLOR r+/w && 提示信息
ELSE && 否则
EXIT && 跳出DO循环
ENDIF
ENDDO && 下一个DO循环
DEAC WINDOW sccb && 挂起窗口
ENDIF
IF zza(i,7)<>0 && 如果贷方的值不等于零
DEFI WINDOW sccb TITLE ' '+zza(i,4)+zza(i,5)+'栏目选摘 ';
FROM 0,20 TO 26,80 CLOSE && 定义窗口
ACTI WINDOW sccb && 激活窗口
IF USED('kmhmx')=.T. && 如果打开了科目或明细表
SELECT kmhmx && 激活工作区
USE &zza(i,9) && 打开表
ELSE && 否则
SELECT 0 && 激活工作区
USE &zza(i,9) ALIAS kmhmx && 打开表
ENDIF
FOR j=11 TO 30 && 循环,查找贷方
IF ALLTRIM(FIELD(j))='贷方' && 如果找到贷方
cbfyend(i)=j-11 && 记下借方与贷方相隔的字段(栏目)个数
EXIT && 跳出FOR循环
ENDIF
cbfyfield(i,j-10)=FIELD(j) && && 记下明细的贷方与借方之间的各个字段名(不包括贷方和借方本身)
NEXT && 下一个FOR循环
FOR j=1 TO cbfyend(i) && 循环,终值为借方与贷方相隔的字段(栏目)个数
cbfyxh(i,j)=0 && 初始化贷方与借方之间的各个字段(栏目)的序号
NEXT && 下一个FOR循环
FOR j=1 TO cbfyend(i) && 循环,终值为借方与贷方相隔的字段(栏目)个数
@ j,5 GET cbfyxh(i,j) FUNC '*c '+cbfyfield(i,j) && 列出字段名复选框,供复选
NEXT && 下一个FOR循环
@ 20,40 GET kk DEFA 1 FUNC'*th 确认;取销' SIZE 2,4,4 && 命令按钮
READ CYCLE && 激活对象
IF kk=2 && 如果选择了取消
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
ENDIF
FOR j=1 TO 30 && 循环
cbfyfieldje(i,j)=0.00 && 初始化贷方与借方之间的各个字段(栏目)的值
NEXT && 下一个FOR循环
DO WHILE .T. && DO循环
DEFI WINDOW sccb TITLE ' '+zza(i,4)+zza(i,5)+'输入金额 ';
FROM 0,20 TO 26,80 CLOSE && 定义窗口
ACTI WINDOW sccb && 激活窗口
CLEAR && 清窗口
FOR j=1 TO cbfyend(i) && 循环,终值为借方与贷方相隔的字段(栏目)个数
IF cbfyxh(i,j)=1 && 如果贷方与借方之间的某个字段(栏目)的序号等于1,意味着复选时选中
@ j,5 SAY cbfyfield(i,j) GET cbfyfieldje(i,j) && 编辑贷方与借方之间的各个字段(栏目)的金额
ELSE && 否则
@ j,5 SAY cbfyfield(i,j) GET cbfyfieldje(i,j) DISA && 禁止编辑
ENDIF
NEXT && 下一个FOR循环
@ 20,40 GET kk DEFA 1 FUNC'*th 确认;取销' SIZE 2,4,4 && 命令按钮
READ CYCLE && 激活对象
IF kk=2 && 如果选择了取消
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
ENDIF
STORE 0 TO cbfyhj && 初始化合计变量
FOR j=1 TO cbfyend(i) && 循环,终值为借方与贷方相隔的字段(栏目)个数
cbfyhj=cbfyhj+cbfyfieldje(i,j) && 合计
NEXT && 下一个FOR循环
IF cbfyhj<>zza(i,7) && 如果合计与贷方不等
FOR k=1 TO 1000 && 循环
?? CHR(7) && 笛声
NEXT && 下一个FOR循环
@ 0,10 SAY '金额合计不等' COLOR r+/w && 提示信息
ELSE && 否则
EXIT && 跳出DO循环
ENDIF
ENDDO && 下一个DO循环
DEAC WINDOW sccb && 挂起窗口
ENDIF
ENDIF
NEXT && 下一个FOR循环
RETURN && 结束栏目填写子程序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -