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

📄 dpcl1.prg

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



PROCEDURE DPCL1
 IF M_BH = '99'
 DO .\src\prg\DPCL42
 RETURN 
 ENDIF 
 DEFINE WINDOW WINDP_1 FROM 4 , 10 TO 25 , 80 COLOR  RGB( 255 , 0 , 0 , 192 , 192 , 192)  ;
      TITLE '打平处理' PANEL 
 ACTIVATE WINDOW WINDP_1
 PCL_NIAN = RIGHT(NIAN,2)
 BDATNAME = 'B' + M_BH + PCL_NIAN + YUE
 XMKNAME = 'XM' + M_BH
  USE LIB\DP&M_BH..DAT IN 0
  USE LIB\DP&M_BH.A.DAT IN 0
 DIMENSION HJXDA1( M_LS )
 DIMENSION QZXHJ( M_LS )
 STORE 1 TO LIN
 STORE 0 TO COL
 @ 2 , 10 SAY '  正在打平   ' + LTRIM(STR(M_DQDH)) + '  地区'
 M_DPBZ = 1
 DPGSXH = ''
 SELECT (BDATNAME)
 COPY TO DPTMP FOR DQDH = M_DQDH
 SELECT 0
 USE DPTMP
 INDEX ON XMDH TO DPTMP
  SELE DP&M_BH 
 SCAN 
 @ 2 , 34 SAY '项目 ' + XMDH
  STORE DP&M_BH->FH TO DSFH                  
 HJXMDH = '  '
 STORE 0 TO HJXDA1
 DO DPLJS
  SELE DP&M_BH.A
  COPY TO DPGSR FOR XH=DP&M_BH->XH
 SELECT 0
 USE DPGSR
 STORE 0 TO QZXHJ
 DO DPRJS
 FOR I = 1 TO M_LS
  IF DP&M_BH->LS#0 AND DP&M_BH->LS # I
 LOOP 
 ENDIF 
 SELECT DPTMP
 IF FSIZE('DA' + LTRIM(STR(I))) > 6 AND UPPER(TYPE('DA' + LTRIM(STR(I)))) = 'N' AND  ;
(MMBZ3 = .T. .OR. HJXDA1(I) = 0)
 DO HJJS
 ELSE 
  IF FSIZE("DA"+LTRI(STR(I))) > 6  AND UPPE(TYPE("DA"+LTRI(STR(I))))="N" AND HJXDA1(I)!&DSFH.QZXHJ(I)
 CHASHU = ROUND(HJXDA1(I) - QZXHJ(I),2)
 IF HJXDA1(I) > QZXHJ(I)
 STORE '多' TO DUOSHAO
 ELSE 
 STORE '少' TO DUOSHAO
 ENDIF 
 ?? CHR(7)
 IF LIN > 13
 @ 14 , 0 SAY ''
 WAIT 
 @ 3 , 0 CLEAR TO 16 , 62
 LIN = 1
 ENDIF 
 @ LIN + 2 , COL SAY SPACE(55)
 @ LIN + 2 , COL SAY  ;
      '(' + ALLTRIM(DPGSXH) + ') ' + '合计项 ' + HJXMDH + '第 ' + LTRIM(STR(I)) +  ;
' 栏比其中项' + DUOSHAO
 @ LIN + 2 , COL + 39 SAY ABS(CHASHU) PICTURE '999,999,999,999,999.99'
 LIN = LIN + 1
 M_DPBZ = 0
 ENDIF 
 ENDIF 
 ENDFOR 
 SELECT DPGSR
 USE 
 ENDSCAN 
 IF M_YCBZA = .T.
 SELECT (XMKNAME)
 SCAN FOR HDBZ = .T.
 M_XMDH = XMDH
 SELECT DPTMP
 DO .\src\prg\DPCL2
 SELECT (XMKNAME)
 ENDSCAN 
 ENDIF 
 SELECT (BDATNAME)
 REPLACE SJDW WITH M_DPBZ FOR  ;
      XMDH = 'dpbz' AND DQDH = M_DQDH AND BLX1 = M_BLX1 AND BLX2 = M_BLX2
 ?? CHR(7)
 ?? CHR(7)
 IF M_DPBZ = 1
 @ 7 , 16 SAY ' 数 据 正 确!'
 @ 14 , 16 SAY '  打 平 完 毕!'
 WAIT 
 ELSE 
 @ 12 , 16 SAY '  打 平 完 毕!'
 WAIT 
 ENDIF 
 DEACTIVATE WINDOW WINDP_1
 RELEASE WINDOW WINDP_1
  SELE DP&M_BH
 USE 
  SELE DP&M_BH.A
 USE 
 SELECT DPTMP
 USE 
 RETURN 
ENDPROC
*------
PROCEDURE DPLJS
 SELECT DPTMP
  SEEK DP&M_BH->XMDH
  SCAN FOR XMDH=DP&M_BH->XMDH AND BLX1=M_BLX1 AND BLX2=M_BLX2
 STORE XMDH TO HJXMDH
  store str(dp&m_bh->xh,5) to dpgsxh       
 SCATTER MEMVAR 
 FOR I = 1 TO M_LS
  IF DP&M_BH->LS # 0 AND DP&M_BH->LS # I
 LOOP 
 ENDIF 
 IF FSIZE('DA' + LTRIM(STR(I))) > 6 AND UPPER(TYPE('DA' + LTRIM(STR(I)))) = 'N'
 AA = 'M.DA' + LTRIM(STR(I))
  HJXDA1(I)=&AA
 ENDIF 
 ENDFOR 
 EXIT 
 ENDSCAN 
ENDPROC
*------
PROCEDURE DPRJS
 SCAN 
 SELECT DPTMP
 SEEK DPGSR.XMDH
 SCAN FOR XMDH = DPGSR.XMDH AND BLX1 = M_BLX1 AND BLX2 = M_BLX2
 SCATTER MEMVAR 
 FOR I = 1 TO M_LS
  IF DP&M_BH->LS # 0 AND DP&M_BH->LS # I
 LOOP 
 ENDIF 
 IF FSIZE('DA' + LTRIM(STR(I))) > 6 AND UPPER(TYPE('DA' + LTRIM(STR(I)))) = 'N'
 DO CASE 
 CASE DPGSR.FH = '+'
 AA = 'M.DA' + LTRIM(STR(I))
  QZXHJ(I)=ROUND(QZXHJ(I)+&AA,2) 
 CASE DPGSR.FH = '-'
 AA = 'M.DA' + LTRIM(STR(I))
  QZXHJ(I)=ROUND(QZXHJ(I)-&AA,2)
 ENDCASE 
 ENDIF 
 ENDFOR 
 EXIT 
 ENDSCAN 
 ENDSCAN 
 RETURN 
ENDPROC
*------
PROCEDURE HJJS
 SELECT (BDATNAME)
 DATX = 'DA' + LTRIM(STR(I))
  REPL (DATX) WITH QZXHJ(I)  FOR XMDH=DP&M_BH->XMDH  AND  DQDH=M_DQDH AND  BLX1=M_BLX1  AND  BLX2=M_BLX2
 SELECT DPTMP
  REPL (DATX) WITH QZXHJ(I)  FOR XMDH=DP&M_BH->XMDH  AND  DQDH=M_DQDH AND  BLX1=M_BLX1  AND  BLX2=M_BLX2
 RETURN 
ENDPROC
*------*

⌨️ 快捷键说明

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