📄
字号:
DO rk && 键控过程,按Ctrl+End结束程序
STORE zhai1(h) TO fkjf(i,1) && 记下摘要
DEAC WINDOW zyw && 挂起窗口
@ 5+2.2*i,3.5 GET fkjf(i,1) SIZE 1,16 && 显示摘要,允许编辑
READ && 激活对象
IF h>=2 && 如果选中第二以下的摘要
FOR w=h TO 2 STEP -1 && 循环
zhai1(w)=zhai1(w-1) && 向下递推
NEXT && 下一个FOR循环
ENDIF
zhai1(1)=fkjf(i,1) && 第一个摘要自动更新
zhai1(20)=' ' && 第二十个为空
@ 5+i*2.2,23 SAY '☆' SIZE 1,2,1 && 在结算方式处显示☆_,指示位置
DEFI WINDOW zyw FROM 6,84 TO 26,103 TITLE " 结算方式 " ;
ZOOM MINIMIZE FLOAT DOUB && 定义窗口
ACTI WINDOW zyw && 激活窗口
STORE 1 TO h && 初始化变量
@ 1,1 GET h DEFA 1 FUNC '&t' FROM jsfs && 结算方式List列表
READ && 激活对象
STORE jsfs(h) TO fkjf(i,2) && 记下结算方式
FOR kk=h TO 2 STEP -1 && 循环
jsfs(kk)=jsfs(kk-1) && 向下递推
NEXT && 下一个FOR循环
jsfs(1)=fkjf(i,2) && 选中的放在第一位
DEAC WINDOW zyw && 挂起窗口
@ 5+i*2.2,22 GET fkjf(i,2) SIZE 1,8 DISABLE && 显示结算方式,禁止编辑
@ 5+i*2.2,32 GET fkjf(i,3) SIZE 1,4 && 编辑票号
READ && 激活对象
DO rk && 键控过程,按Ctrl+End结束程序
NEXT && 下一个FOR循环
** 填写金额
STORE .F. TO jc && 初始化逻辑变量
DO WHILE jc=.F. && 循环
STORE 0.00 TO fkdfzj,fkjfzj,jehj_m && 初始化变量
FOR i=1 TO MD && 循环,终值为贷方科目明细个数
@ i*1.3+0.6,66 GET fkdf(i,4) SIZE 1,12 DEFA 0.00 && 编辑付款贷方金额
NEXT && 下一个FOR循环
FOR i=1 TO m1 && 循环,终值为借方科目明细个数
@ 5+i*2.2,67 GET fkjf(i,6) SIZE 1,12 && 编辑付款借方金额
NEXT && 下一个FOR循环
READ && 激活对象
DO rk && 键控过程,按Ctrl+End结束程序
FOR i=1 TO MD && 循环,终值为贷方科目明细个数
fkdfzj=fkdfzj+fkdf(i,4) && 付款贷方总计
NEXT && 下一个FOR循环
FOR i=1 TO m1 && 循环,终值为借方科目明细个数
fkjfzj=fkjfzj+fkjf(i,6) && 浮夸借方总计
NEXT && 下一个FOR循环
@ 20,54 SAY fkdfzj SIZE 1,12 COLOR RGB(255,255,255,0,0,0) && 显示贷方总计
@ 20,67 SAY fkjfzj SIZE 1,12 COLOR RGB(255,255,255,0,0,0) && 显示借方总计
IF fkdfzj=fkjfzj && 如果贷方总计等于借方总计
jehj_m=fkdfzj && 记下总计
kmmxgs=MD+m1 && 记下贷方和借方科目和明细个数
? ' 正在登帐 请稍候 ' && 显示信息
STORE .T. TO jc && 逻辑变量赋真,跳出DO循环
ELSE && 否则
DEFI WINDOW jg FROM 6,80 TO 14,103 TITLE " 警告 " ;
ZOOM MINIMIZE FLOAT DOUB CLOSE && 定义窗口
ACTI WINDOW jg && 激活窗口
@ 0,1 GET jg DEFA '借贷不相等, 请纠正' COLOR r/w && 显示信息
FOR N=1 TO 1000
? CHR(7) && 笛声
NEXT
READ && 激活对象
DO rk && 键控过程,按Ctrl+End结束程序
DEAC WINDOW jg && 挂起窗口
STORE .F. TO jc && 逻辑变量赋假,继续循环编辑金额
ENDIF
ENDDO && 下一个DO循环
FOR i=1 TO MD && 循环,终值为贷方科目明细个数
zza(i,1)=fkdf(i,1) && 摘要
zza(i,3)=fkjf(i,3) && 票号同借方
zza(i,4)=fkdf(i,2) && 总帐科目名称
zza(i,5)=fkdf(i,3) && 明细名称
zza(i,7)=fkdf(i,4) && 贷方金额
zza(i,8)='贷' && 借贷标识
zza(i,9)=fkdf(i,5) && 登帐数据库名
NEXT && 下一个FOR循环
FOR i=1 TO m1 && 循环,终值为借方科目明细个数
zza(i+MD,1)=fkjf(i,1) && 摘要
zza(i+MD,2)=fkjf(i,2) && 结算方式
zza(i+MD,3)=fkjf(i,3) && 票号
zza(i+MD,4)=fkjf(i,4) && 总帐科目名称
zza(i+MD,5)=fkjf(i,5) && 明细名称
zza(i+MD,6)=fkjf(i,6) && 借方金额
zza(i+MD,8)='借' && 借贷标识
zza(i+MD,9)=fkjf(i,7) && 登帐数据库名
NEXT && 下一个FOR循环
kmmxgs=MD+m1 && 贷方和借方的科目明细个数
ELSE && 否则,付款借方科目或明细个数大于6
FOR i=1 TO MD && 循环,终值为贷方科目明细个数
zza(i,1)=fkdf(i,1) && 摘要
zza(i,3)=fkjf(i,3) && 票号同借方
zza(i,4)=fkdf(i,2) && 总帐科目名称
zza(i,5)=fkdf(i,3) && 明细名称
zza(i,7)=fkdf(i,4) && 贷方金额
zza(i,8)='贷' && 借贷标识
zza(i,9)=fkdf(i,5) && 登帐数据库名
NEXT && 下一个FOR循环
FOR i=1 TO m1 && 循环,终值为借方科目明细个数
zza(i+MD,1)=fkjf(i,1) && 摘要
zza(i+MD,2)=fkjf(i,2) && 结算方式
zza(i+MD,3)=fkjf(i,3) && 票号
zza(i+MD,4)=fkjf(i,4) && 总帐科目名称
zza(i+MD,5)=fkjf(i,5) && 明细名称
zza(i+MD,6)=fkjf(i,6) && 借方金额
zza(i+MD,8)='借' && 借贷标识
zza(i+MD,9)=fkjf(i,7) && 登帐数据库名
NEXT && 下一个FOR循环
DEFI WINDOW wbrow FROM 7,4 TO 27,106 TITLE '付款记账浏览窗口';
ZOOM MINIMIZE FLOAT DOUB CLOSE && 定义浏览窗口
ACTI WINDOW wbrow && 激活窗口
SET SAFE OFF && 关闭安全提示窗口
USE 大被单表 && 打开表
ZAP && 清除记录
FOR i=1 TO MD+m1 && 循环
APPEND BLANK && 追加空记录
REPLACE 科目 WITH zza(i,4),明细 WITH zza(i,5) && 替换字段
NEXT && 下一个FOR循环
STORE .F. TO hj && 初始化逻辑变量
DO WHILE hj=.F. && 循环
GOTO TOP && 指针指向表顶
BROW TITLE '输入摘要,借方,贷方' FIELDS 科目:W=.F.:18,明细:W=.F.:20,;
借方:W=IIF(ZZA(RECNO(),8)='借',.T.,.F.),;
贷方:W=IIF(ZZA(RECNO(),8)='贷',.T.,.F.),;
摘要:30: v=fzy():F
&& 在浏览窗口中输入摘要、借方、贷方,借方借允许,贷方贷允许,摘要自动点选
SUM 借方,贷方 TO jhj,dhj && 累加和
IF jhj<>dhj && 如果借贷不相等
FOR i=1 TO 500
?? CHR(7) && 笛声
NEXT
STORE '借方:'+STR(jhj,13,2)+' 贷方:'+STR(dhj,13,2)+CHR(13)+'借贷不相等!' TO jg
WAIT WINDOW jg && 警告信息
ELSE && 否则
STORE .T. TO hj && 逻辑变量为真,跳出DO循环
ENDIF
ENDDO && 下一个DO循环
@ 2,30 SAY '稍候' && 显示信息
jehj_m=jhj && 记下累加和
FOR kk=1 TO m1 && 循环
GOTO kk && 移动指针
zza(kk,1)=摘要 && 给数组元素赋值,下同
zza(kk,6)=借方
zza(kk,7)=贷方
NEXT && 下一个FOR循环
ZAP && 删除全部记录
SET SAFE ON && 打开安全提示窗口
USE && 关闭表
STORE MD+m1 TO kmmxgs && 记下科目明细个数
DEACTI WINDOW wbrow && 挂起窗口
ENDIF
DO 摘要更新 && 过程
RETURN && 付款记账凭证登录子程序结束
PROC 摘要更新 && 过程
FOR K=1 TO 20
ZHAI(K,1)=ZHAI1(K) && 更新数组
NEXT
SET SAFETY OFF && 关闭安全提示窗口
IF USED('ZY') && 如果摘要文件打开
SELECT 5 && 激活工作区
ELSE && 否则
SELECT 5 && 激活工作区
USE ZY && 打开摘要文件
ENDIF
ZAP && 清除纪录
APPEND FROM ARRAY ZHAI && 从数组追加
RETURN && 返回调用程序
FUNCTION fzy && 摘要自动点选函数
IF 摘要<>' ' && 如果摘要栏里有内容
zhai1(1)=摘要 && 让该内容占据首位
zhai1(20)=' '
ELSE && 否则
DEFI WINDOW zyw FROM 1,96 TO 28,116 TITLE "摘要" ;
ZOOM MINIMIZE FLOAT DOUB CLOSE && 定义摘要窗口
ACTI WINDOW zyw && 激活窗口
STORE 1 TO hekh000s && 初始化变量
@ 0,1 GET hekh000s DEFA 1 FUNC '&t ' FROM zhai1 && List列表,列出摘要内容
READ CYCLE && 激活对象
REPLACE 摘要 WITH zhai1(hekh000s) && 替换字段
IF hekh000s>=2 && 如果点选的是第二以下的内容
FOR w=hekh000s TO 2 STEP -1 && 循环
zhai1(w)=zhai1(w-1) && 下推
NEXT && 下一个FOR循环
zhai1(1)=摘要 && 让中选者占据首位
zhai1(20)=' ' && 末位为空
ENDIF
ENDIF
DEAC WINDOW zyw && 挂起窗口
RETURN && 函数返回真
PROC rk && 键控过程
IF READKEY()=270 && 如果按了Ctrl+End 结束程序
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 停止当前程序的执行
ENDIF
RETURN && 返回调用程序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -