📄
字号:
*************************************************************
** 添加新明细.PRG **
*************************************************************
STORE ' ' TO mxj,mxj1 && 初始化数组,下同
STORE 0 TO a
STORE .T. TO tf && 初始化逻辑变量
DO WHILE tf=.T. && 循环
IF USED('mx')=.F. && 如果明细库名没有打开
SELECT 4 && 激活工作区
USE &zka(h,4) ALIAS mx && 打开明细库名
ELSE && 否则
SELECT mx && 选择明细工作区
ENDIF
STORE RECC() TO rec && 纪录个数
IF rec=1 && 如果明细库名表中只有一个记录‘创建和添加新明细’
IF zka(h,2)='固定资产' && 如果科目为固定资产
STORE 'mx'+ALLTRIM(STR(VAL(RIGHT(zka(h,3),7))+1,7,0)) TO xxmkm && 新细目库名
STORE 'mj'+ALLTRIM(STR(VAL(RIGHT(zka(h,3),7))+1,7,0)) TO xyhjk && 新月合计库名
CLEAR && 清窗口
STORE ' ' TO xxmmc && 初始化变量
@ 1,4 SAY '末页明细科目及库名:'+' '+ALLTRIM(明细名称)+' '+明细库名
@ 3,4 SAY '新明细帐页细目名称:' GET xxmmc DEFA ' ' SIZE 1,40
@ 4,4 SAY '新明细帐页细目库名:' GET xxmkm DEFA ' ' SIZE 1,12
READ && 激活编辑对象
INSERT BLANK BEFO && 在‘创建和添加新明细’之前插入空记录
REPLACE 明细名称 WITH xxmmc,明细库名 WITH xxmkm && 替换字段,下同
STORE xxmmc TO mxj1(rec) && 赋值,下同
STORE xxmkm TO mxj(rec,2)
BROW && 浏览
IF USED('mx') && 如果文件打开
SELECT mx && 激活该工作区
ELSE && 否则
SELECT 0 && 激活工作区
USE &zka(h,4) ALIAS mx && 打开名细库名文件
ENDIF
* 固定资产明细通项
DEFI WINDOW jg FROM 4,1 TO 16,100 TITLE '请输入固定资产明细通项数据 ';
+'警告:必须输入原值、使用年限和残值,否则将无法进行累计折旧!' ;
CLOSE ZOOM MINI FLOAT && 定义窗口
ACTI WINDOW jg && 激活窗口
CHANGE IN jg FIELDS 明细名称,编号,规格,型号,;
原值:v=原值>0:F:e='原值必须大于零',;
使用年限:v=使用年限>0:F:e='使用年限必须大于零',;
残值:v=cf():F,月折旧额:v=F():F && 编辑字段,F强制校验
a(rec)=1 && 相当于这个纪录被选中
DEAC WINDOW jg && 挂起窗口
ELSE && 否则 (非固定资产的其他科目的明细)
IF zka(h,2)='长期待摊费用'
DO CASE && 根据情况判断处理
CASE rec>1 && 当记录个数大于1
GOTO rec-1 && 指针指向末记录的前一个记录
STORE 明细库名 TO xmkm1 && 字段值赋给变量,下同
STORE 月合计库 TO yhjk1
CASE rec<=1 && 当记录个数小于等于
STORE 'mx'+RIGHT(zka(h,3),7) TO xmkm1 && 把科目库名km转换为明细表名mx
STORE 'mj'+RIGHT(zka(h,3),7) TO yhjk1 && km变mj
ENDCASE
STORE LEFT(xmkm1,2)+ALLTRIM(STR(VAL(RIGHT(xmkm1,7))+1,7,0)) TO xxmkm
&& 明细表名顺序号加1,成为新明细表名
STORE LEFT(yhjk1,2)+ALLTRIM(STR(VAL(RIGHT(yhjk1,7))+1,7,0)) TO xyhjk
&& 月合计表名顺序号加1,成为新月合计表名
DEFI WINDOW xmx FROM 4,20 TO 15,90 TITLE ' 新明细添加 ' DOUBLE CLOSE
ACTI WINDOW xmx && 定义并激活窗口
CLEAR && 清窗口
STORE ' ' TO xxmmc && 初始化变量
@ 1,4 SAY '末页明细科目及库名:'+' '+ALLTRIM(明细名称)+' '+明细库名
@ 3,4 SAY '新明细帐页细目名称:' GET xxmmc DEFA ' ' SIZE 1,40
@ 4,4 SAY '新明细帐页细目库名:' GET xxmkm DEFA ' ' SIZE 1,12 DISA
READ && 激活对象
INSERT BLANK && 插入空记录
REPLACE 明细名称 WITH xxmmc,明细库名 WITH xxmkm,月合计库 WITH xyhjk && 替换字段
STORE xxmmc TO mxj1(rec) && 给数组变量赋值,下同
STORE xxmkm TO mxj(rec,2)
DEFI WINDOW jg FROM 4,1 TO 16,100 TITLE ;
'请输入长期待摊费用明细通项数据 警告:必须输入原值,'+;
'否则将无法进行累计折旧!' CLOSE ZOOM MINI FLOAT && 定义窗口
ACTI WINDOW jg && 激活窗口
BROW && 浏览
USE &xmkm1 && 打开名细表名
COPY STRU TO &xxmkm && 赋值表结构,下同
COPY STRU TO &xyhjk
USE &xxmkm && 打开新名细表
APPEND BLANK && 追加空记录
REPLACE 日期 WITH GOMONTH(the_end,-1) && 用上月记帐末日替换字段
REPLACE 摘要 WITH '新建明细' && 替换字段
USE &xyhjk && 打开月合计表
APPEND BLANK && 追加空记录
REPLACE 日期 WITH GOMONTH(the_end,-1) && 用上月记帐末日替换字段
REPLACE 摘要 WITH '新建明细' && 替换字段
USE && 关闭表
a(rec)=1 && 相当于这个纪录被选中
DEAC WINDOW jg
ELSE && 否则 (非固定资产和长期待摊费用的其他科目的明细)
STORE 'mx'+ALLTRIM(STR(VAL(RIGHT(zka(h,3),7))+1,7,0)) TO xxmkm && 新细目表名
STORE 'mj'+ALLTRIM(STR(VAL(RIGHT(zka(h,3),7))+1,7,0)) TO xyhjk && 新月合计表名
CLEAR && 清窗口
STORE ' ' TO xxmmc && 初始化变量
@ 1,4 SAY '末页明细科目及库名:'+' '+ALLTRIM(明细名称)+' '+明细库名
@ 3,4 SAY '新明细帐页细目名称:' GET xxmmc DEFA ' ' SIZE 1,40
@ 4,4 SAY '新明细帐页细目库名:' GET xxmkm DEFA ' ' SIZE 1,12 DISA
READ && 记过对象,编辑变量
INSERT BLANK BEFO && 在‘创建和添加新明细’之前插入空记录
REPLACE 明细名称 WITH xxmmc,明细库名 WITH xxmkm,月合计库 WITH xyhjk && 替换字段
a(rec)=1 && 相当于这个纪录被选中
STORE xxmmc TO mxj1(rec) && 赋值,下同
STORE xxmkm TO mxj(rec,2)
BROW && 浏览
SELECT &zka(h,3) && 选择科目库名工作区
COPY STRU TO &xxmkm && 复制新细目表名表结构
USE &xxmkm && 打开新细目表
APPEND BLANK && 追加空记录
REPLACE 日期 WITH GOMONTH(the_end,-1) && 用上月记帐末日替换字段,下同
REPLACE 摘要 WITH '结转'
COPY STRU TO &xyhjk && 复制新月合计表结构
USE &xyhjk && 打开新月合计表
APPEND BLANK && 追加空记录
REPLACE 日期 WITH GOMONTH(the_end,-1) && 用上月记帐末日替换字段,下同
REPLACE 摘要 WITH '结转'
USE && 关闭表
ENDIF
ENDIF
STORE .F. TO tf && 初始化逻辑变量
CLEAR && 清窗口
@ 2,20 SAY '继续添加新明细吗? ' && 显示文本
@ 5,15 GET t1 DEFA 1 FUNC '*ht 添加 ; 取消' SIZE 2,4,30 && 命令按钮
READ && 激活对象
CLEAR && 清窗口
IF t1=1 && 如果选择了添加
tf=.T. && 赋值
rec=rec+1 && 记录个数加一
SELECT mx && 激活工作区
ELSE && 否则
DEAC WINDOW xmx && 挂起窗口
EXIT && 跳出DO循环
ENDIF
ELSE && 否则(说明明细库名表中已有多个记录)
DO CASE
CASE zka(h,2)='固定资产' && 如果科目为固定资产
GOTO rec-1 && 移动记录指针
STORE 明细库名 TO xmkm1 && 记下明细表名
STORE LEFT(明细库名,2)+ALLTRIM(STR(VAL(RIGHT(明细库名,7))+1,7,0)) TO xxmkm
&& 新细目表明
DEFI WINDOW xmx FROM 4,20 TO 15,90 TITLE ' 新明细添加 ' DOUBLE CLOSE
ACTI WINDOW xmx && 定义并激活窗口
CLEAR && 清窗口
STORE ' ' TO xxmmc && 出事换变量
@ 1,4 SAY '末页明细科目及库名:'+' '+ALLTRIM(明细名称)+' '+明细库名
@ 3,4 SAY '新明细帐页细目名称:' GET xxmmc DEFA ' ' SIZE 1,40
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -