📄 -i+
字号:
STORE m1 TO mj && 记下借方科目或明细个数
* 收款凭证 贷方科目
ACTI WINDOW swd && 激活收款贷方科目窗口
STORE 0 TO a && 数组清零
FOR i=1 TO 23 && 循环
IF b(i,5)='暂不使用' && 如果选用与否为暂不使用
@ i-1,0 GET a(i) FUNC "*C "+b1(i) DISA && 列出复选框,禁止选用
ELSE && 否则
@ i-1,0 GET a(i) FUNC "*C "+b1(i) && 列出复选框
ENDIF
NEXT && 下一个 FOR 循环
FOR i=24 TO 46 && 循环
IF b(i,5)='暂不使用' && 如果选用与否为暂不使用
@ i-24,22 GET a(i) FUNC "*C "+b1(i) DISA && 列出复选框,禁止选用
ELSE && 否则
@ i-24,22 GET a(i) FUNC "*C "+b1(i) && 列出复选框
ENDIF
NEXT && 下一个 FOR 循环
FOR i=47 TO 67 && 循环
IF b(i,5)='暂不使用' && 如果选用与否为暂不使用
@ i-47,44 GET a(i) FUNC "*C "+b1(i) DISA && 列出复选框,禁止选用
ELSE && 否则
@ i-47,44 GET a(i) FUNC "*C "+b1(i) && 列出复选框
ENDIF
NEXT
FOR i=68 TO 85 && 循环
IF b(i,5)='暂不使用' && 如果选用与否为暂不使用
@ i-68,66 GET a(i) FUNC "*C "+b1(i) DISA && 列出复选框,禁止选用
ELSE && 否则
@ i-68,66 GET a(i) FUNC "*C "+b1(i) && 列出复选框
ENDIF
NEXT && 下一个 FOR 循环
@ 21,55 GET kk DEFA 1 FUNC '*th 确认;取消' SIZE 2,6,4 && 命令按钮
READ CYCLE && 激活对象
DO rk && 键控过程,按Ctrl+End结束程序
IF kk=2 && 如果选择了取消
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
ENDIF
DEAC WINDOW swd && 挂起收款贷方复选科目窗口
DIME z(6) && 定维数组
STORE ' ' TO z && 初始化数组
STORE 0 TO j && 初始化变量
FOR i=1 TO 85 && 循环
IF a(i)=1 && 如果复选时选中
j=j+1 && 计数器加1
z(j)=b1(i) && 记下科目的名称
hh(j)=i && 记下选中科目的记录号1-85
ENDIF
NEXT && 下一个FOR循环
** 处理收款贷方名细
PUBLIC skdf(300,7) && 定维公共数组
&& 列:1摘要 2结算方式 3票号 4科目名称 5明细名称 6贷方金额 7表名
FOR i=1 TO 300 && 循环,初始化数组元素
STORE ' ' TO skdf(i,1),skdf(i,2),skdf(i,3),skdf(i,4),skdf(i,5),skdf(i,7)
STORE 0.00 TO skdf(i,6)
NEXT && 下一个FOR循环
STORE 0 TO m1 && 变量清零
FOR i=1 TO j && 循环,终值为选中的科目个数
IF USED('zk85') && 如果表已打开
SELECT zk85 && 激活工作区
ELSE && 否则
SELECT 3 && 激活工作区
USE 科目总控!zk85 && 打开表‘zk85’(总控85,内含85个科目)
ENDIF
LOCATE FOR 会计科目名=z(i) && 根据科目名称定位
STORE ' ' TO mx,mxmc1 && 初始化变量
mx=明细库名 && 记下名细表名 联系表
DECLARE mxj1(300),mxj(300,2) && 定维数组
STORE ' ' TO mxmc,mxarray && 初始化数组
IF 选用与否='选用明细' && 如果 选用与否='选用明细'
SELECT 4 && 激活工作区
USE &mx && 打开明细联系表
rec=RECC() && 记下记录个数
COPY TO ARRAY mxj && 复制到明细数组
FOR k=1 TO rec && 循环
STORE mxj(k,1) TO mxj1(k) && 明细名称过渡到一维数组
NEXT && 下一个FOR循环
IF rec<=21 && 如果 明细记录个数小于等于21
DEFI WINDOW swdmx1 FROM 0,37 TO 26,73 TITLE ' '+z(i)+" 贷方明细 ";
ZOOM MINIMIZE FLOAT DOUB && 定义窗口
ACTI WINDOW swdmx1 && 激活窗口
STORE 0 TO a && 数组清零
FOR k=1 TO rec && 循环
@ k-1,0 GET a(k) FUNC "*c "+ mxj1(k) && 排布明细名称复选框
NEXT && 下一个FOR循环
@ 22,1 GET qq DEFA 1 FUNC '*th 确认;取消' SIZE 2,4,4 && 命令按钮
READ CYCLE && 激活对象
IF qq=2 && 如果选择了取消
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
ENDIF
DO rk && 键控过程,按Ctrl+End结束程序
DEAC WINDOW swdmx1 && 挂起窗口
ELSE && 否则,明细记录个数大于21
DEFI WINDOW swdmx FROM 0,15 TO 26,80 TITLE z(i)+" 贷方明细 " ;
ZOOM MINIMIZE FLOAT DOUB && 定义窗口
ACTI WINDOW swdmx && 激活窗口
STORE 0 TO a && 数组清零
DO CASE
CASE rec<=42 && 如果 明细记录个数小于等于42
FOR k=1 TO 21 && 循环
@ k-1,0 GET a(k) FUNC "*c "+ mxj1(k) && 排布明细名称复选框
NEXT && 下一个FOR循
FOR k=22 TO rec && 循环
@ k-22,20 GET a(k) FUNC "*c "+ mxj1(k) && 排布明细名称复选框
NEXT && 下一个FOR循
@ 22,40 GET qq DEFA 1 FUNC '*th 确认;取消' SIZE 2,4,4 && 命令按钮
READ CYCLE && 激活对象
IF qq=2 && 如果选择了取消
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
ENDIF
DO rk && 键控过程,按Ctrl+End结束程序
DEAC WINDOW swdmx && 挂起窗口
CASE rec<=80 && 否则,明细记录个数大于42
DEFI WINDOW swdmx FROM 0,0 TO 28,300 FLOAT CLOSE DOUB;
TITLE ' 贷方科目:'+z(i)+' 左右拖动此线 ───── 选择明细 ';
+'────────── 移动此线 ──────────────────';
+' 移动此线 ─── ' && 定义活动窗口
ACTI WINDOW swdmx && 激活活动窗口
STORE 0 TO a && 数组清零
FOR k=1 TO rec && 循环
@ k%22,INT(k/22)*30 GET a(k) FUNC '*c '+mxj1(k) && 排布明细名称复选框
NEXT && 下一个FOR循
@ 23,80 GET kk DEFA 1 FUNC '*th 确认;取消' SIZE 2,4,4 && 命令按钮
READ CYCLE && 激活对象
IF qq=2 && 如果选择了取消
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
ENDIF
DO rk && 键控过程,按Ctrl+End结束程序
DEAC WINDOW swdmx && 挂起窗口
OTHERWISE && 其他(当明细个数大于80)
IF USED('明细复选框表') && 如果校验框表已经打开
SELECT 明细复选框表 && 激活校验框表工作区
ELSE && 否则
SELECT 0 && 激活工作区
USE 明细复选框表 && 打开校验框表文件
ENDIF &&
SET SAFETY OFF && 关闭安全提示窗口
ZAP && 清除全部记录
SET SAFETY ON && 打开安全提示窗口
FOR kk=1 TO rec && 循环
APPEND BLANK && 追加空记录
REPLACE 明细名称 WITH MXJ1(KK) && 替换字段
REPLACE 校验框 WITH 0 && 冲零
ENDFOR && 下一个FOR循环
GOTO TOP && 指针指向文件顶
DO 浏览复选框 && 运行校验框子程序
FOR kk=1 TO rec && 循环
GOTO KK && 移动指针
STORE 校验框 TO a(kk) && 字段值(1或0)赋给数组元素
NEXT && 下一个FOR循环
DEAC WINDOW swdmx && 挂起窗口
ENDCASE
ENDIF
IF a(rec)=1 &&如果 选中末记录添加新明细
h=hh(i) && 选中科目的记录号1-85
DO 添加新明细 && 运行子程序
ENDIF
FOR k=1 TO rec && 循环
IF a(k)=1 && 如果复选时选中
m1=m1+1 && 计数器加1
skdf(m1,4)=z(i) && 记下科目名称
skdf(m1,5)=mxj1(k) && 记下明细名称
skdf(m1,7)=mxj(k,2) && 记下明细表明
ENDIF
NEXT && 下一个FOR循环
ELSE && 否则 选用与否#'选用明细'
m1=m1+1 && 计数器加1
STORE z(i) TO skdf(m1,4) && 记下科目名称
IF USED('zk85') && 如果表已打开
SELECT zk85 && 激活工作区
ELSE && 否则
SELECT 3 && 激活工作区
USE 科目总控!zk85 && 打开表‘zk85’(总控85,内含85个科目)
ENDIF
LOCATE FOR 会计科目名=z(i) && 根据科目名称定位
STORE 科目库名 TO skdf(m1,7) && 记下科目表明
ENDIF
NEXT && 下一个FOR循环,选中的科目
*******收款贷方登录
IF m1<=6 && 如果收款贷方科目明细个数小于等于6
** 显示贷方科目和明细
FOR k=1 TO m1 && 循环
@ k*2.2+4.46,40 GET skdf(k,4) DISA SIZE 1,12 && 显示科目,禁止编辑
@ k*2.2+4.46,52 GET skdf(k,5) DISA SIZE 1,14 && 显示明细,禁止编辑
NEXT && 下一个FOR循环
READ && 激活对象
&& 填写收款贷方摘要、结算方式、票号
FOR i=1 TO m1 && 循环,终值为贷方科目或明细个数
@ 4.45+i*2.2,3.5 GET z3 DEFAULT '☆_' DISABLE && 显示☆_ 提示位置
DEFI WINDOW zyw FROM 3,76 TO 28,103 TITLE ' '+ALLTRIM(skdf(i,4))+" 摘要" ;
ZOOM MINIMIZE FLOAT DOUB CLOSE && 定已选择摘要窗口
ACTI WINDOW zyw && 激活窗口
STORE 1 TO h && 初始化变量
@ 1,1 GET h DEFA 1 FUNC '&t' FROM zhai1 && 摘要List列表
READ CYCLE && 激活对象
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -