📄 xsb_csy.prg
字号:
***********************************************
* 程序功能:分类汇总抄收员线损表(XSB_CSY.PRG) *
* 程序作者:唐国春 *
* 完成日期:2002年05月 *
***********************************************
SET TALK OFF
SET SAFE OFF
CLOSE DATABASE
PUBLIC QH,S,SS,SSS,dytitle,RQ1,RQ2
SELE 0
USE TIME
TIME1=TIME.RQ
RQ1=SUBSTR(TIME1,1,4)
RQ2=SUBSTR(TIME1,5,2)
USE IN TIME
SS='RWSJ\RW'+SUBSTR(TIME1,3,4)
SSS=SS+'.DBF'
SS_BAK='RWSJ\XSBC'+SUBSTR(TIME1,3,4)
SSS_BAK=SS_BAK+'.DBF'
IF .NOT. FILE ("&SSS")
=MESSAGEBOX('还没有提取生成'+RQ1+'年'+RQ2+'月的电费数据资料!'+CHR(13)+CHR(13)+'请先提取生成电费数据资料!',0+16,'错误')
CLOSE DATABASE
SET CURSOR ON
RETURN
ENDIF
SELE 0
USE GDS
SELE 0
USE XSB
ZAP
*****************************************************************************
SELE 1
USE &SSS
COPY TO tmp.DBF FOR .NOT. EMPTY(GDS)
SELE 0
USE tmp
*******************************************************************
SELE tmp
REPL ALL JEHJ WITH JBDF+CJFJ
SELE 0
USE XS_TMP
ZAP
SELE tmp
GO TOP
DO WHILE .NOT. EOF()
SELE tmp
Q1=QH
Q2=ALLTRIM(CSY)
Q3=gdl
Q4=DD
Q7=GDS
INSERT INTO XS_TMP (QH,XM,GDL,SDL,GDS) VALUE (Q1,Q2,Q3,Q4,Q7)
SELE tmp
SKIP
ENDDO
SELE XS_TMP
***************************生成个人库******************
SELE 0
USE GR
ZAP
SELE XS_TMP
GO TOP
DO WHILE .NOT. EOF()
SELE XS_TMP
S=ALLT(XM)
S1=ALLT(GDS)
SELE GR
LOCA FOR ALLT(XM)=S
IF .NOT. FOUND()
INSERT INTO GR (XM,GDS) VALUE (S,S1)
ENDIF
SELE XS_TMP
SKIP
ENDDO
SELE GR
********************!*删除总区数据*!***********************
SELE 0
USE shk
GO TOP
DO WHILE .NOT. EOF()
IF zqbz='*'
SELE XS_TMP
DELE ALL FOR SUBS(QH,1,4)==shk.QH
PACK
ENDIF
SELE shk
SKIP
ENDDO
****************************数据分类汇总********************
SELE GR
set order to tag xm
GO TOP
DO WHILE .NOT. EOF()
SELE GR
S=ALLTRIM(XM)
S1=ALLT(GDS)
SELE XS_TMP
LOCA FOR ALLT(XM)=S
IF FOUND()
SUM GDL,SDL FOR ALLT(XM)==S TO Q1,Q2
INSERT INTO XSB (XM,GDL,SDL,GDS) VALUE (S,Q1,Q2,S1)
ENDIF
SELE GR
SKIP
ENDDO
SELE XS_TMP
SUM GDL,SDL FOR EMPTY(XM) TO Q1,Q2
IF Q1<>0 OR Q2<>0
INSERT INTO XSB (XM,GDL,SDL) VALUE ('(其他)',Q1,Q2)
ENDIF
SUM ALL GDL,SDL TO Q1,Q2
INSERT INTO XSB (XM,GDL,SDL) VALUE ('*合计*',Q1,Q2)
SELE XSB
DELE ALL FOR EMPTY(XM)
PACK
REPL ALL XSL WITH (GDL-SDL)/GDL*100 FOR GDL<>0
COPY TO &SSS_BAK
use in shk
S='xsb.dbf'
dytitle='(按抄收员分类汇总)'
SET SAFE ON
DO FORM dy_xsb
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -