📄 ysbqs.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: YSBQS.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
NYF = VAL(YUE)
CFILE1 = 'dat\h01' - RIGHT(NIAN,2) - '.dat'
CFILE2 = 'tmp\h01tmp.dat'
USE (CFILE1)
FOR S = 1 TO NYF
LOCATE FOR DQDH = S AND XMDH = '1011'
IF FOUND() = .F.
MESSAGEBOX(STR(I) - '月份无汇总表数据,请先做汇总!',304,'警告提示信息')
RETURN
ELSE
EXIT
ENDIF
ENDFOR
DELETE ALL FOR BLX1 = '3'
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
CXBB1 = 'tmp\xbbssb1.dbf'
CXBB2 = 'tmp\xbbssb2.dbf'
CXBB3 = 'tmp\xbbssb3.dbf'
IF FILE(CXBB1)
DELETE File (CXBB1)
ELSE
ENDIF
IF FILE(CXBB2)
DELETE File (CXBB2)
ELSE
ENDIF
IF FILE(CXBB3)
DELETE File (CXBB3)
ELSE
ENDIF
H01 = 'h01' - NIAN
SELECT DQDH , XMDH , SUM(DA3) , SUM(DA4) WHERE BETWEEN(DQDH,1,NYF) GROUP BY XMDH INTO ;
TABLE tmp\xbbssb1.dbf FROM (CFILE2) H01
SELECT DQDH , XMDH , DA1 , DA2 WHERE DQDH = 1 ORDER BY DQDH INTO TABLE (CXBB2) FROM ;
(CFILE2) H01
SELECT DQDH , BLX1 , BLX2 , XMDH , SJDW , DA1 , DA2 , DA3 , DA4 , DA5 , DA6 WHERE ;
DQDH = NYF ORDER BY DQDH INTO TABLE tmp\xbbssb3.dbf FROM (CFILE2) H01
CLOSE ALL
USE IN 77 EXCLUSIVE (CXBB3)
SELECT 77
DELETE ALL FOR ;
XMDH = '215 ' .OR. XMDH = '216 ' .OR. XMDH = '217 ' .OR. XMDH = '218 ' .OR. ;
XMDH = '219 ' .OR. XMDH = '220 ' .OR. XMDH = '221 ' .OR. XMDH = '20 '
PACK
REPLACE BLX1 WITH '3' , BLX2 WITH '0' , SJDW WITH (0)
SCAN FOR XMDH = 'dpbz'
REPLACE SJDW WITH 1
ENDSCAN
SCAN FOR XMDH <> ' '
REPLACE DA1 WITH 0 , DA2 WITH 0
ENDSCAN
USE IN 88 EXCLUSIVE (CXBB2)
SELECT 88
SCAN FOR XMDH = 'dpbz'
REPLACE DA1 WITH 0
ENDSCAN
GO TOP
DO WHILE .NOT. EOF()
XMDH1 = XMDH
DA11 = DA1
DA22 = DA2
SELECT 77
SCAN FOR XMDH = XMDH1
REPLACE DA1 WITH DA11 , DA2 WITH DA22
ENDSCAN
SELECT 88
IF .NOT. EOF()
SKIP
LOOP
ELSE
EXIT
ENDIF
ENDDO
USE IN 88 EXCLUSIVE (CXBB1)
GO TOP
DO WHILE .NOT. EOF()
XMDH1 = XMDH
DA33 = SUM_DA3
DA44 = SUM_DA4
SELECT 77
SCAN FOR XMDH = XMDH1
REPLACE DA3 WITH DA33 , DA4 WITH DA44
ENDSCAN
SELECT 88
IF .NOT. EOF()
SKIP
LOOP
ELSE
EXIT
ENDIF
ENDDO
USE IN 88 EXCLUSIVE (CFILE1)
SELECT 88
DELETE ALL FOR DQDH = NYF AND BLX1 = '3'
PACK
APPEND FROM (CXBB3)
USE
SELECT 77
USE
WAIT CLEAR
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -