📄
字号:
*************************************************************
***** 期初余额的录入.prg *****
*************************************************************
SET TALK OFF && 阻止对话结果传送到窗口
SET CENTURY ON && 指定用四位数表示年
SET DATE ANSI && 日期格式yy.mm.ddSET DATE ANSI
CLOSE DATA && 关闭数据库和表
SET SAFETY OFF && 关闭安全提示窗口
PUBLIC BEGIN,the_end && 定维日期变量
DO FORM 表单2 NAME 时间表 LINK && 运行表单
READ EVENTS && 激活事件
DEFINE WINDOW test3 FROM 2,0 TO 26, 100 TITLE " 期初余额的录入 " CLOSE && 定义窗口
ACTIVATE WINDOW test3 && 激活窗口
@ 1,40 SAY '警告!' COLOR RGB(255,0,0) font '宋体',20
@ 5,1 SAY ' 期初余额的录入必须在建账之后、运行记账主程序之前。' ;
COLOR RGB(0,128,0) font '宋体',16 && 警告信息,前景红色
@ 7,0 SAY '如果已经运行过记账主程序,就不允许再运行期初余额的录入' ;
COLOR RGB(0,128,0) font '宋体',16 && 警告信息,前景红色
STORE 1 TO s && 初始化变量
@ 11,30 GET s DEFA 1 FUNC '*th 退 出;运行期初余额的录入' SIZE 2,8,8 && 命令按钮
READ && 激活对象
DO rk && 键控过程,Ctrl_End结束程序
IF s=1 && 如果选择了退出
CLEAR ALL && 释放内存变量、窗口,关闭表
CANCEL && 结束程序的执行
ENDIF
CLEAR && 请屏幕
@ 3,20 SAY '是否逐项进行期初余额的录入?' COLOR RGB(0,128,0) font '宋体',16 && 提示信息
STORE 1 TO h && 初始化变量
@ 7,30 GET h FUNC '*ht 逐项;单项;取消' SIZE 2,6,6 DEFA 1 && 命令按钮
READ && 激活对象
USE zk85 && 打开表‘zk85’(总控67,内含67个科目)
STORE RECC() TO n85 && 记下纪录个数
COPY TO ARRAY zza && 复制到数组
USE && 关闭表
DO CASE && 根据情况判断处理
CASE h=1 && 如果选择了逐项
STORE 1 TO ks && 记下循环开始的数
STORE zkn TO e && 记下循环结束的数
CASE h=2 && 如果选择了单项
DIME m(n85) && 定维数组
FOR i=1 TO n85 && 循环
m(i)=zza(i,1)+' '+zza(i,2) && 给数组赋值,编号和科目名称
NEXT && 下一个FOR循环
DEFI WINDOW lst FROM 1,51 TO 20,79 TITLE '单项月合计科目选择' && 定义列表窗口
ACTI WINDOW lst && 激活窗口
STORE 1 TO shuliang && 初始化变量
@ 0,0 GET shuliang FROM m FUNC '&t' DEFA 1 && List列表
READ CYCLE && 激活对象,选择科目
DEAC WINDOW lst && 消隐列表窗口
STORE shuliang TO ks,e && 选择了第几个科目赋给循环开始、结束的数,两数相同只循环一次
CASE h=3 && 如果选择了取消
CLEAR ALL && 释放变量、窗口、关闭表
CANCEL && 结束程序
ENDCASE
DEACTI WINDOW yhj && 消隐窗口
CLEAR && 清窗口
DIME a(200),b(62),mx(300,12) && 定维数组
STORE 0 TO a && 初始化数组
STORE ' ' TO b && 初始化数组
FOR i= ks TO e && 循环
? zza(i,2) && 输出信息,观察进度
IF i=32.OR.i=42 && 如果是固定资产 长期待摊费用
DEACTIVATE WIND test3
DO 固定资产和长期待摊费用 && 执行过程
LOOP && 将控制权直接返给FOR语句
ENDIF
IF zza(i,5)='选用科目' && 如果选用与否时选用科目
USE &zza(i,3) && 打开科目表
IF RECC()=0 && 如果文件为空
APPEND BLANK && 追加空纪录
ELSE && 否则
DELETE FOR RECNO()<RECC() && 做删除标记
PACK && 永久删除做了删除标记的纪录
ENDIF
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 凭证号 WITH ' '
REPLACE 摘要 WITH '期初余额录入'
IF 借方#0 && 如果有试验数据
REPLACE 借方 WITH 0.00
ENDIF
IF 贷方#0 && 如果有试验数据
REPLACE 贷方 WITH 0.00
ENDIF
DEFINE WINDOW test3 FROM 2, 1 TO 26, 98 TITLE zza(i,2)+" 录入期初余额 ";
ZOOM MINIMIZE FLOAT GROW CLOSE && 定义窗口
ACTIVATE WINDOW test3 && 激活窗口
BROW FIELD 日期,摘要,余额 && 浏览,录入期初余额
******************* 处理月合计 ****************
USE &zza(i,6) && 打开科目月合计表
ZAP
APPEND FROM &ZZA(I,3)
DEFINE WINDOW test3 FROM 2, 1 TO 26, 98 TITLE zza(i,2)+" 月合计期初余额 ";
ZOOM MINIMIZE FLOAT GROW CLOSE && 定义窗口
ACTIVATE WINDOW test3 && 激活窗口
BROW FIELD 日期,摘要,余额 && 浏览
ENDIF
IF zza(i,5)='选用明细'
********************** 处理明细 *******************
USE zza(i,4) && 打开明细联系表
COPY TO ARRAY mx && 复制到数组
STORE RECC() TO N && 记下纪录个数
STORE 0.00 TO MXYEHJ && 初始化余额合计变量
FOR k=1 TO N-1 && 循环,末纪录总是‘创建或增添新明细’,不计
USE &mx(k,2) && 打开明细表
IF RECC()=0 && 如果文件为空
APPEND BLANK && 追加空纪录
ELSE && 否则
DELETE FOR RECNO()<RECC() && 做删除标记
PACK && 永久删除做了删除标记的纪录
ENDIF
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 凭证号 WITH ' '
REPLACE 摘要 WITH '期初余额录入'
IF 借方#0 && 如果有试验数据
REPLACE 借方 WITH 0.00
ENDIF
IF 贷方#0 && 如果有试验数据
REPLACE 贷方 WITH 0.00
ENDIF
IF 借方#0
REPLACE 借方 WITH 0.00
ENDIF
DEFINE WINDOW test3 FROM 2, 1 TO 26, 98 TITLE zza(i,2)+mx(k,1)+" 录入期初余额 ";
ZOOM MINIMIZE FLOAT GROW CLOSE && 定义窗口
ACTIVATE WINDOW test3 && 激活窗口
BROW FIELD 日期,摘要,余额 && 浏览,录入期初余额
******************* 处理明细月合计 ******************
USE &mx(k,3) && 打开明细月合计表
ZAP && 清除表
APPEND FROM &mx(k,2) && 把明细表的内容追加到月合计表中
DEFINE WINDOW test3 FROM 2, 1 TO 26, 98 TITLE zza(i,2)+mx(k,1)+" 月合计期初余额 ";
ZOOM MINIMIZE FLOAT GROW CLOSE && 定义窗口
ACTIVATE WINDOW test3 && 激活窗口
BROW FIELD 日期,摘要,余额 && 浏览,录入期初余额
MXYEHJ=MXYEHJ+余额
NEXT && 下一个FOR循环
******************* 处理总账 ****************
USE &zza(i,3) && 打开科目表
IF RECC()=0 && 如果文件为空
APPEND BLANK && 追加空纪录
ELSE && 否则
DELETE FOR RECNO()<RECC() && 做删除标记
PACK && 永久删除做了删除标记的纪录
ENDIF
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 凭证号 WITH ' '
REPLACE 摘要 WITH '期初余额录入'
IF 借方#0 && 如果有试验数据
REPLACE 借方 WITH 0.00
ENDIF
IF 贷方#0 && 如果有试验数据
REPLACE 贷方 WITH 0.00
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -