📄 +
字号:
*************************************************************
** 科目创建与增删.PRG **
*************************************************************
SET TALK OFF && 对话结果不显示在窗口
SET DATE ANSI && 设置日期格式YY.MM.DD
SET CENTURY ON && 设置世纪格式YYYY
CLEAR ALL && 释放变量、窗口、关闭表
PUBLIC mxj(300,2),mxj1(300),ax(300),a(300) && 定维公共数组
PUBLIC BEGIN,the_end && 定义公共变量
STORE { . . } TO BEGIN,the_end && 初始化公共变量
DO FORM 表单2 NAME 记账开始结束时间 LINK && 执行表单
READ EVENTS && 激活事件
SELECT 1 && 激活工作区
USE 科目总控!zk85 ALIAS zk85 && 打开科目总控数据库中的表zk85
COPY TO ARRAY zka && 复制到总控数组
DEFINE WINDOW kmcj FROM 0,10 TO 25,96 TITLE '科目与明细创建' CLOSE FLOAT GROW;
SHADOW DOUBLE MINIMIZE ZOOM COLOR RGB(255,0,0,255,255,255) && 定义窗口,前景红色
ACTI WINDOW kmcj && 激活窗口
@ 1,12 SAY ' 企业会计制度规定共有85个科目,建立科目和明细是会计电算化的起点.'
@ 2,10 SAY '用户可以根据自己的实际情况,选择<使用科目><使用明细>或者<暂不使用>,'
@ 3,12 SAY ' 有些科目暂时不用,就可以选择<暂不使用>,程序在使用的过程中会对其封闭,'
@ 4,10 SAY '以减少出错.当需要增加科目或明细时,随时可以增选.' && 显示文本,上同
DEFINE WINDOW xzkm IN kmcj FROM 7,50 TO 20,80 TITLE '选择科目使用方式' ;
CLOSE FLOAT GROW SHADOW ZOOM MINIMIZE && 定义窗口
ACTI WINDOW xzkm && 激活窗口
DEFINE WINDOW xskm IN kmcj FROM 7,6 TO 20,45 TITLE '科目列表' ;
CLOSE FLOAT GROW SHADOW ZOOM DOUB MINIMIZE && 定义窗口
DIME km(85) && 定维数组
FOR i=1 TO 85 && 循环
km(i)=zka(i,1)+' '+zka(i,2)+zka(i,5) && 编号 科目名 选用与否
NEXT && 下一个循环
STORE 1 TO h && 初始化变量
STORE .T. TO kg && 初始化逻辑变量
DO WHILE kg && 循环
ACTI WINDOW xskm && 激活窗口
@ 0,1 GET h DEFA 1 FROM km FUNC '&t ' SIZE 10,36 && List列表
READ && 激活对象
DO rk && 键控过程,按Ctrl+End结束程序
CLEAR && 清窗口
ACTI WINDOW xzkm && 激活选择窗口
CLEAR && 清窗口
@ 1,2 SAY zka(h,1)+' '+zka(h,2) && 显示文本:编号 科目
SELECT zk85 && 激活工作区
GOTO h && 移动指针
@ 3,6 GET xy FUNC '*Rvt 选用科目;选用明细;暂不使用' DEFA zka(h,5) && 选项按钮
READ && 激活对象
DO rk && 键控过程,按Ctrl+End结束程序
zka(h,5)=xy && 赋值
REPLACE 选用与否 WITH xy && 替换字段
* brow && 浏览
FOR i=1 TO 85 && 循环
km(i)=zka(i,1)+' '+zka(i,2)+zka(i,5) && 更新数组的值
NEXT && 下一个循环
IF zka(h,5)='选用科目' && 如果选用与否为选用科目
USE &zka(h,3) && 打开科目表名
MODIFY STRUCTURE && 修改表结构,假如需要修改的话
DEFI WINDOW gz FROM 8, 0 TO 18 ,100 TITLE '建帐' DOUB MINI FLOAT ZOOM CLOSE
ACTI WINDOW gz && 定义并激活窗口
@ 2,30 SAY '立即输入期初数据(建帐)吗?' && 显示文本
@ 4,20 GET gz DEFA 1 FUNC '*ht 取消;确认' SIZE 2,5,40 && 命令按钮
READ && 激活对象
IF gz=2 && 如果选择了确认
IF RECC()=0 && 如果没有纪录
APPEND BLANK && 追加空纪录
REPLACE 摘要 WITH '建帐' && 替换字段
ELSE && 否则
DELETE FOR RECNO()<RECC() && 做删除标记,留下末纪录
PACK && 彻底删除
REPLACE 摘要 WITH '结转' && 替换字段
ENDIF
REPLACE 日期 WITH GOMONT(the_end,-1) && 替换字段,下同
REPLACE 凭证号 WITH ' '
DEFI WINDOW gz FROM 16, 0 TO 26 ,100 ;
TITLE '过帐科目:'+zka(h,2) +'库名:'+zka(h,3) +' 请添写数据 ';
DOUB MINI FLOAT ZOOM CLOSE && 定义窗口
ACTI WINDOW gz && 激活窗口
BROW && 浏览,填写或修改余额
COPY TO ARRAY gza && 复制到数组
USE && 关闭表
IF FILE(zka(h,6)+'.dbf') && 如果月合计表存在
USE zka(h,6) && 打开表
DELETE FOR RECNO()=<RECC() && 做删除标记,不留纪录
PACK && 彻底删除
APPEND FROM ARRAY gza && 从数组追加
DEFI WINDOW gz FROM 16, 0 TO 26 ,100 TITLE ;
" 月合计 总页 : "+zka(h,2)+'库名:'+zka(h,6) ;
DOUB MINI FLOAT ZOOM CLOSE && 定义窗口
ACTI WINDOW gz && 激活窗口
BROW && 浏览,填写或修改余额
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) && 打开月合计表
BROW && 浏览,填写或修改余额
ENDIF
ENDIF
DEAC WINDOW gz && 挂起窗口
ENDIF
IF zka(h,5)='选用明细' && 如果选用与否为选用明细
SELECT 0 && 激活工作区
USE &zka(h,3) && 打开表,科目表名
MODIFY STRUCTURE && 修改表结构,假如需要修改的话
DEFI WINDOW xmx FROM 4,20 TO 15,90 TITLE ' 新明细创建与添加 ' DOUBLE CLOSE
ACTI WINDOW xmx && 定义并激活窗口
@ 2,20 SAY '立即创建和添加明细吗?' && 显示文本
@ 5,15 GET T DEFA 1 FUNC '*ht 添加 ; 取消' SIZE 2,4,30 && 命令按钮
READ && 激活对象
CLEAR && 清窗口
IF T=1 && 如果选择了添加
DO 添加新明细 && 运行添加新明细子程序,参见第五节
ELSE && 否则
USE && 关闭表
DEAC WINDOW xmx && 挂起窗口
ENDIF
DEFI WINDOW gz FROM 16, 0 TO 26 ,113 TITLE '过帐' DOUB MINI FLOAT ZOOM CLOSE
ACTI WINDOW gz && 定义并激活窗口
@ 1,30 SAY '立即输入期初数据(过帐)吗?' && 显示文本
@ 3,20 GET gz DEFA 1 FUNC '*ht 取消;确认' SIZE 2,8,38 && 命令按钮
READ && 激活对象
IF gz=2 && 如果选择了确认
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -