⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcl8zja.prg

📁 使用VFP编写的信用社系统专用会计报表系统,可上报,汇总,打印.是一款优秀的信用社会计报表系统
💻 PRG
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
*  文件名: BCL8ZJA.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


 BTZ = .F.
 NYF = VAL(YUE)
 CFILE1 = 'dat\h01' - RIGHT(NIAN,2) - '.dat'
 CFILE2 = 'tmp\h01tmp.dat'
 IF FILE(CFILE1)
 ELSE 
  MESSAGEBOX('无汇总表数据,请检查!',304,'出错提示信息')
 RETURN 
 ENDIF 
 USE (CFILE1)
 FOR S = 1 TO NYF
 LOCATE FOR DQDH = S AND XMDH = '1000'
 IF FOUND() = .F.
 NANSWER = 0
 NANSWER =  ;
      MESSAGEBOX(STR(S) - '月份无汇总表数据,是否继续生成平均余额!',308,'提示信息')
 IF NANSWER = 6
 EXIT 
 ELSE 
 CLOSE ALL
 RETURN 
 ENDIF 
 ELSE 
 IF DA5 = 0
 NANSWER = 0
 NANSWER =  ;
      MESSAGEBOX(STR(S) - '月份无汇总表数据,是否继续生成平均余额!',308,'提示信息')
 IF NANSWER = 6
 EXIT 
 ELSE 
  MESSAGEBOX(STR(S) - '月份无汇总表数据,请先做汇总!',304,'警告提示信息')
 CLOSE ALL
 RETURN 
 ENDIF 
 ELSE 
 ENDIF 
 ENDIF 
 ENDFOR 
 DELETE ALL FOR BLX1 = '3'
 DELETE ALL FOR  ;
      XMDH = '9' .OR. XMDH = '101 ' .OR. XMDH = '102 ' .OR. XMDH = '103 ' .OR. XMDH = '104 ' .OR.  ;
XMDH = '105 ' .OR. XMDH = '106 ' .OR. XMDH = '107 '
 DELETE ALL FOR  ;
      XMDH = '108 ' .OR. XMDH = '109 ' .OR. XMDH = '110 ' .OR. XMDH = '201 ' .OR.  ;
XMDH = '202 ' .OR. XMDH = '203 ' .OR. XMDH = '204 ' .OR. XMDH = '205 '
 DELETE ALL FOR  ;
      XMDH = '206 ' .OR. XMDH = '207 ' .OR. XMDH = '208 ' .OR. XMDH = '209 ' .OR.  ;
XMDH = '210 ' .OR. XMDH = '211 ' .OR. XMDH = '212 ' .OR. XMDH = '213 ' .OR.  ;
XMDH = '214 '
 PACK 
 USE 
 SET TALK OFF
 SET CONSOLE OFF
 SET EXACT ON
 SET SAFETY OFF
 WAIT WINDOW AT 15 , 35 NOCLEAR NOWAIT '正在生成平均余额表,请稍候......'
 IF FILE(CFILE2)
 DELETE File (CFILE2)
 ELSE 
 ENDIF 
 COPY File (CFILE1) TO (CFILE2)
 USE IN 88 EXCLUSIVE (CFILE2)
 SELECT 88
 DELETE ALL FOR BLX1 <> '1'
 PACK 
 USE 
 H01 = 'h01' - NIAN
 SELECT DQDH , BLX1 , BLX2 , XMDH , SJDW , SUM(DA5) , SUM(DA6) WHERE BETWEEN(DQDH,1,NYF)  ;
      GROUP BY XMDH INTO TABLE tmp\h09temp.dbf FROM (CFILE2)  H01
 CLOSE ALL
 USE tmp\h09temp.dbf
 GO TOP
 DO WHILE  .NOT. EOF()
 IF SUM_DA5 <> 0
 DNSJ = SUM_DA5
 REPLACE SUM_DA5 WITH ROUND(DNSJ / NYF,0)
 ELSE 
 ENDIF 
 IF SUM_DA6 <> 0
 DNSJ = SUM_DA6
 REPLACE SUM_DA6 WITH ROUND(DNSJ / NYF,0)
 ELSE 
 ENDIF 
 IF  .NOT. EOF()
 SKIP 
 ELSE 
 EXIT 
 ENDIF 
 ENDDO 
 USE 
 CNIAN = RIGHT(NIAN,2)
  if file("dat\h09&cnian..dat")
 ELSE 
 USE lib\b0900.dat
  copy stru to ("dat\h09&cnian..dat")
 ENDIF 
  if file("dat\b09&cnian&yue..dat")
 ELSE 
 USE lib\b0900.dat
  copy stru to ("dat\b09&cnian&yue..dat")
 ENDIF 
 USE IN 77 EXCLUSIVE tmp\h09temp.dbf
 SELECT 77
 COPY TO tmp\h09temp2.dbf STRUCTURE 
 USE IN 66 EXCLUSIVE tmp\h09temp2.dbf ORDER dqdh
 SELECT 66
 APPEND BLANK
 GO BOTTOM
 REPLACE DQDH WITH NYF , XMDH WITH 'dpbz' , BLX1 WITH '1' , BLX2 WITH '0' , SJDW WITH 0 ,  ;
      SUM_DA5 WITH 0
 APPEND FROM lib\xm09.dat
 SELECT 77
 COUNT TO S
 FOR I = 1 TO S
 GO TOP
 SELECT 77
 XMDH_1 = XMDH
 SJDW_1 = SJDW
 SUM_5 = SUM_DA5
 SUM_6 = SUM_DA6
 SKIP 
 SELECT 66
 SCAN FOR XMDH = XMDH_1
 REPLACE DQDH WITH NYF , BLX1 WITH '1' , BLX2 WITH '0' , SJDW WITH 5 , SUM_DA5 WITH  ;
      ROUND(SUM_5 * 0.01,0) , SUM_DA6 WITH ROUND(SUM_6 * 0.01,0)
 ENDSCAN 
 ENDFOR 
 SELECT 77
 USE 
 SELECT 66
 COUNT TO S
 DIMENSION MYARRAY( S , 7 )
 COPY TO ARRAY MYARRAY( S , 7 ) FIELDS DQDH , XMDH , BLX1 , BLX2 , SJDW , SUM_DA5 ,  ;
      SUM_DA6
  use ("dat\h09&cnian..dat") in 88 excl
 SELECT 88
 DELETE ALL
 PACK 
 APPEND FROM ARRAY MYARRAY( S , 7 )
 INDEX ON XMDH TAG XMDH
 SELECT 55
 USE LIB\DP09.DAT
 COUNT TO S
 USE 
 SELECT 88
 DQ = DQDH
 FOR LKL = 1 TO 2
 GSXH1 = S + 1
 LML = ALLTRIM(STR(LKL))
 DO DPCL1
 ENDFOR 
 FOR LKL = 1 TO 2
 GSXH = S + 1
 LML = ALLTRIM(STR(LKL))
 FOR J = 1 TO S
 DP = 0
 DO DPCL
 IF DP <> 0
 DO TZKM
 IF BTZ = .T.
 EXIT 
 ENDIF 
 ELSE 
 ENDIF 
 ENDFOR 
 ENDFOR 
 SELECT 88
 SCAN FOR XMDH = 'dpbz'
 REPLACE SJDW WITH 1
 ENDSCAN 
 WAIT CLEAR
  MESSAGEBOX(LTRIM(STR(NYF)) - '月份止平均余额汇总表生成完毕!请选择打印月报即可,数据为百元。',64,'完成提示信息')
 CLOSE ALL

PROCEDURE TZKM
 SELECT 88
 FOR MKL = 1 TO CEILING(ABS(DP))
 MSGTTL = '平均余额处理'
 MESSGTXT =  ;
      PADL((XMDH),6) + '合计项与分项第' + LML + '项相差:' + CHR(13) + ALLTRIM(STR(DP)) +  ;
CHR(13) + CHR(13) + '       是否调整?'
 IF MESSAGEBOX(MESSGTXT,36,MSGTTL) = 7
 BTZ = .T.
 RETURN 
 ELSE 
 VCL = 0
 VCLM = ''
 SELECT 3
 USE LIB\dp09a.DAT
 SCAN FOR XH = GSXH
 XMDH_DP = XMDH
 SELECT 88
 SCAN FOR XMDH = XMDH_DP AND DQDH = DQ
  IF da&lml>0
 IF DP > 0
 WAIT WINDOW NOCLEAR NOWAIT ' 调整 ' + ALLTRIM(XMDH) + '科目数据,请稍候     '
  repl da&lml with da&lml+1
  REPL days&lml WITH days&lml+1
 DP = DP - 1
 ELSE 
 IF DP = 0
 RETURN 
 ELSE 
 WAIT WINDOW NOCLEAR NOWAIT ' 调整 ' + ALLTRIM(XMDH) + '科目数据,请稍候     '
  REPL da&lml with da&lml-1
  REPL days&lml WITH days&lml-1
 DP = DP + 1
 ENDIF 
 ENDIF 
 ELSE 
 EXIT 
 ENDIF 
 ENDSCAN 
 ENDSCAN 
 ENDIF 
 ENDFOR 
ENDPROC
*------
PROCEDURE DPCL1
 SELECT 4
 USE LIB\DP09.DAT
 FOR K = 1 TO S
 SELECT 4
 GSXH1 = K
 IF GSXH1 <> 0
 SCAN FOR GSXH1 = XH
 SUMM = 0
 SELECT 3
 USE LIB\dp09a.DAT
 SCAN FOR XH = DP09.XH
 YUSU = FH
 SELECT 88
 SEEK DP09A.XMDH
 SCAN FOR DQDH = DQ AND XMDH = DP09A.XMDH
  SUMM=SUMM&yusu.da&lml
 EXIT 
 ENDSCAN 
 SELECT 3
 ENDSCAN 
 SELECT 88
 SEEK DP09.XMDH
 SCAN FOR DQDH = DQ AND XMDH = DP09.XMDH
  DP=da&lml-SUMM     
 IF CEILING(ABS(DP)) > 10
  repl da&lml with summ
 ELSE 
 EXIT 
 ENDIF 
 EXIT 
 ENDSCAN 
 SELECT 4
 ENDSCAN 
 ELSE 
 RETURN 
 ENDIF 
 ENDFOR 
ENDPROC
*------
PROCEDURE DPCL
 SELECT 4
 USE LIB\DP09.DAT
 GSXH = GSXH - 1
 IF GSXH <> 0
 SCAN FOR GSXH = XH
 SUMM = 0
 SELECT 3
 USE LIB\dp09a.DAT
 SCAN FOR XH = DP09.XH
 YUSU = FH
 SELECT 88
 SEEK DP09A.XMDH
 SCAN FOR DQDH = DQ AND XMDH = DP09A.XMDH
  SUMM=SUMM&yusu.da&lml
 EXIT 
 ENDSCAN 
 SELECT 3
 ENDSCAN 
 SELECT 88
 SEEK DP09.XMDH
 SCAN FOR DQDH = DQ AND XMDH = DP09.XMDH
  DP=da&lml-SUMM     
 IF DP <> 0
 RETURN 
 ENDIF 
 EXIT 
 ENDSCAN 
 SELECT 4
 ENDSCAN 
 ELSE 
 RETURN 
 ENDIF 
ENDPROC
*------*

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -