📄 +
字号:
SUM 累折借方 TO lzjf FOR 日期>=GOMONTH(BEGIN,-1) .AND. 日期<=GOMONTH(the_end,-1)
&& 累加和,下同
SUM 原值贷方 TO yzdf FOR 日期>=GOMONTH(BEGIN,-1) .AND. 日期<=GOMONTH(the_end,-1)
GOTO BOTTOM && 指针指向纪录末
STORE 累折余额 TO ljzjye && 记下累折余额
STORE 净值 TO jingzhi && 记下净值
STORE 原值借方 TO yuanjieje && 记下原值借方
DO CASE && 根据情况判断处理
CASE 净值<=gdzc(i,9) && 当净值小于等于残值
STORE 0 TO ljzjdf && 累折贷方变量赋0
CASE 净值-gdzc(i,9)>=gdzc(i,10) && 当净值减残值大于等于月折旧额
STORE gdzc(i,10) TO ljzjdf && 月折旧额赋给累折贷方变量
CASE 净值-gdzc(i,9)<gdzc(i,10) && 当净值减残值小于月折旧额
STORE 净值-gdzc(i,9) TO ljzjdf && 净值减残值赋给累折贷方变量
ENDCASE
APPEND BLANK && 追加空纪录
REPLACE 日期 WITH the_end,摘要 WITH ALLTRIM(STR(yf))+'月份折旧',;
累折贷方 WITH ljzjdf,;
累折余额 WITH ljzjye+累折贷方,;
净值 WITH jingzhi-累折贷方 && 替换字段,下同
if jingzhi # 0
REPLACE 原值贷方 WITH yzdf
endif
REPLACE 原值余额 WITH yyje_m
REPLACE z WITH 'z' && 已经折旧的标识
sumyjje=sumyjje+原值借方 && 累加和,下同
sumydje=sumydje+原值贷方
sumyyje=sumyyje+yyje_m
sumlzjf=sumlzjf+lzjf
sumljzj=sumljzj+累折贷方
sumlye=sumlye+累折余额
sumjz=sumjz+净值
? ALLTRIM(STR(i)),ALLTRIM(gdzc(i,1)),ALLTRIM(STR(yf))+'月折旧:',;
ALLTRIM(STR(yyje_m,10,2)) AT 45,ALLTRIM(STR(累折贷方,10,2)) AT 65,;
ALLTRIM(STR(累折余额,10,2)) AT 85,ALLTRIM(STR(净值,10,2)) AT 100 && 输出到打印机
BROW TITLE gdzc(i,1)+gdzc(i,2) TIMEOUT 0.01 && 瞬间浏览
OTHER
WAIT WINDOW gdzc(i,2)+gdzc(i,1)+'可能月份不适当 不予折旧'+CHR(16)+;
'请在浏览窗口中修改日期为'+DTOC(GOMONTH(the_end,-1)) && 显示固定资产明细信息
BROW TITLE ' 请在浏览窗口中修改日期为'+DTOC(GOMONTH(the_end,-1)) && 浏览,修改日期
IF 日期=GOMONTH(the_end,-1)
GOTO BOTTOM && 指针指向纪录末
STORE 累折余额 TO ljzjye && 记下累计折旧余额
STORE 净值 TO jingzhi && 记下净值
DO CASE && 根据情况判断处理
CASE 净值<=gdzc(i,9) && 当净值小于等于残值
STORE 0 TO ljzjdf && 累折贷方变量赋0
CASE 净值-gdzc(i,9)>=gdzc(i,10) && 当净值减残值大于等于月折旧额
STORE gdzc(i,10) TO ljzjdf && 月折旧额赋给累折贷方变量
CASE 净值-gdzc(i,9)<gdzc(i,10) && 当净值减残值小于月折旧额
STORE 净值-gdzc(i,9) TO ljzjdf && 净值减残值赋给累折贷方变量
ENDCASE
APPEND BLANK && 追加空纪录
REPLACE 日期 WITH the_end,摘要 WITH ALLTRIM(STR(yf))+'月份折旧',;
累折贷方 WITH ljzjdf,;
累折余额 WITH ljzjye+累折贷方,;
净值 WITH jingzhi-累折贷方 && 替换字段
REPLACE 原值余额 WITH yyje_m && 替换字段
REPLACE z WITH 'z' && 已经折旧的标识
sumyyje=sumyyje+yyje_m && 原值余额累加
sumljzj=sumljzj+累折贷方 && 累折贷方累加
sumlye=sumlye+累折余额 && 累折余额累加
sumjz=sumjz+净值 && 净值累加
? ALLTRIM(STR(i)),ALLTRIM(gdzc(i,1)),ALLTRIM(STR(yf))+'月折旧:',;
ALLTRIM(STR(yyje_m,10,2)) AT 45,ALLTRIM(STR(累折贷方,10,2)) AT 65,;
ALLTRIM(STR(累折余额,10,2)) AT 85,ALLTRIM(STR(净值,10,2)) AT 100 && 输出到打印机
BROW TITLE gdzc(i,1)+gdzc(i,2) TIMEOUT 0.01 && 瞬间浏览
ELSE
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
ENDIF
ENDCASE
NEXT && 下一个FOR循环
*************************** 以下处理固定资产月合计库 ***************************
USE yhj1501 && 打开固定资产月合计表
GOTO BOTTOM && 指针指向纪录末
IF 日期=GOMONTH(the_end,-1) && 上月折旧日期(这是正常情况)
STORE 累折余额 TO lzye_y && 记下累计折旧余额
APPEND BLANK && 追加空纪录
REPLACE 日期 WITH the_end,摘要 WITH ALLTRIM(STR(yf))+'月份折旧',;
原值借方 WITH sumyjje,原值贷方 WITH sumydje,原值余额 WITH sumyyje,;
累折借方 WITH sumlzjf,累折贷方 WITH sumljzj,;
累折余额 WITH lzye_y-累折借方+累折贷方,净值 WITH 原值余额-累折余额 && 替换字段
ELSE && 否则,重复打印累计折旧
IF RECC()>1 && 如果纪录个数大于1
GOTO RECC()-1 && 指针指向倒数第二个纪录
STORE 累折余额 TO lzye_y && 记下累计折旧余额
GOTO BOTTOM && 指针指向末纪录
REPLACE 日期 WITH the_end,摘要 WITH ALLTRIM(STR(yf))+'月份折旧',;
原值借方 WITH sumyjje,原值贷方 WITH sumydje,原值余额 WITH sumyyje,;
累折借方 WITH sumlzjf,累折贷方 WITH sumljzj,;
累折余额 WITH lzye_y-累折借方+累折贷方,净值 WITH 原值余额-累折余额 && 替换字段
ELSE && 否则,只有一个纪录(初建帐或过账)
STORE 累折余额 TO lzye_y && 记下累计折旧余额
REPLACE 日期 WITH the_end,摘要 WITH ALLTRIM(STR(yf))+'月份折旧',;
原值借方 WITH sumyjje,原值贷方 WITH sumydje,原值余额 WITH sumyyje,;
累折借方 WITH sumlzjf,累折贷方 WITH sumljzj,;
累折余额 WITH lzye_y,净值 WITH 原值余额-累折余额 && 替换字段
ENDIF
ENDIF
?
? '原值借方合计:'+ALLTRIM(STR(sumyjje,10,2)) && 打印输出,下同
? '原值贷方合计:'+ALLTRIM(STR(sumydje,10,2))
? '原值合计: '+ALLTRIM(STR(原值余额,10,2))
? '累计折旧借方合计:'+ALLTRIM(STR(sumlzjf,10,2))
? '累计折旧贷方合计: '+ALLTRIM(STR(sumljzj,10,2))
? '折旧余额合计: '+ALLTRIM(STR(累折余额,10,2))
? '净值合计: '+ALLTRIM(STR(净值,10,2))
?
?
??? ' '
BROW && 浏览固定资产月合计表
USE && 关闭表
ELSE && 否则
WAIT WINDOW '按季度折旧程序待开发' TIMEOUT 2
******** 著者所经几厂均按月折旧,故这段程序暂缺,抱歉 *********
ENDIF
SET DEVI TO SCRE && 将@ … say输出定向到屏幕
SET PRINT OFF && 不允许输出结果到打印机
CLEAR ALL && 释放变量、窗口,关闭表
CANCEL && 终止程序的执行
RETURN && 程序结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -