📄 +
字号:
IF USED('mx')=.T. && 如果文件已打开
SELECT mx && 激活已打开文件的工作区
ELSE && 否则
SELECT 0 && 激活工作区
USE &zka(h,4) && 打开文件,明细库名(联系表)
ENDIF
COPY TO ARRAY b && 复制到数组
STORE RECC()-1 TO mrec && 明细库记录个数
&& 最末一个记录总是'创建和增添新明细'
FOR k=1 TO mrec && k循环
USE &b(k,2) && 打开表
IF RECC()=0 && 如果没有记录,建账
APPEND BLANK && 追加空记录
ELSE && 否则,过账
FOR i=1 TO RECC()-1 && i循环
GOTO i && 移动指针
DELETE && 做删除记号
NEXT && 下一个i循环
PACK && 彻底删除
ENDIF
REPLACE 日期 WITH GOMONTH(the_end,-1) && 用上月记账的最末一日
REPLACE 凭证号 WITH ' ' && 替换字段,下同
REPLACE 摘要 WITH '结转'
DEFI WINDOW gz FROM 16, 0 TO 26 ,99 TITLE '过帐科目:'+zka(h,2);
+'明细名称:'+ALLTRIM(b(k,1))+' 请添写数据到明细库名:'+b(k,2);
DOUB MINI FLOAT ZOOM CLOSE && 定义窗口
ACTI WINDOW gz && 激活窗口
BROW && 浏览
STORE 0 TO mxyzyes,mxlzyes,mxjzs,mjyzyes,mjlzyes,mjjzs &&固定资产各栏合计
STORE 0 TO yes && 余额累加
IF zka(h,1)='1501' && 如果是固定资产及折旧
REPLACE 净值 WITH 原值余额-累折余额 && 替换字段
BROW FIELDS 原值余额,累折余额,净值 && 浏览
mjyzyes=mjyzyes+原值余额 && 累加,下同
mjlzyes=mjlzyes+累折余额
mjjzs=mjjzs+净值
ELSE
yes=yes+ 余额
ENDIF
COPY TO ARRAY gza && 复制到数组
USE && 关闭表
IF FILE(b(k,3)+'.dbf') && 如果明细的月合计表存在
USE b(k,3) && 打开表
SET SAFETY OFF && 关闭安全提示窗口
ZAP && 删除全部记录
APPEND FROM ARRAY gza && 从数组追加记录
DEFI WINDOW gz FROM 16, 0 TO 26 ,99 ;
TITLE " 明细月合计 : "+b(k,1)+'库名:'+b(k,3) ;
DOUB MINI FLOAT ZOOM CLOSE && 定义窗口
ACTI WINDOW gz && 激活窗口
BROW && 浏览
ELSE && 否则
COPY FILE (b(k,2)+'.dbf') TO (b(k,3)+'.dbf')
&& 将明细表复制成月合计表
DEFI WINDOW gz FROM 8, 0 TO 18 ,199 ;
TITLE " 月合计: "+zka(h,2)+b(k,1) +b(k,3) ;
DOUB MINI FLOAT ZOOM CLOSE && 定义窗口
ACTI WINDOW gz && 激活窗口
BROW && 浏览
ENDIF
NEXT
* 处理月合计表
IF zka(h,1)='1501' && 如果是固定资产及折旧
USE yhj1501 && 打开固定资产月合计表
REPLACE 净值 WITH mjjzs && 替换字段,下同
REPLACE 原值余额 WITH mjyzyes
REPLACE 累折余额 WITH mjlzyes
BROW && 浏览
USE && 关闭表
ELSE && 否则,处理其他月合计
IF FILE(zka(h,6)+'.dbf') && 如果月合计表存在
USE zka(h,6) && 打开月合计表
SET SAFETY OFF && 关闭安全提示窗口
ZAP && 删除记录
APPEND BLANK && 追加空记录
REPLACE 日期 WITH GOMONTH(the_end,-1) && 替换字段,下同
REPLACE 凭证号 WITH ' '
REPLACE 摘要 WITH '上年结转'
REPLACE 余额 WITH yes
DEFI WINDOW gz FROM 8, 0 TO 18 ,100 ;
TITLE " 月合计 总页 : "+zka(h,2)+'库名:'+zka(h,6) ;
DOUB MINI FLOAT ZOOM CLOSE && 定义窗口
ACTI WINDOW gz && 激活窗口
BROW && 浏览
USE && 关闭表
ELSE && 否则
COPY FILE (zka(h,3)+'.dbf') TO (zka(h,6)+'.dbf')
&& 从科目库名复制文件
DEFI WINDOW gz FROM 8, 0 TO 18 ,100 ;
TITLE " 月合计: "+zka(h,2)+zka(h,6) +' 总页 ' ;
DOUB MINI FLOAT ZOOM CLOSE && 定义窗口
ACTI WINDOW gz && 激活窗口
USE &zka(h,6) && 打开月合计表
DELETE ALL && 全部做删除标记
PACK && 删除之
APPEND BLANK && 追加空记录
REPLACE 日期 WITH GOMONTH(the_end,-1) && 替换字段,下同
REPLACE 凭证号 WITH ' '
REPLACE 摘要 WITH '上年结转'
REPLACE 余额 WITH yes
BROW && 浏览
USE && 关闭表
ENDIF
ENDIF
ENDIF
DEAC WINDOW gz && 消隐窗口
ENDIF
@ 8,5 GET s DEFA 1 FUNC '*ht 继续;出口' SIZE 2,4,4 && 命令按钮
READ && 激活对象
CLEAR && 清窗口
IF s=2 && 如果选择了出口
EXIT && 跳出DO循环
ENDIF
ENDDO && 下一个DO循环
SET SAFETY ON && 打开安全提示窗口
CLEAR ALL && 释放变量、窗口,关闭表
RETURN && 主程序结束
PROC rk && 键控过程
IF READKEY()=270 && 如果按了Ctrl+End 结束程序
CLOSE ALL && 释放变量、窗口,关闭表
CANCEL && 停止当前程序的执行
ENDIF
RETURN && 返回调用程序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -