📄
字号:
REPLACE 余额 WITH yu_e && +jhj-dhj
ELSE && 否则
? mx(jf,1),mx(jf,2),mx(jf,3)
*wait
WAIT WINDOW '月份不符' && 提示信息
BROW TITLE mx(jf,1)+'合计' && 浏览,观察问题之所在
ENDIF
ELSE && 否则,日期是上月末期,这是正常情况
APPEND BLANK && 追加空纪录
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
REPLACE 借方 WITH jhj
REPLACE 贷方 WITH dhj
REPLACE 余额 WITH yu_e &&+jhj-dhj
ENDIF
NEXT && 下一个FOR循环
********* 长期待摊费用月合计总帐 ****************
USE &zza(i,6) && 打开长期待摊费用科目月合计总表
GOTO BOTTOM && 指针指向末纪录
STORE 余额 TO yu_e && 记下余额
IF 日期<>syhjrq && 如果日期不是上月末期
IF 日期=the_end && 如果是本月记账末期,说明做过月合计
GOTO RECC()-1 && 指针指向末之前一个纪录
STORE 余额 TO yu_e && 记下余额
GOTO BOTT && 指针指向末纪录
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
REPLACE 借方 WITH jhjz
REPLACE 贷方 WITH dhjz
REPLACE 余额 WITH yu_e+jhjz-dhjz
BROWSE NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;
TITLE zza(i,2)+' '+zza(i,6)+'月合计 ' && TIMEOUT 1 && 浏览
USE && 关闭表
ELSE && 否则
WAIT WINDOW '月份不符' && 提示信息
BROW TITLE zza(i,2)+zza(i,6)+'合计' && 浏览,观察问题之所在
ENDIF
ELSE && 否则,日期是上月末期,这是正常情况
APPEND BLANK && 追加空纪录
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
REPLACE 借方 WITH jhjz
REPLACE 贷方 WITH dhjz
REPLACE 余额 WITH yu_e+jhjz-dhjz
BROWSE NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;
TITLE zza(i,2)+' '+zza(i,6)+'月合计 ' && TIMEOUT 1 && 浏览
USE && 关闭表
ENDIF
CASE ALLTRIM(zza(i,2))='固定资产' && 如果‘会计科目名’为固定资产
USE mx1501 && 打开固定资产明细联系表
STORE RECC() TO N && 记下纪录个数
DIME mx(N,3) && 定维数组,只取3列
COPY TO ARRAY mx && 复制到数组
STORE 0.00 TO yjjez,ydjez,yyjez,ljjez,ldjez,lyez,jzz && 初始化变量
FOR jf=1 TO N-1 && 循环,末纪录总是‘创建或增添新名细’,不计
USE &mx(jf,2) && 打开单项明细表
SUM 原值借方,原值贷方,累折借方,累折贷方 FOR 日期>=BEGIN.AND.日期<=the_end ;
TO yjje1,ydje1,ljje1,ldje1 && 求时间范围内的累加和
yjjez=yjjez+yjje1 && 原值借方金额累加
ydjez=ydjez+ydje1 && 原值贷方金额累加
ljjez=ljjez+ljje1 && 累折借方金额累加
ldjez=ldjez+ldje1 && 累折贷方金额累加
GOTO BOTTOM && 指针指向末纪录
lyez=lyez+累折余额 && 累折余额累加
jzz=jzz+净值 && 净值累加
yyjez=yyjez+原值余额 && 原值余额累加
NEXT && 下一个FOR循环
****************** 处理月合计库 ************
USE yhj1501 && 打开固定资产月合计表
STORE RECC() TO nr && 记下纪录个数
GOTO BOTTOM && 指针指向末纪录
IF 日期=the_end && 如果是本月记账末期,说明做过月合计
IF nr>1 && 如果纪录个数大于1
SKIP -1 && 指针移动-1
STORE 累折余额 TO lzye_y && 记下累折余额
GOTO BOTTOM && 指针指向末纪录
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
REPLACE 原值借方 WITH yjjez
REPLACE 原值贷方 WITH ydjez
REPLACE 累折借方 WITH ljjez
REPLACE 累折贷方 WITH ldjez
REPLACE 原值余额 WITH yyjez
REPLACE 累折余额 WITH lzye_y-累折借方+累折贷方
REPLACE 净值 WITH 原值余额- 累折余额
ELSE && 否则
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
REPLACE 原值借方 WITH yjjez
REPLACE 原值贷方 WITH ydjez
REPLACE 累折借方 WITH ljjez
REPLACE 累折贷方 WITH ldjez
REPLACE 原值余额 WITH yyjez
REPLACE 净值 WITH 原值余额- 累折余额
ENDIF
ENDIF
IF 日期=GOMONTH(the_end,-1) && 日期是上月末期,这是正常情况
STORE 累折余额 TO lzye_y && 记下累折余额
APPEND BLANK && 追加空纪录
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
REPLACE 原值借方 WITH yjjez
REPLACE 原值贷方 WITH ydjez
REPLACE 累折借方 WITH ljjez
REPLACE 累折贷方 WITH ldjez
REPLACE 原值余额 WITH yyjez
REPLACE 累折余额 WITH lzye_y-累折借方+累折贷方
REPLACE 净值 WITH 原值余额- 累折余额
ENDIF
BROW && TIMEOUT 1 && 浏览
USE && 关闭表
OTHERWISE && 其他
IF zza(i,5)='选用科目' && 如果选用与否为选用科目
USE &zza(i,3) && 打开科目表
SET FILTER TO 日期>=BEGIN.AND.日期<=the_end && 按日期范围过滤明细表
GOTO BOTTOM && 指针指向末纪录
STORE 余额 TO yu_e && 记下余额
? yu_e
* wait
SET SAFETY OFF && 关闭安全提示窗口
COPY TO TEMP1 && 复制到临时文件TEMP1
USE && 关闭表
ALTER TABLE TEMP1 ADD COLUMN X C(1) && 增加一列,为了统计,SQL语句
CLOSE DATA && 关闭当前数据库和表
USE TEMP1 && 打开表
TOTAL ON X TO TEMP2 && 计算数值字段的总和,增加之列用在此
USE TEMP2 && 打开表
* brow
DIMENSION ATEMP2(1,FCOUNT()) && 定维数组
store 0 to ATEMP2
COPY TO ARRAY ATEMP2 && 复制到数组
**************** 处理月合计表 ********************
USE zza(i,6) && 打开月合计表
GOTO BOTTOM && 指针指向末纪录
IF 日期=GOMONTH(the_end,-1) && 日期是上月末期,这是正常情况
APPEND BLANK && 追加空纪录
FOR j=1 TO FCOUNT() && 循环,终值为字段个数
IF TYPE(FIELD(j))='N'.AND.ATEMP2(1,j)#0 && 如果字段类型为数值且不等于0
REPLACE (FIELD(j)) WITH ATEMP2(1,j) && 替换字段
&& FIELD(j)是字段名,(FIELD(j))是名表达式
ENDIF
NEXT && 下一个循环
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
REPLACE 凭证号 WITH ' '
IF zza(i,7)='借' && 如果余额方向为借
REPLACE 余额 WITH yu_e &&+借方-贷方
ELSE
REPLACE 余额 WITH yu_e &&-借方+贷方
ENDIF
FOR j=1 TO FCOUNT() && 循环,终值为字段个数
IF FIELD(j)='借或贷' && 如果'借或贷'字段存在
IF zza(i,7)='借' && 如果余额方向为借
REPLACE 借或贷 WITH '借' && 替换字段用借
ELSE && 否则
REPLACE 借或贷 WITH '贷' && 替换字段用贷
ENDIF
ENDIF
NEXT && 下一个FOR循环
BROWSE NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;
TITLE zza(i,2)+' '+zza(i,6)+'月合计 ' && TIMEOUT 1 && 浏览
USE && 关闭表
ELSE
IF 日期=the_end && 如果是本月记账末期,说明做过月合计
GOTO BOTTOM
FOR j=1 TO FCOUNT() && 循环,终值为字段个数
? j,'栏目',TYPE(FIELD(j)),ATEMP2(1,j)
IF TYPE(FIELD(j))='N'.AND.ATEMP2(1,j)#0 && 如果字段类型为数值且不等于0
REPLACE (FIELD(j)) WITH ATEMP2(1,j) && 替换字段
&& FIELD(j)是字段名,(FIELD(j))是名表达式
ENDIF
NEXT && 下一个FOR循环
REPLACE 日期 WITH the_end && 替换字段,下同
REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
REPLACE 凭证号 WITH ' '
IF zza(i,7)='借' && 如果余额方向为借
REPLACE 余额 WITH yu_e &&+借方-贷方
ELSE
REPLACE 余额 WITH yu_e &&-借方+贷方
ENDIF
FOR j=1 TO FCOUNT() && 循环,终值为字段个数
IF FIELD(j)='借或贷' && 如果'借或贷'字段存在
IF zza(i,7)='借' && 如果余额方向为借
REPLACE 借或贷 WITH '借' && 替换字段用借
ELSE && 否则
REPLACE 借或贷 WITH '贷' && 替换字段用贷
ENDIF
ENDIF
NEXT && 下一个FOR循环
BROWSE NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -