dy99zh.prg
来自「使用VFP编写的信用社系统专用会计报表系统,可上报,汇总,打印.是一款优秀的信用」· PRG 代码 · 共 230 行
PRG
230 行
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: DY99ZH.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CLOSE DATABASES
RQNIAN = NIAN
SELECT 1
USE lib\zb99.dat
SELECT 2
USE lib\zb99a.dat
SELECT 3
USE lib\zb99b.dat
ZAP
SELECT 1
SCAN FOR RQ = RQNIAN
SELECT 3
LOCATE FOR XH = ZB99.XH
IF .NOT. FOUND()
APPEND BLANK
REPLACE XH WITH ZB99.XH
ENDIF
ENDSCAN
SELECT 4
USE lib\dy99tmp.dat
ZAP
SELECT 5
USE LIB\XM01.DAT
SELECT 6
USE LIB\XM99.DAT
SELECT 7
USE DAT\DY99B
SELECT 8
USE DAT\DY99A
M_JS1 = 0
M_JS2 = 0
M_JS3 = 0
N1 = 0
N2 = 0
M_XH = 0
SELECT 3
GO TOP
DO WHILE .T.
M_JS1 = 0
M_JS2 = 0
M_JS11 = 1
M_JS21 = 1
IF EOF()
EXIT
ENDIF
M_XH = XH
SELECT 1
GO TOP
SCAN FOR XH = M_XH
M_JS1 = M_JS1 + 1
ENDSCAN
SELECT 2
GO TOP
SCAN FOR XH = M_XH
M_JS2 = M_JS2 + 1
ENDSCAN
IF M_JS1 = 0 .OR. M_JS2 = 0
IF M_JS2 = 0
FOR N = 1 TO M_JS1 * 2 - 1
SELECT 4
APPEND BLANK
IF MOD(N,2) = 1
SELECT 1
LOCATE FOR XH = M_XH
FOR M = 1 TO M_JS11 - 1
SKIP
ENDFOR
M_XMDH = XMDH
SELECT 6
LOCATE FOR XMDH = M_XMDH
M_XMMC = XMMC
SELECT 8
LOCATE FOR XMDH = M_XMDH
M_DA1 = DA1
M_DA2 = DA2
SELECT 4
REPLACE XMDH1 WITH M_XMDH , XMMC1 WITH M_XMMC , DA11 WITH M_DA1 , DA12 WITH M_DA2
M_JS11 = M_JS11 + 1
ELSE
REPLACE BZ1 WITH .T.
ENDIF
ENDFOR
ELSE
FOR N = 1 TO M_JS2
SELECT 4
APPEND BLANK
SELECT 2
LOCATE FOR XH = M_XH
FOR M = 1 TO M_JS21 - 1
SKIP
ENDFOR
M_XMDH = XMDH
SELECT 5
LOCATE FOR XMDH = M_XMDH
M_XMMC = XMMC
SELECT 7
LOCATE FOR XMDH = M_XMDH
M_DA1 = DA5
M_DA2 = DA6
SELECT 4
REPLACE XMDH2 WITH M_XMDH , XMMC2 WITH M_XMMC , DA21 WITH M_DA1 , DA22 WITH M_DA2
M_JS21 = M_JS21 + 1
IF MOD(N,2) = 0
REPLACE BZ1 WITH .T.
ENDIF
ENDFOR
ENDIF
ELSE
IF M_JS2 <= (M_JS1 * 2 - 1)
N1 = CEILING((M_JS1 * 2 - 1) / (M_JS2 + 1))
IF N1 < 0
N1 = 1
ENDIF
N2 = CEILING((M_JS1 * 2 - 1) / (M_JS2 + 1))
M_JS3 = M_JS1 * 2 - 1
FOR N = 1 TO M_JS3
SELECT 4
APPEND BLANK
IF MOD(N,2) = 1
SELECT 1
LOCATE FOR XH = M_XH
FOR M = 1 TO M_JS11 - 1
SKIP
ENDFOR
M_XMDH = XMDH
SELECT 6
LOCATE FOR XMDH = M_XMDH
M_XMMC = XMMC
SELECT 8
LOCATE FOR XMDH = M_XMDH
M_DA1 = DA1
M_DA2 = DA2
SELECT 4
REPLACE XMDH1 WITH M_XMDH , XMMC1 WITH M_XMMC , DA11 WITH M_DA1 , DA12 WITH M_DA2
M_JS11 = M_JS11 + 1
ELSE
REPLACE BZ1 WITH .T.
ENDIF
IF N = N1 AND M_JS21 <= M_JS2
SELECT 2
LOCATE FOR XH = M_XH
FOR M = 1 TO M_JS21 - 1
SKIP
ENDFOR
M_XMDH = XMDH
SELECT 5
LOCATE FOR XMDH = M_XMDH
M_XMMC = XMMC
SELECT 7
LOCATE FOR XMDH = M_XMDH
M_DA1 = DA5
M_DA2 = DA6
SELECT 4
REPLACE XMDH2 WITH M_XMDH , XMMC2 WITH M_XMMC , DA21 WITH M_DA1 , DA22 WITH M_DA2
N1 = N1 + N2
M_JS21 = M_JS21 + 1
ENDIF
ENDFOR
ELSE
N1 = INT(M_JS2 / (M_JS1 * 2 - 1))
IF N1 < 0
N1 = 1
ENDIF
IF MOD(N1,2) = 0
N1 = N1 - 1
ENDIF
N2 = CEILING(M_JS2 / (M_JS1 * 2 - 1))
N1 = CEILING((M_JS2 * 2 - 1) / (M_JS1 + 1))
IF N1 < 0
N1 = 1
ENDIF
N2 = CEILING((M_JS2 * 2 - 1) / (M_JS1 + 1))
FOR N = 1 TO M_JS2 * 2 - 1
SELECT 4
APPEND BLANK
IF MOD(N,2) = 0
REPLACE BZ2 WITH .T.
ELSE
SELECT 2
LOCATE FOR XH = M_XH
FOR M = 1 TO M_JS21 - 1
SKIP
ENDFOR
M_XMDH = XMDH
SELECT 5
LOCATE FOR XMDH = M_XMDH
M_XMMC = XMMC
SELECT 7
LOCATE FOR XMDH = M_XMDH
M_DA1 = DA5
M_DA2 = DA6
SELECT 4
REPLACE XMDH2 WITH M_XMDH , XMMC2 WITH M_XMMC , DA21 WITH M_DA1 , DA22 WITH M_DA2
M_JS21 = M_JS21 + 1
ENDIF
IF N = N1 AND M_JS11 <= M_JS1
SELECT 1
LOCATE FOR XH = M_XH
FOR M = 1 TO M_JS11 - 1
SKIP
ENDFOR
M_XMDH = XMDH
SELECT 6
LOCATE FOR XMDH = M_XMDH
M_XMMC = XMMC
SELECT 8
LOCATE FOR XMDH = M_XMDH
M_DA1 = DA1
M_DA2 = DA2
SELECT 4
REPLACE XMDH1 WITH M_XMDH , XMMC1 WITH M_XMMC , DA11 WITH M_DA1 , DA12 WITH M_DA2
M_JS11 = M_JS11 + 1
N1 = N1 + N2
ENDIF
ENDFOR
ENDIF
ENDIF
SELECT 4
APPEND BLANK
REPLACE BZ1 WITH .T. , BZ2 WITH .T.
SELECT 3
SKIP
ENDDO
*
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?