📄 shcl4.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: SHCL4.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PARAMETER P_BH1 , P_LX1 , P_LX2 , P_LX3 , P_YEA1 , P_MON1 , P_DH1 , P_DH2 , P_LS1 , P_YEA2 , ;
P_MON2 , P_LS2
P_LS1 = P_LS1 + 5
P_LS2 = P_LS2 + 5
DBF1 = 'B' + P_BH1 + P_YEA1 + P_MON1
DBF2 = 'B' + P_BH1 + P_YEA2 + P_MON2
XMF = 'XM' + P_BH1
CLEAR
SET COLOR TO W/B
@ 4 , 4 TO 22 , 76 DOUBLE
@ 3 , 8 SAY ;
' 科目 ' + P_YEA1 + '年' + P_MON1 + '月 ' + P_YEA2 + '年' + ;
P_MON2 + '月 差数'
STORE .F. TO ERR
DO ZHUNBEI
IF ERR = .T.
RETURN
ENDIF
FOR AREA = P_DH1 TO P_DH2
LIN = 5
COL = 5
DH = LTRIM(STR(AREA))
@02,01 SAY "正在进行 &dh 地区 同表审核! 请稍等!!"
STORE .F. TO AREA_ERR
DO CHE_AREA
IF AREA_ERR = .T.
RETURN
ENDIF
SELE &XMF
SCAN FOR LRBZ = .T.
STORE SPACE(6) TO W_XHDH
STORE XMDH TO W_XMDH
STORE 0 TO DAT1 , DAT2
SELECT BZL
LOCATE FOR BH = P_BH1
STORE LX TO YK
SELE B&P_BH1&P_YEA1&P_MON1
IF YK = .T.
LOCATE FOR XMDH = W_XMDH AND DQDH = AREA AND BLX1 = P_LX1 AND BLX2 = P_LX2
IF .NOT. FOUND()
DH = LTRIM(STR(AREA))
? CHR(7)
WAIT "地区 &DH 数据不存在!! 回车!" WINDOW NOWAIT
YANSHI = INKEY(2)
EXIT
ENDIF
ELSE
LOCATE FOR XMDH = W_XMDH AND DQDH = AREA AND BLX1 = P_LX1
IF .NOT. FOUND()
DH = LTRIM(STR(AREA))
? CHR(7)
WAIT "地区 &DH 数据不存在!! 回车!" WINDOW NOWAIT
YANSHI = INKEY(2)
EXIT
ENDIF
ENDIF
SCATTER TO L_DAT
DAT1 = ROUND(VAL(LTRIM(STR(L_DAT(P_LS1) * 100))) / 100,2)
SELE B&P_BH1&P_YEA2&P_MON2
IF YK = .T.
LOCATE FOR XMDH = W_XMDH AND DQDH = AREA AND BLX1 = P_LX3 AND BLX2 = P_LX2
IF .NOT. FOUND()
DH = LTRIM(STR(AREA))
? CHR(7)
WAIT "地区 &DH 数据不存在!! 回车!" WINDOW NOWAIT
YANSHI = INKEY(2)
EXIT
ENDIF
ELSE
LOCATE FOR XMDH = W_XMDH AND DQDH = AREA AND BLX1 = P_LX3
IF .NOT. FOUND()
DH = LTRIM(STR(AREA))
? CHR(7)
WAIT "地区 &DH 数据不存在!! 回车!" WINDOW NOWAIT
YANSHI = INKEY(2)
EXIT
ENDIF
ENDIF
SCATTER TO R_DAT
DAT2 = ROUND(VAL(LTRIM(STR(R_DAT(P_LS2) * 100))) / 100,2)
IF DAT1 <> DAT2
CHASHU = DAT1 - DAT2
CHASHU = ROUND(CHASHU,2)
? CHR(7)
IF LIN > 21
STORE 5 TO LIN
WAIT
@ 23 , 0 CLEAR TO 23 , 79
@ 5 , 5 CLEAR TO 21 , 75
ENDIF
@ LIN , 5 SAY XMDH + '科目不等! 差数:'
@ LIN , 21 SAY DAT1 PICTURE '99999999999999.99'
@ LIN , 40 SAY DAT2 PICTURE '99999999999999.99'
@ LIN , 58 SAY CHASHU PICTURE '99999999999999.99'
LIN = LIN + 1
ENDIF
ENDSCAN
? CHR(7)
WAIT WINDOW NOWAIT '地区' + LTRIM(STR(AREA)) + '审核结束!'
ENDFOR
? CHR(7)
WAIT WINDOW '全部审核结束!!'
CLOSE DATABASES
CLEAR
RETURN
PROCEDURE ZHUNBEI
DBF2 = 'B' + P_BH1 + P_YEA2 + P_MON2
IF !FILE(".\DAT\B&P_BH1&P_YEA1&P_MON1..DAT").OR.!FILE(".\DAT\B&P_BH1&P_YEA2&P_MON2..DAT")
? CHR(7)
WAIT ".\DAT\B&P_BH1&P_YEA1&P_MON1..DAT或.\DAT\B&P_BH1&P_YEA2&P_MON2..DAT不存在!" WINDOW
STORE .T. TO ERR
RETURN
ENDIF
IF !FILE(".\LIB\XM&P_BH1..DAT")
? CHR(7)
WAIT ".\LIB\XM&P_BH1..DAT项目文件不存在!" WINDOW
STORE .T. TO ERR
RETURN
ENDIF
IF .NOT. USED('BZL')
USE IN 0 ('.\LIB\BZL.DAT')
ENDIF
IF .NOT. USED(XMF)
USE (".\LIB\XM&P_BH1..DAT") IN 0
ENDIF
IF .NOT. USED(DBF1)
USE (".\DAT\B&P_BH1&P_YEA1&P_MON1..DAT") IN 0
ENDIF
IF .NOT. USED(DBF2)
USE (".\DAT\B&P_BH1&P_YEA2&P_MON2..DAT") IN 0
ENDIF
IF .NOT. USED('DQK')
USE IN 0 ('.\LIB\DQK.DAT')
ENDIF
ENDPROC
*------
PROCEDURE CHE_AREA
SELECT DQK
LOCATE FOR DQDH = AREA
IF .NOT. FOUND()
? CHR(7)
WAIT WINDOW NOWAIT '地区' + LTRIM(STR(AREA)) + '不存在!'
STORE .F. TO AREA_ERR
RETURN
ENDIF
IF KHBZ = .F.
? CHR(7)
WAIT WINDOW NOWAIT '地区' + LTRIM(STR(AREA)) + '没开户!'
STORE .F. TO AREA_ERR
RETURN
ENDIF
ENDPROC
*------*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -