📄 dpcl4.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: DPCL4.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DEFINE WINDOW WINDP_1 FROM 4 , 10 TO 20 , 70 COLOR SCHEME 2 FLOAT SHADOW TITLE ;
'打平处理'
CL_NIAN = RIGHT(NIAN,2)
BDATNAME = 'B' + M_BH + CL_NIAN + YUE
XMKNAME = 'XM' + M_BH
USE LIB\DP&M_BH..DAT IN 0
USE LIB\DP&M_BH.A.DAT IN 0
MOVE WINDOW WINDP_1 CENTER
ACTIVATE WINDOW WINDP_1
STORE 0 TO HJXDA1 , QZXHJ
HJXMDH = ' '
STORE 1 TO LIN
STORE 1 TO COL
@ 1 , 7 SAY ;
' 正在打平 ' + LTRIM(STR(M_DQDH)) + ' 地区 第 ' + LTRIM(STR(I)) + ' 栏数据'
M_DPBZ = 0
SELECT (BDATNAME)
COPY TO DPTMP FOR DQDH = M_DQDH
SELECT 0
USE DPTMP
INDEX ON XMDH TO DPTMP
SELE DP&M_BH
SCAN
STORE 0 TO HJXDA1 , QZXHJ
STORE DP&M_BH->FH TO DSFH
IF DP&M_BH->LS#0
IF QQQ#DP&M_BH->LS
LOOP
ENDIF
ENDIF
DO DPLJS
SELE DP&M_BH.A
COPY TO DPGSR FOR XH=DP&M_BH->XH
DO DPRJS
IF (HJXDA1 = 0 AND QZXHJ <> 0) .OR. (M_BH = '04' AND QQQ = 6)
DO HJJS
ELSE
IF HJXDA1!&DSFH.QZXHJ
CHASHU = HJXDA1 - QZXHJ
IF HJXDA1 > QZXHJ
STORE '多' TO DUOSHAO
ELSE
STORE '少' TO DUOSHAO
ENDIF
?? CHR(7)
?? CHR(7)
IF LIN > 12
WAIT
@ 2 , 0 CLEAR TO 15 , 60
LIN = 1
ENDIF
@ LIN , COL SAY SPACE(55)
@ LIN , COL SAY '合计项 ' + HJXMDH + ' 比其中项' + DUOSHAO
@ LIN , COL + 28 SAY ABS(CHASHU) PICTURE '999,999,999,999,999.99'
LIN = LIN + 1
M_DPBZ = 0
ENDIF
ENDIF
SELECT DPGSR
USE
ENDSCAN
IF M_DPBZ = 0
SELECT (BDATNAME)
REPLACE SJDW WITH M_DPBZ FOR ;
XMDH = 'dpbz' AND DQDH = M_DQDH AND BLX1 = M_BLX1 AND BLX2 = M_BLX2
ENDIF
?? CHR(7)
?? CHR(7)
@ 10 , 16 SAY ' 打 平 完 毕!'
WAIT
DEACTIVATE WINDOW WINDP_1
RELEASE WINDOW WINDP_1
SELE DP&M_BH
USE
SELE DP&M_BH.A
USE
SELECT DPTMP
USE
DELETE File DPTMP.DBF
DELETE File DPTMP.IDX
DELETE File DPGSR.DBF
RETURN
PROCEDURE DPLJS
SELECT DPTMP
LOCATE FOR XMDH=DP&M_BH->XMDH AND BLX1=M_BLX1 AND BLX2=M_BLX2
IF FOUND()
STORE XMDH TO HJXMDH
HJXDA1=&DAX
ENDIF
ENDPROC
*------
PROCEDURE DPRJS
SELECT 0
USE DPGSR
SCAN
SELECT DPTMP
LOCATE FOR XMDH = DPGSR.XMDH AND BLX1 = M_BLX1 AND BLX2 = M_BLX2
IF FOUND()
DO CASE
CASE DPGSR.FH = '+'
QZXHJ=ROUND(QZXHJ+&DAX,2)
CASE DPGSR.FH = '-'
QZXHJ=ROUND(QZXHJ-&DAX,2)
ENDCASE
ENDIF
ENDSCAN
RETURN
ENDPROC
*------
PROCEDURE HJJS
SELECT (BDATNAME)
REPL &DAX WITH QZXHJ FOR XMDH=DP&M_BH->XMDH.AND.DQDH=M_DQDH .AND.BLX1=M_BLX1.AND.BLX2=M_BLX2
SELECT DPTMP
REPL &DAX WITH QZXHJ 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 + -