(antb)
MEMBER('ANT')
!НАЧАЛЬНАЯСОРТИРОВКА
SPROCEDURE
MGROUP
M1REAL,DIM(79,14) !T17
MKREAL,DIM(8,14)
MGREAL,DIM(350,14).
CODE
CLEAR(M)
BUFFER(LIC,0.9)
SET(LIC)
LOOP UNTIL EOF(LIC)
NEXT(LIC)
CLEAR(T17:RECORD)
T17:PNOMBER=LIC:PNOMBER
GET(T17,T17:C)
IF ~ERRORCODE()
M1[LIC:NREGION,1]+=T17:F001/1000MG[LIC:NCITY,1]+=T17:F001/1000 M1[LIC:NREGION,2]+=T17:F004/1000MG[LIC:NCITY,2]+=T17:F004/1000 M1[LIC:NREGION,3]+=T17:F010/1000MG[LIC:NCITY,3]+=T17:F010/1000
IF T17:F018>0
THEN
M1[LIC:NREGION,4]+=T17:F018/1000MG[LIC:NCITY,4]+=T17:F018/1000
ELSE
IF T17:F020>0
M1[LIC:NREGION,4]-=T17:F020/1000
MG[LIC:NCITY,4]-=T17:F020/1000...
CLEAR(T67:RECORD)
T67:PNOMBER=LIC:PNOMBER
GET(T67,T67:C)
IF ~ERRORCODE()
M1[LIC:NREGION,5]+=T67:A400N/1000
MG[LIC:NCITY,5]+=T67:A400N/1000
M1[LIC:NREGION,6]+=T67:A400K/1000MG[LIC:NCITY,6]+=T67:A400K/1000 M1[LIC:NREGION,7]+=T67:A495N/1000MG[LIC:NCITY,7]+=T67:A495N/1000 M1[LIC:NREGION,8]+=T67:A495K/1000MG[LIC:NCITY,8]+=T67:A495K/1000.
CLEAR(F92:RECORD)
F92:PNOMBER=LIC:PNOMBER
GET(F92,F92:FC)
IF ~ERRORCODE()
M1[LIC:NREGION,9]+=F92:F1/1000MG[LIC:NCITY,9]+=F92:F1/1000 M1[LIC:NREGION,10]+=F92:F7/1000MG[LIC:NCITY,10]+=F92:F7/1000 M1[LIC:NREGION,11]+=F92:F10/1000MG[LIC:NCITY,11]+=F92:F10/1000
IF F92:F19>0
THEN
M1[LIC:NREGION,12]+=F92:F19/1000MG[LIC:NCITY,12]+=F92:F19/1000
ELSE
IF F92:F21>0
M1[LIC:NREGION,12]-=F92:F21/1000
MG[LIC:NCITY,12]-=F92:F21/1000...
CLEAR(SVV:RECORD)
SVV:PNOM=LIC:PNOMBER
SVV:KZ=2
GET(SVV,SVV:K)
IF ~ERRORCODE()
M1[LIC:NREGION,13]+=SVV:CR2
MG[LIC:NCITY,13]+=SVV:CR2.
CLEAR(DF:RECORD)
DF:PNOMBER=LIC:PNOMBER
GET(DF,DF:C)
IF ~ERRORCODE()
M1[LIC:NREGION,14]+=DF:S750NMG[LIC:NCITY,14]+=DF:S750N.
.
LOOP N#=24 TO 31
TER:KODT=N#
SET(TER:K,TER:K)
LOOP UNTIL EOF(TERR)
NEXT(TERR)
IF TER:KODTN# THEN BREAK.
LOOP M#=1 TO 14 MK[N#-23,M#]+=M1[TER:NREGION,M#]...
LOOP I#=1 TO 8
F:NKUST=I#+23
F:F1=MK[I#,5]
F:F2=MK[I#,6]
F:F3=MK[I#,7]
F:F4=MK[I#,8]
F:F5=MK[I#,12]
F:F6=MK[I#,4]
F:F9=MK[I#,10]
F:F10=MK[I#,2]
F:F11=MK[I#,9]
F:F12=MK[I#,1]
F:F13=MK[I#,11]
F:F14=MK[I#,3]
F:F15=MK[I#,13]
F:F16=MK[I#,14]
ADD(F).
LOOP I#=1 TO 79
F:NKUST=0
F:NREGION=I#
F:F1=M1[I#,5]
F:F2=M1[I#,6]
F:F3=M1[I#,7]
F:F4=M1[I#,8]
F:F5=M1[I#,12]
F:F6=M1[I#,4]
F:F9=M1[I#,10]
F:F10=M1[I#,2]
F:F11=M1[I#,9]
F:F12=M1[I#,1]
F:F13=M1[I#,11]
F:F14=M1[I#,3]
F:F15=M1[I#,13]
F:F16=M1[I#,14]
ADD(F).
LOOP I#=1 TO 350
F:NKUST=0
F:NREGION=0
F:NGOR=I#
F:F1=MG[I#,5]
F:F2=MG[I#,6]
F:F3=MG[I#,7]
F:F4=MG[I#,8]
F:F5=MG[I#,12]
F:F6=MG[I#,4]
F:F9=MG[I#,10]
F:F10=MG[I#,2]
F:F11=MG[I#,9]
F:F12=MG[I#,1]
F:F13=MG[I#,11]
F:F14=MG[I#,3]
F:F15=MG[I#,13]
F:F16=MG[I#,14]
ADD(F).
!PUT(F).
! ----- АНАЛИЗПОКАЗАТЕЛЕЙРАЗВИТИЯ ------
AT2PROCEDURE
YUDOS,ASCII,NAME('YU.YU')
RECORD
STSTRING(140)..
GROUP,OVER(ST)
STRING(1)
ST2STRING(32)
STRING(4)
ST3STRING(@N-_8.2)
STRING(1)
ST4STRING(@N_10.2)
STRING(1)
ST5STRING(@N_8.2)
STRING(1)
ST6STRING(@N_9.2)
STRING(1)
ST7STRING(@N_8.2)
STRING(1)
ST8STRING(@N_10.2)
STRING(1)
ST9STRING(@N-_10.2)
STRING(1)
ST10STRING(@N_10.2)
STRING(1)
ST11STRING(@N-_9.2)
STRING(1)
ST12STRING(@N_8.2)
.
YU1DOS,ASCII,NAME('YU1.YU')
RECORD
STTSTRING(130)..
GROUP,OVER(STT)
STRING(1)
ST02STRING(32)
STRING(5)
ST13STRING(@N_8.2)
STRING(3)
ST14STRING(@N_9.2)
STRING(3)
ST15STRING(@N_7.2)
STRING(3)
ST16STRING(@N_9.2)
STRING(3)
ST17STRING(@N_9.2)
STRING(3)
ST18STRING(@N_8.2)
STRING(3)
ST19STRING(@N-_8.2)
STRING(3)
ST20STRING(@N_9.2)
.
MGROUP
M1REAL,DIM(79,14) !T17
MKREAL,DIM(8,14)
MGREAL,DIM(350,14).
CODE
PN#=0
CREATE(YU)
ST='АНАЛИЗПОКАЗАТЕЛЕЙРАЗВИТИЯ СТРАХОВЫХОРГАНИЗАЦИЙ'
ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
ST=' млн.руб. '
ADD(YU)
CLEAR(ST) ST=' ' ADD(YU)
CLEAR(ST)
ST='¦ ¦Доход (балансовая¦ Уставный ¦ Страховые ¦ Доход (балансовая прибыль) в % к ¦'
ADD(YU)
CLEAR(ST)
ST='¦ Наименование ¦ прибыль(убыток) ¦ капитал ¦ взносы
¦'
ADD(YU)
CLEAR(ST)
ST='¦ ¦ ¦ ¦ ¦ уставномукапиталу ¦страховымвзносам¦'
ADD(YU)
CLEAR(ST)
ST='¦ страховойорганизации
¦'
ADD(YU)
CLEAR(ST)
ST='¦ ¦ 1994 ¦ 1995 ¦ 1994 ¦ 1995 ¦ 1994 ¦ 1995 ¦ 1994 ¦ 1995 ¦1992 ¦ 1993 ¦'
ADD(YU)
CLEAR(ST) ST='
'
ADD(YU)
CLEAR(ST)
ST='¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦ 5 ¦ 6 ¦ 7 ¦ 8 ¦9 ¦ 10 ¦ 11 ¦'
ADD(YU)
CLEAR(ST) ST='
'
ADD(YU)
CLEAR(ST)
CREATE(YU1)
STT='АНАЛИЗПОКАЗАТЕЛЕЙРАЗВИТИЯ СТРАХОВЫХОРГАНИЗАЦИЙ'
STT=CENTER(STT)
ADD(YU1)
CLEAR(STT)
STT='(продолжение)'
ADD(YU1)
CLEAR(STT) STT='
'
ADD(YU1)
CLEAR(STT)
STT='¦ ¦ С т р а х о в ы е ¦ Доход от инвес- ¦ Доход отинвест-я страх-хрез-в в % к ¦'
ADD(YU1)
CLEAR(STT)
STT='¦ Наименование ¦ р е з е р в ы ¦ тированиястра- ¦'
ADD(YU1)
CLEAR(STT)
STT='¦ ¦ ¦ ховыхрезервов ¦ уставномукапиталу ¦ страховымвзносам ¦'
ADD(YU1)
CLEAR(STT)
STT='¦ страховойорганизации
¦'
ADD(YU1)
CLEAR(STT)
STT='¦ ¦ 1994 ¦ 1995 ¦ 1994 ¦ 1995 ¦ 1994 ¦ 1995 ¦ 1994 ¦ 1995 ¦'
ADD(YU1)
CLEAR(STT) STT=' ‘
ADD(YU1)
CLEAR(STT)
STT='¦ 1 ¦ 12 ¦ 13 ¦ 14 ¦ 15 ¦ 16 ¦ 17 ¦ 18 ¦19 ¦'
ADD(YU1)
CLEAR(STT)STT='
ADD(YU1)
CLEAR(STT)
INS:NTER=0
SET(INS:K1,INS:K1)
LOOP UNTIL EOF(INSP) ! 1
NEXT(INSP)
PN#=0
if ins:nter>23 !2
THEN
ST2=CLIP(INS:NAME)&' инспекция'
ST02=CLIP(INS:NAME)&' инспекция'
ELSE
ST2='Инспекция'
ADD(yu)
ST2=INS:NAME
ST02='Инспекция'
ADD(YU1)
ST02=INS:NAME. ! 2
TER:KODT=INS:NTER
SET(TER:K1,TER:K1)
LOOP UNTIL EOF(TERR) ! 3
NEXT(TERR)
IF TER:KODTINS:NTER THEN BREAK.
IF INS:NTER>23 AND PN#=0 ! 4
F:NKUST=INS:NTER
GET(F,F:K1)
IF F:F5>0
ST3=F:F5.
IF F:F6>0
ST4=F:F6.
IF F:F1>0
ST5=F:F1.
IF F:F2>0
ST6=F:F2.
IF F:F11>0
ST7=F:F11.
IF F:F12>0
ST8=F:F12.
IF ST3>0 AND ST5>0
ST9=ST3/ST5*100.
IF ST4>0 AND ST6>0
ST10=ST4/ST6*100.
IF ST3>0 AND ST7>0
ST11=ST3/ST7*100.
IF ST4>0 AND ST8>0
ST12=ST4/ST8*100.
IF F:F3>0
ST13=F:F3.
IF F:F4>0
ST14=F:F4.
IF F:F9>0
ST15=F:F9.
IF F:F10>0
ST16=F:F10.
IF ST15>0 AND ST13>0
ST17=ST15/ST13*100.
IF ST16>0 AND ST14>0
ST18=ST16/ST14*100.
IF ST15>0 AND ST3>0
ST19=ST15/ST3*100.
IF ST16>0 AND ST4>0
ST20=ST16/ST4*100.
PN#=1
ADD(YU)
CLEAR(ST)
ADD(YU1)
CLEAR(STT)
ADD(YU1)
ADD(YU). ! 4
XRE:NREGION=TER:NREGION
SET(XRE:K1,XRE:K1)
LOOP UNTIL EOF(XREG) ! 5
NEXT(XREG)
IF XRE:NREGIONTER:NREGION THEN BREAK.
IF INS:NTER>23
ST2=XRE:IREG.
ST02=ST2
F:NREGION=XRE:NREGION
GET(F,F:K2)
IF F:F5>0
ST3=F:F5.
IF F:F6>0
ST4=F:F6.
IF F:F1>0
ST5=F:F1.
IF F:F2>0
ST6=F:F2.
IF F:F11>0
ST7=F:F11.
IF F:F12>0
ST8=F:F12.
IF ST3>0 AND ST5>0
ST9=ST3/ST5*100.
IF ST4>0 AND ST6>0
ST10=ST4/ST6*100.
IF ST3>0 AND ST7>0
ST11=ST3/ST7*100.
IF ST4>0 AND ST8>0
ST12=ST4/ST8*100.
IF F:F3>0
ST13=F:F3.
IF F:F4>0
ST14=F:F4.
IF F:F9>0
ST15=F:F9.
IF F:F10>0
ST16=F:F10.
IF ST15>0 AND ST13>0 ST17=ST15/ST13*100.
IF ST16>0 AND ST14>0 ST18=ST16/ST14*100.
IF ST15>0 AND ST3>0
ST19=ST15/ST3*100.
IF ST16>0 AND ST4>0
ST20=ST16/ST4*100.
ADD(YU)
CLEAR(ST)
ADD(YU1)
CLEAR(STT)
ADD(YU)
ADD(YU1)
GOR:GOROD=' '
SET(GOR:CGOR,GOR:CGOR)
LOOP UNTIL EOF(GOR) ! 6
NEXT(GOR)
IF GOR:NREGIONXRE:NREGION THEN CYCLE.
F:NGOR=GOR:KG
GET(F,F:K3)
IF F:F5>0
ST3=F:F5.
IF F:F6>0
ST4=F:F6.
IF F:F1>0
ST5=F:F1.
IF F:F2>0
ST6=F:F2.
IF F:F11>0
ST7=F:F11.
IF F:F12>0
ST8=F:F12.
IF ST3>0 AND ST5>0 ST9=ST3/ST5*100.
IF ST4>0 AND ST6>0 ST10=ST4/ST6*100.
IF ST3>0 AND ST7>0 ST11=ST3/ST7*100.
IF ST4>0 AND ST8>0 ST12=ST4/ST8*100.
IF F:F3>0
ST13=F:F3.
IF F:F4>0
ST14=F:F4.
IF F:F9>0
ST15=F:F9.
IF F:F10>0
ST16=F:F10.
IF ST15>0 AND ST13>0
ST17=ST15/ST13*100.
IF ST16>0 AND ST14>0
ST18=ST16/ST14*100.
IF ST15>0 AND ST3>0
ST19=ST15/ST3*100.
IF ST16>0 AND ST14>0
ST20=ST16/ST4*100.
IF ~ST AND ~STT THEN CYCLE.
ST2=GOR:GOROD
ST02=GOR:GOROD
ADD(YU)
CLEAR(ST)
ADD(YU1)
CLEAR(STT)
ADD(YU)
ADD(YU1)
LIC:NREGION=XRE:NREGION
LIC:KNAM=' '
SET(LIC:CNREG,LIC:CNREG)
LOOP UNTIL EOF(LIC) ! 7
NEXT(LIC)
IF LIC:NREGIONXRE:NREGION THEN BREAK.
IF LIC:NCITYGOR:KG THEN CYCLE.
(T67:RECORD)
T67:PNOMBER=LIC:PNOMBER
GET(T67,T67:C)
IF ~ERRORCODE()
IF T67:A400N>0
ST5=T67:A400N/1000.
IF T67:A400K>0
ST6=T67:A400K/1000.
IF T67:A495N>0
ST13=T67:A495N/1000.
IF T67:A495K>0
ST14=T67:A495K/1000..
CLEAR(T17:RECORD)
T17:PNOMBER=LIC:PNOMBER
GET(T17,T17:C)
IF ~ERRORCODE() ! 8
IF T17:F018>0 ! 9
THEN
ST4=T17:F018/1000
ELSE
IF T17:F020>0 ! 10
ST4=-T17:F020/1000.. ! 9, 10
IF T17:F001>0
ST8=T17:F001/1000.
IF T17:F004>0
ST16=T17:F004/1000.. ! 8
CLEAR(F92:RECORD)
F92:PNOMBER=LIC:PNOMBER
GET(F92,F92:FC)
IF ~ERRORCODE() ! 11
IF F92:F19>0
THEN
ST3=F92:F19/1000
ELSE
IF F92:F21>0
ST3=-F92:F21/1000..
IF F92:F1>0
ST7=F92:F1/1000.
IF F92:F7>0
ST15=F92:F7/1000.. ! 11
IF ST30 AND ST5>0
ST9=ST3/ST5*100.
IF ST4>0 AND ST6>0
ST10=ST4/ST6*100.
IF ST30 AND ST7>0
ST11=ST3/ST7*100.
IF ST4>0 AND ST8>0
ST12=ST4/ST8*100.
IF ST13>0 AND ST15>0
ST17=ST15/ST13*100.
IF ST14>0 AND ST16>0
ST18=ST16/ST14*100.
IF ST15>0 AND ST30
ST19=ST15/ST3*100.
IF ST16>0 AND ST4>0
ST20=ST16/ST4*100.
IF ST OR STT ! 12
PN#+=1
ST2=' '&LIC:KNAM
ST02=' '&LIC:KNAM
ADD(YU)
CLEAR(ST)
ADD(YU1)
CLEAR(STT). ! 12
CLEAR(ST)
CLEAR(STT). ! 7
ADD(YU)
ADD(YU1)... ! 6, 5, 3
. ! 1
!-------- СВЕДЕНИЯОБ ИЗМЕНЕНИИПОКАЗАТЕЛЕЙДЕЯТЕЛЬНОСТИ--------
AT1PROCEDURE
YUDOS,ASCII,NAME('YU.YU')
RECORD
STSTRING(210)..
GROUP,OVER(ST)
STRING(1)
ST2STRING(32)
STRING(2)
ST3STRING(@N_8.1)
STRING(1)
ST4STRING(@N_9.1)
STRING(1)
ST5STRING(@N-_9.1)
STRING(1)
ST6STRING(@N_9.1)
STRING(1)
ST7STRING(@N_8.1)
STRING(1)
ST8STRING(@N_9.1)
STRING(1)
ST9STRING(@N-_9.1)
STRING(1)
ST10STRING(@N_9.1)
STRING(1)
ST11STRING(@N_7.1)
STRING(1)
ST12STRING(@N_9.1)
STRING(1)
ST13STRING(@N-_10.1)
STRING(1)
ST14STRING(@N_9.1)
STRING(1)
ST15STRING(@N_8.1)
STRING(1)
ST16STRING(@N_10.1)
STRING(1)
ST17STRING(@N-_11.1)
STRING(1)
ST18STRING(@N_10.1)
.
TREAL
CODE
PN#=0
CREATE(YU)
ST='СВЕДЕНИЯОБ ИЗМЕНЕНИИОТДЕЛЬНЫХПОКАЗАТЕЛЕЙДЕЯТЕЛЬНОСТИСТРАХОВЫХОРГАНИЗАЦИЙ'
ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
ST='
'
ADD(YU)
CLEAR(ST)
ST='¦ ¦Уставныйкапитал¦ Изменениеразмера ¦Страховыерезервы ¦ Изменениеразмера¦ Страховые ¦Прирост (уменьшение)¦Страховыевыплаты ¦ Прирост(уменьшение)¦'
ADD(YU)
CLEAR(ST)
ST='¦ Наименование ¦(на конецгода) ¦уставногокапитала ¦(на конец года) ¦ страховыхрезервов¦ взносы ¦поступившихстра- ¦ (на конецгода) ¦суммыстраховыхвыплат¦'
ADD(YU)
CLEAR(ST)
ST='¦ ¦ ¦ (+/-) ¦ ¦ (+/-) ¦ ¦ ховыхвзносов ¦ ¦ ¦'
ADD(YU)
CLEAR(ST)
ST='¦страховойoрганизации ________________________ ______________________________________________________________________________________________________________________________________________________________________________________‘
ADD(YU)
CLEAR(ST)
ST='¦ ¦ 1994¦ 1995 ¦ в сумме¦ в % ¦ 1994 ¦ 1995 ¦ всумме ¦ в % ¦ 1994 ¦ 1995 ¦ в сумме ¦ в % ¦ 1994 ¦ 1995 ¦ всумме ¦ в % ¦'
ADD(YU)
CLEAR(ST)
ST='
¦'
ADD(YU)
CLEAR(ST)
ST='¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦ 5 ¦ 6 ¦ 7 ¦ 8 ¦ 9 ¦ 10 ¦ 11 ¦ 12 ¦ 13 ¦ 14 ¦ 15 ¦ 16 ¦ 17 ¦'
ADD(YU)
CLEAR(ST)
ST='
¦'
ADD(YU)
CLEAR(ST)
INS:NTER=0
SET(INS:K1,INS:K1)
LOOP UNTIL EOF(INSP)
NEXT(INSP)
PN#=0
if ins:nter>23
THEN
ST2=CLIP(INS:NAME)&' инспекция'
ELSE
ST2='Инспекция'
ADD(yu)=INS:NAME.
TER:KODT=INS:NTER
SET(TER:K1,TER:K1)
LOOP UNTIL EOF(TERR)
NEXT(TERR)
IF TER:KODTINS:NTER THEN BREAK.
IF INS:NTER>23 AND PN#=0
F:NKUST=INS:NTER
GET(F,F:K1)
IF F:F1>0
ST3=F:F1.
IF F:F2>0
ST4=F:F2.
IF F:F3>0
ST7=F:F3.
IF F:F4>0
ST8=F:F4.
IF F:F11>0
ST11=F:F11.
IF F:F12>0
ST12=F:F12.
IF ST3 OR ST4
ST5=ST4-ST3.
IF ST3>0 AND ST4>0
ST6=ST4/ST3*100.
IF ST7 OR ST8
ST9=ST8-ST7.
IF ST7>0 AND ST8>0
ST10=ST8/ST7*100.
IF ST12 OR ST11
ST13=ST12-ST11.
IF ST12>0 AND ST11>0
ST14=ST12/ST11*100.
IF F:F13>0
ST15=F:F13.
IF F:F14>0
ST16=F:F14.
IF ST15 OR ST16
ST17=ST16-ST15.
IF ST15>0 AND ST16>0
ST18=ST16/ST15*100.
PN#=1
ADD(YU)
CLEAR(ST)
ADD(YU). XRE:NREGION=TER:NREGION SET(XRE:K1,XRE:K1)
LOOP UNTIL EOF(XREG)
NEXT(XREG)
IF XRE:NREGIONTER:NREGION THEN BREAK.
IF INS:NTER>23
ST2=XRE:IREG.
F:NREGION=XRE:NREGION
GET(F,F:K2)
IF F:F1>0
ST3=F:F1.
IF F:F2>0
ST4=F:F2.
IF F:F3>0
ST7=F:F3.
IF F:F4>0
ST8=F:F4.
IF F:F11>0
ST11=F:F11.
IF F:F12>0
ST12=F:F12.
IF ST3 OR ST4
ST5=ST4-ST3.
IF ST3>0 AND ST4>0
ST6=ST4/ST3*100.
IF ST7 OR ST8
ST9=ST8-ST7.
IF ST7>0 AND ST8>0
ST10=ST8/ST7*100.
IF ST12 OR ST11
ST13=ST12-ST11.
IF ST12>0 AND ST11>0
ST14=ST12/ST11*100.
IF F:F13>0
ST15=F:F13.
IF F:F14>0
ST16=F:F14.
IF ST15 OR ST16
ST17=ST16-ST15.
IF ST15>0 AND ST16>0
ST18=ST16/ST15*100.
ADD(YU)
CLEAR(ST)
GOR:GOROD=' '
SET(GOR:CGOR,GOR:CGOR)
LOOP UNTIL EOF(GOR)
NEXT(GOR)
IF GOR:NREGIONXRE:NREGION THEN CYCLE.
F:NGOR=GOR:KG
GET(F,F:K3)
IF F:F1>0
ST3=F:F1.
IF F:F2>0
ST4=F:F2.
IF F:F3>0
ST7=F:F3.
IF F:F4>0
ST8=F:F4.
IF F:F11>0
ST11=F:F11.
IF F:F12>0
ST12=F:F12.
IF ST3 OR ST4
ST5=ST4-ST3.
IF ST3>0 AND ST4>0
ST6=ST4/ST3*100.
IF ST7 OR ST8
ST9=ST8-ST7.
IF ST7>0 AND ST8>0
ST10=ST8/ST7*100.
IF ST12 OR ST11
ST13=ST12-ST11.
IF ST12>0 AND ST11>0
ST14=ST12/ST11*100.
IF F:F13>0
ST15=F:F13.
IF F:F14>0
ST16=F:F14.
IF ST15 OR ST16
ST17=ST16-ST15.
IF ST15>0 AND ST16>0
ST18=ST16/ST15*100.
IF ~ST THEN CYCLE.
ST2=' '&GOR:GOROD
ADD(YU)
CLEAR(ST)
ADD(YU)
LIC:NREGION=XRE:NREGION
LIC:KNAM=' '
SET(LIC:CNREG,LIC:CNREG)
LOOP UNTIL EOF(LIC)
NEXT(LIC)
IF LIC:NREGIONXRE:NREGION THEN BREAK.
IF LIC:NCITYGOR:KG THEN CYCLE.
CLEAR(T67:RECORD)
T67:PNOMBER=LIC:PNOMBER
GET(T67,T67:C)
IF ERRORCODE() THEN CYCLE.
T=0
IF T67:A400N>=100
ST3=T67:A400N/1000.
IF T67:A400K>=100
ST4=T67:A400K/1000.
T=T67:A400K-T67:A400N
IF T>=100 OR T
T=0
IF ST4>0 AND ST3>0 THEN ST6=ST4/ST3*100.
IF T67:A495N>=100
ST7=T67:A495N/1000.
IF T67:A495K>=100
T=0
ST8=T67:A495K/1000.
T=T67:A495K-T67:A495N
IF T>=100 OR T
T=0
IF ST8>0 AND ST7>0 THEN ST10=ST8/ST7*100.
CLEAR(T17:RECORD)
T17:PNOMBER=LIC:PNOMBER
GET(T17,T17:C)
IF T17:F001>=100
ST12=T17:F001/1000.
IF T17:F010>=100
ST16=T17:F010/1000.
CLEAR(F92:RECORD)
F92:PNOMBER=LIC:PNOMBER
GET(F92,F92:FC)
IF F92:F1>=100
ST11=F92:F1/1000.
IF F92:F10>=100
ST15=F92:F10/1000.
T=0
T=T17:F001-F92:F1
IF T>=100 OR T
T=0
IF ST12>0 AND ST11>0 THEN ST14=ST12/ST11*100.
T=0
T=T17:F010-F92:F10
IF T=100 THEN ST17=T/1000.
T=0
IF ST16>0 AND ST15>0 THEN ST18=ST16/ST15*100.
ST2=' '&LIC:KNAM
ADD(YU)
CLEAR(ST).
CLEAR(ST).
ADD(YU)...
ADD(YU).
!------ ОБЪЕМПОСТУПЛЕНИЙИ ВЫПЛАТ НА1 РАБОТНИКА-------
AT3PROCEDURE
YUDOS,ASCII,NAME('YU.YU')
RECORD
STSTRING(150)..
GROUP,OVER(ST)
STRING(1)
ST2STRING(33)
STRING(2)
ST3STRING(@N_9.2)
STRING(1)
ST4STRING(@N_10.2)
STRING(1)
ST5STRING(@N_9.2)
STRING(2)
ST6STRING(@N_10.2)
STRING(3)
ST7STRING(@N_6)
STRING(5)
ST8STRING(@N_9.2)
STRING(4)
ST9STRING(@N_8.2)
STRING(4)
ST10STRING(@N_8.2)
STRING(2)
ST11STRING(@N_8.2)
STRING(1)
ST12STRING(@N_8.2)
.
TREAL
CODE
PN#=0
CREATE(YU)
ST='ОБЪЕМ ПОСТУПЛЕНИЙИ ВЫПЛАТ НА1 РАБОТНИКАСТРАХОВОЙОРГАНИЗАЦИИ'
ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
ADD(YU)
CLEAR(ST)
ST='¦
млн.руб. '
¦ Страховыевзносы ¦ Страховыевыплаты ¦ Среднесписочная
¦ Поступлениестраховых¦Страховыевыплаты ¦'
ADD(YU)
CLEAR(ST)
ST='¦ Наименование ¦ ¦ ¦численностьработников¦взносовна 1 работника¦ на 1 работника ¦'
ADD(YU)
CLEAR(ST)
ST='¦ страховойорганизации '
¦'
ADD(YU)
CLEAR(ST)
ST='¦ ¦ 1994 ¦ 1995 ¦ 1994 ¦ 1995 ¦ 1994 ¦ 1995 ¦ 1994 ¦ 1995 ¦ 1994 ¦ 1995 ¦'
ADD(YU)
CLEAR(ST)
ST='¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦ 5 ¦ 6 ¦ 7 ¦ 8 ¦ 9 ¦ 10 ¦ 11 ¦'
ADD(YU)
CLEAR(ST) ST='
‘
ADD(YU)
CLEAR(ST)
INS:NTER=0
SET(INS:K1,INS:K1)
LOOP UNTIL EOF(INSP)
NEXT(INSP)
PN#=0
if ins:nter>23
THEN
ST2=CLIP(INS:NAME)&' инспекция'
ELSE
ST2='Инспекция'
ADD(yu)
ST2=INS:NAME.
TER:KODT=INS:NTER
SET(TER:K1,TER:K1)
LOOP UNTIL EOF(TERR)
NEXT(TERR)
IF TER:KODTINS:NTER THEN BREAK.
IF INS:NTER>23 AND PN#=0
F:NKUST=INS:NTER
GET(F,F:K1)
IF F:F11>0
ST3=F:F11.
IF F:F12>0
ST4=F:F12.
IF F:F13>0
ST5=F:F13.
IF F:F14>0
ST6=F:F14.
IF F:F15>0
ST7=F:F15.
IF F:F16>0
ST8=F:F16.
IF ST3>0 AND ST7>0
ST9=ST3/ST7.
IF ST4>0 AND ST8>0
ST10=ST4/ST8.
IF ST5>0 AND ST7>0
ST11=ST5/ST7.
IF ST6>0 AND ST8>0
ST12=ST6/ST8.
PN#=1
ADD(YU)
CLEAR(ST)
ADD(YU).
XRE:NREGION=TER:NREGION
SET(XRE:K1,XRE:K1)
LOOP UNTIL EOF(XREG)
NEXT(XREG)
IF XRE:NREGIONTER:NREGION THEN BREAK.
IF INS:NTER>23
ST2=' '&XRE:IREG.
F:NREGION=XRE:NREGION
GET(F,F:K2)
IF F:F11>0
ST3=F:F11.
IF F:F12>0
ST4=F:F12.
IF F:F13>0
ST5=F:F13.
IF F:F14>0
ST6=F:F14.
IF F:F15>0
ST7=F:F15.
IF F:F16>0
ST8=F:F16.
IF ST3>0 AND ST7>0
ST9=ST3/ST7.
IF ST4>0 AND ST8>0
ST10=ST4/ST8.
IF ST5>0 AND ST7>0
ST11=ST5/ST7.
IF ST6>0 AND ST8>0
ST12=ST6/ST8.
ADD(YU)
CLEAR(ST)
ADD(YU)
CLEAR(ST)
GOR:GOROD=' '
SET(GOR:CGOR,GOR:CGOR)
LOOP UNTIL EOF(GOR)
NEXT(GOR)
IF GOR:NREGIONXRE:NREGION THEN CYCLE.
F:NGOR=GOR:KG
GET(F,F:K3)
IF F:F11>0
ST3=F:F11.
IF F:F12>0
ST4=F:F12.
IF F:F13>0
ST5=F:F13.
IF F:F14>0
ST6=F:F14.
IF F:F15>0
ST7=F:F15.
IF F:F16>0
ST8=F:F16.
IF ST3>0 AND ST7>0
ST9=ST3/ST7.
IF ST4>0 AND ST8>0
ST10=ST4/ST8.
IF ST5>0 AND ST7>0
ST11=ST5/ST7.
IF ST6>0 AND ST8>0
ST12=ST6/ST8.
IF ~ST THEN CYCLE.
ST2=' '&GOR:GOROD
ADD(YU)
CLEAR(ST)
LIC:NREGION=XRE:NREGION
LIC:KNAM=' '
SET(LIC:CNREG,LIC:CNREG)
LOOP UNTIL EOF(LIC)
NEXT(LIC)
IF LIC:NREGIONXRE:NREGION THEN BREAK.
IF LIC:NCITYGOR:KG THEN CYCLE.
CLEAR(F92:RECORD)
F92:PNOMBER=LIC:PNOMBER
GET(F92,F92:FC)
IF F92:F1>100
ST3=F92:F1/1000.
IF F92:F10>100
ST5=F92:F10/1000.
CLEAR(T17:RECORD)
T17:PNOMBER=LIC:PNOMBER
GET(T17,T17:C)
IF T17:F001>100
ST4=T17:F001/1000.
IF T17:F010>100
ST6=T17:F010/1000.
CLEAR(SVV:RECORD)
SVV:PNOM=LIC:PNOMBER
SVV:KZ=2
GET(SVV,SVV:K)
IF SVV:CR2>0
ST7=SVV:CR2.
CLEAR(DF:RECORD)
DF:PNOMBER=LIC:PNOMBER
GET(DF,DF:C)
IF DF:S750N0
ST8=DF:S750N.
IF F92:F1>100 AND SVV:CR20
THEN ST9=F92:F1/SVV:CR2/1000.
IF T17:F001>100 AND DF:S750N0
THEN ST10=T17:F001/DF:S750N/1000.
IF F92:F10>100 AND SVV:CR20
THEN ST11=F92:F10/SVV:CR2/1000.
IF T17:F010>100 AND DF:S750N0
THEN ST12=T17:F010/DF:S750N/1000.
IF ST
PN#+=1
ST2=' '&LIC:KNAM
ADD(YU)
CLEAR(ST).
CLEAR(ST).
ADD(YU)...
ADD(YU).
!------ ВЫБОРКАПО УСТАВНОМУКАПИТАЛУ -------
UKPROCEDURE
YUDOS,ASCII,NAME('YU.YU')
RECORD
STSTRING(56)..
GROUP,OVER(ST)
STRING(1)
ST1STRING(@N4)
STRING(1)
ST2STRING(30)
STRING(5)
ST3STRING(@N_8.2)
.
TREAL
CODE
PN#=0
CREATE(YU)
ST='СПИСОКСТРАХОВЫХОРГАНИЗАЦИЙ,ИМЕЮЩИХ УСТАВНЫЙКАПИТАЛ'
ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
ST='ОТ '&MEM:NG/1000&' ДО'&MEM:VG/1000&' МЛН.РУБ.ЗА '&MEM:GOD&' ГОД'ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
IF MEM:PR=2
ST=XRE:IREG
ST=CENTER(ST)
ADD(YU)
CLEAR(ST).
ST=' '
ADD(YU)
CLEAR(ST)
ST='¦ ¦ Наименование ¦ Уставныйкапитал ¦'
ADD(YU)
CLEAR(ST)
ST='¦ N ¦ страховойорганизации ¦ ¦'
ADD(YU)
CLEAR(ST)
ST=' ¦'
ADD(YU)
CLEAR(ST)
ST='¦ 1 ¦ 2 ¦ 3 ¦'
ADD(YU)
CLEAR(ST) ST=' ‘
ADD(YU)
CLEAR(ST)
IF MEM:PR=2
THEN
LIC:NREGION=XRE:NREGION
SET(LIC:CNREG,LIC:CNREG)
ELSE
SET(LIC:CLIC,LIC:CLIC).
LOOP UNTIL EOF(LIC)
NEXT(LIC)
IF MEM:PR=2
IF LIC:NREGIONXRE:NREGION THEN BREAK..
T67:PNOMBER=LIC:PNOMBER
GET(T67,T67:C)
IF ~ERRORCODE()
THEN
IF MEM:GOD=1992
THEN
IF T67:A400NMEM:VG THENCYCLE.
ELSE
IF T67:A400KMEM:VG THENCYCLE..
PN#+=1
ST1=PN#
ST2=LIC:KNAM
IF MEM:GOD=1992 AND T67:A400N>0 THENST3=T67:A400N/1000.
IF MEM:GOD=1993 AND T67:A400K>0 THENST3=T67:A400K/1000.
ADD(YU)
CLEAR(ST)..
CLOSE(YU)
!------ ВЫБОРКАПО СТРАХОВЫМВЗНОСАМ -------
SVZPROCEDURE
YUDOS,ASCII,NAME('YU.YU')
RECORD
STSTRING(56)..
GROUP,OVER(ST)
STRING(1)
ST1STRING(@N4)
STRING(1)
ST2STRING(30)
STRING(5)
ST3STRING(@N_8.2)
.
TREAL
CODE
PN#=0
CREATE(YU)
ST='СПИСОКСТРАХОВЫХОРГАНИЗАЦИЙ,СУММА ПОСТУПЛЕНИЯ'
ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
ST='СТРАХОВЫХВЗНОСОВ КОТОРЫХ'
ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
ST='ОТ '&MEM:NG/1000&' ДО'&MEM:VG/1000&' МЛН.РУБ.ЗА '&MEM:GOD&' ГОД'ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
IF MEM:PR=2
ST=XRE:IREG
ST=CENTER(ST)
ADD(YU)
CLEAR(ST).ST='+------------------------------------------------------+'
ADD(YU)
CLEAR(ST)
ST='¦ ¦ Наименование ¦ Поступление ¦'
ADD(YU)
CLEAR(ST)
ST='¦ N ¦ страховойорганизации ¦страховыхвзносов ¦'
ADD(YU)
CLEAR(ST)ST='+----+------------------------------+------------------¦'
ADD(YU)
CLEAR(ST)
ST='¦ 1 ¦ 2 ¦ 3 ¦'
ADD(YU)
CLEAR(ST)ST='+----+------------------------------+------------------¦'
ADD(YU)
CLEAR(ST)
IF MEM:PR=2
THEN
LIC:NREGION=XRE:NREGION
SET(LIC:CNREG,LIC:CNREG)
ELSE
SET(LIC:CLIC,LIC:CLIC).
LOOP UNTIL EOF(LIC)
NEXT(LIC)
IF MEM:PR=2
IF LIC:NREGIONXRE:NREGION THEN BREAK..
IF MEM:GOD=1993
T17:PNOMBER=LIC:PNOMBER
GET(T17,T17:C)
IF ~ERRORCODE()
THEN
IF T17:F001MEM:VG THEN CYCLE.
ELSE
CYCLE..
IF MEM:GOD=1992
F92:PNOMBER=LIC:PNOMBER
GET(F92,F92:FC)
IF ~ERRORCODE()
THEN
IF F92:F1MEM:VGTHEN CYCLE.
ELSE
CYCLE..
PN#+=1
ST1=PN#
ST2=LIC:KNAM
IF MEM:GOD=1992 AND F92:F1>0 THENST3=F92:F1/1000.
IF MEM:GOD=1993 AND T17:F001>0THEN ST3=T17:F001/1000.
ADD(YU)
CLEAR(ST).
CLOSE(YU)
!------ ВЫБОРКАПО СТРАХОВЫМРЕЗЕРВАМ -------
SRPROCEDURE
YUDOS,ASCII,NAME('YU.YU')
RECORD
STSTRING(56)..
GROUP,OVER(ST)
STRING(1)
ST1STRING(@N4)
STRING(1)
ST2STRING(30)
STRING(5)
ST3STRING(@N_8.2)
.
TREAL
CODE
PN#=0
CREATE(YU)
ST='СПИСОКСТРАХОВЫХОРГАНИЗАЦИЙ,ИМЕЮЩИХ СТРАХОВЫЕРЕЗЕРВЫ' ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
ST='ОТ '&MEM:NG/1000&' ДО'&MEM:VG/1000&' МЛН.РУБ.ЗА '&MEM:GOD&' ГОД'ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
IF MEM:PR=2
ST=XRE:IREG
ST=CENTER(ST)
ADD(YU)
CLEAR(ST).ST='+------------------------------------------------------+'
ADD(YU)
CLEAR(ST)
ST='¦ ¦ Наименование ¦ Страховыерезервы¦' ADD(YU)
CLEAR(ST)
ST='¦ N ¦ страховойорганизации ¦ ¦'
ADD(YU)
CLEAR(ST)ST='+----+------------------------------+------------------¦'
ADD(YU)
CLEAR(ST)
ST='¦ 1 ¦ 2 ¦ 3 ¦'
ADD(YU)
CLEAR(ST)ST='+----+------------------------------+------------------¦'
ADD(YU)
CLEAR(ST)
IF MEM:PR=2
THEN
LIC:NREGION=XRE:NREGION
SET(LIC:CNREG,LIC:CNREG)
ELSE
SET(LIC:CLIC,LIC:CLIC).
LOOP UNTIL EOF(LIC)
NEXT(LIC)
IF MEM:PR=2
IF LIC:NREGIONXRE:NREGION THEN BREAK..
T67:PNOMBER=LIC:PNOMBER
GET(T67,T67:C)
IF ~ERRORCODE()
IF MEM:GOD=1992
THEN
IF T67:A495NMEM:VG THEN CYCLE.
ELSE
IF T67:A495KMEM:VG THEN CYCLE..
PN#+=1
ST1=PN#
ST2=LIC:KNAM
IF MEM:GOD=1992 AND T67:A495N>0 THENST3=T67:A495N/1000.
IF MEM:GOD=1993 AND T67:A495K>0 THENST3=T67:A495K/1000. ADD(YU)
CLEAR(ST)..
CLOSE(YU)
!------ ВЫБОРКАПО СТРАХОВЫМВЫПЛАТАМ -------
SVPPROCEDURE
YUDOS,ASCII,NAME('YU.YU')
RECORD
STSTRING(56)..
GROUP,OVER(ST)
STRING(1)
ST1STRING(@N4)
STRING(1)
ST2STRING(30)
STRING(5)
ST3STRING(@N_8.2)
.
TREAL
CODE
PN#=0
CREATE(YU)
ST='СПИСОКСТРАХОВЫХОРГАНИЗАЦИЙ,ИМЕЮЩИХ СТРАХОВЫЕВЫПЛАТЫ'
ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
ST='ОТ '&MEM:NG/1000&' ДО'&MEM:VG/1000&' МЛН.РУБ.ЗА '&MEM:GOD&' ГОД'ST=CENTER(ST)
ADD(YU)
CLEAR(ST)
IF MEM:PR=2
ST=XRE:IREG
ST=CENTER(ST)
ADD(YU)
CLEAR(ST).ST='+----------------------------------------------------+'
ADD(YU)
CLEAR(ST)
ST='¦ ¦ Наименование ¦ Страховыевыплаты¦'
ADD(YU)
CLEAR(ST)
ST='¦ N ¦ страховойорганизации ¦ ¦'
ADD(YU)
CLEAR(ST)ST='+----+------------------------------+-----------------¦'
ADD(YU)
CLEAR(ST)
ST='¦ 1 ¦ 2 ¦ 3 ¦'
ADD(YU)
CLEAR(ST)ST='+----+------------------------------+-----------------¦'
ADD(YU)
CLEAR(ST)
IF MEM:PR=2
THEN
LIC:NREGION=XRE:NREGION
SET(LIC:CNREG,LIC:CNREG)
ELSE
SET(LIC:CLIC,LIC:CLIC).
LOOP UNTIL EOF(LIC)
NEXT(LIC)
IF MEM:PR=2
IF LIC:NREGIONXRE:NREGION THEN BREAK..
IF MEM:GOD=1993
T17:PNOMBER=LIC:PNOMBER
GET(T17,T17:C)
IF ~ERRORCODE()
THEN
IF T17:F010MEM:VG THENCYCLE.
ELSE
CYCLE..
IF MEM:GOD=1992
F92:PNOMBER=LIC:PNOMBER
GET(F92,F92:FC)
IF ~ERRORCODE()
THEN
IF F92:F10MEM:VG THEN CYCLE.
ELSE CYCLE..
PN#+=1
ST1=PN#
ST2=LIC:KNAM
IF MEM:GOD=1992 AND F92:F10>0 THEN ST3=F92:F10/1000.
IF MEM:GOD=1993 AND T17:F010>0 THENST3=T17:F010/1000. ADD(YU)
CLEAR(ST).
CLOSE(YU)
CLEAR(ST)
6.2 Финансовые данные баланса | 1993 | 1994 | 1995 | 1996 | 1997 | |||
Доход (тыс.руб) | От эмитентов | 50000 | 102000 | 195000 | 487500 | 878906 | ||
От акционеров | 2500 | 3198 | 3656 | 3656 | 2637 | |||
От других | 0 | 0 | 0 | 0 | 0 | |||
Всего | 52500 | 105188 | 491156 | 491156 | 881543 | |||
Расход (тыс.руб) | Заработная плата | 30000 | 39000 | 51000 | 89100 | |||
Помещения | 10000 | 30000 | 40000 | 60000 | 127875 | |||
Оборудование | 5000 | 3909 | 7727 | 12273 | 90000 | |||
Налоги | 3000 | 3900 | 5100 | 8910 | 14091 | |||
Другое | 2000 | 4007 | 7568 | 18711 | 12788 | |||
Всего | 50000 | 82816 | 111395 | 188993 | 33583 | |||
Прибыль (тыс.руб) | 2500 | 22371 | 87261 | 302163 | 603207 |
6.3 Критерии эффективности функционирования | ||||||||
1993 | 1994 | 1995 | 1996 | 1997 | ||||
Финансовые | Доход на 1 | 5250000 | 6187500 | 7640625 | 9445313 | 10753906 | ||
показатели | эмитента | |||||||
эффективности | ||||||||
Доход на 1 | 5833 | 7563 | 9551 | 11514 | 14940 | |||
операцию | ||||||||
Доход на 1 | 955 | 1238 | 1528 | 1802 | 2290 | |||
акционера | ||||||||
Расход на 1 | 5000000 | 4871543 | 4284428 | 3634489 | 3711147 | |||
эмитента | ||||||||
Расход на 1 | 5556 | 5954 | 5356 | 4430 | 4717 | |||
операцию | ||||||||
Доля прибыли | 5% | 21% | 44% | 62% | 68% | |||
Рабочие | Эмитентов на 1 | 0,91 | 1,31 | 1,53 | 1,93 | 2,42 | ||
(операционные) | служащего | |||||||
показатели | ||||||||
Акционеров на 1 | 5000 | 6538 | 7647 | 10093 | 12419 | |||
служащего | ||||||||
Операций на 1 | 12 | 11 | 12 | 13 | 16 | |||
оператора на 1 | ||||||||
день | ||||||||
Операций на 1 | 0,34 | 0,16 | 0,16 | 0,16 | 0,15 | |||
акционера |
ANT PROGRAM
INCLUDE('STD_KEYS.CLA')
INCLUDE('CTL_KEYS.CLA')
INCLUDE('ALT_KEYS.CLA')
INCLUDE('SHF_KEYS.CLA')
REJECT_KEY EQUATE(CTRL_ESC)
ACCEPT_KEY EQUATE(CTRL_ENTER)
TRUE EQUATE(1)
FALSE EQUATE(0)
MAP
PROC(G_OPENFILES)
PROC(G_OPENFILES2)
MODULE('ANT1')
PROC(GBO1)
.
MODULE('ANT2')
PROC(R)
.
MODULE('ANT3')
PROC(REG)
.
MODULE('ANT4')
PROC(MEN2)
.
MODULE('ANT5')
PROC(MEN4)
.
MODULE('ANT6')
PROC(MEN5)
.
MODULE('ANT7')
PROC(MBO)
.
MODULE('ANT8')
PROC(GBO)
.
MODULE('ANTB')
PROC(AT1)
PROC(AT2)
PROC(AT3)
PROC(UK)
PROC(SVZ)
PROC(SR)
PROC(SVP)
PROC(S)
.
.
EJECT('FILE LAYOUTS')
T17 FILE,PRE(T17),CREATE,RECLAIM
OWNER('NPRN.K01'),ENCRYPT
C KEY(T17:PNOMBER),DUP,NOCASE,OPT
RECORD RECORD
PNOMBER LONG !”ˆ€‘Ž‚›……‡“‹œ’€’›
F001 REAL
F002 REAL
F003 REAL
F004 REAL
F005 REAL
F006 REAL
F007 REAL
F008 REAL
F009 REAL
F010 REAL
F011 REAL
F012 REAL
F013 REAL
F014 REAL
F015 REAL
F016 REAL
F017 REAL
F018 REAL
F019 REAL
F020 REAL
F021 REAL
. .
T67 FILE,PRE(T67),CREATE,RECLAIM
OWNER('NPRN.K01'),ENCRYPT
C KEY(T67:PNOMBER),DUP,NOCASE,OPT
RECORD RECORD
PNOMBER LONG !€‘‘ˆ‚€‹€‘€
A400N REAL !1гбв ўл©д®¤
A400K REAL
A410N REAL !2१Ґаўл©д®¤
A410K REAL
A420N REAL !3
A420K REAL
A430N REAL !4
A430K REAL
A440N REAL !5
A440K REAL
A450N REAL !6
A450K REAL
A460N REAL !7
A460K REAL
A470N REAL !8
A470K REAL
A471N REAL !9
A471K REAL
A472N REAL !10
A472K REAL
A480N REAL !11
A480K REAL
A485N REAL !12
A485K REAL
A490N REAL !13
A490K REAL
A491N REAL !14
A491K REAL
A492N REAL !15
A492K REAL
A493N REAL !16
A493K REAL
A494N REAL !17
A494K REAL
A495N REAL !18
A495K REAL
A500N REAL !19
A500K REAL
A510N REAL !20
A510K REAL
A520N REAL !21
A520K REAL
A600N REAL !22
A600K REAL
A620N REAL !23
A620K REAL
A650N REAL !24
A650K REAL
A660N REAL !25
A660K REAL
A670N REAL !26
A670K REAL
A680N REAL !27
A680K REAL
A690N REAL !28
A690K REAL
A700N REAL !29
A700K REAL
A710N REAL !30
A710K REAL
A712N REAL !31
A712K REAL
A730N REAL !32
A730K REAL
A740N REAL !33
A740K REAL
A750N REAL !34
A750K REAL
A760N REAL !35
A760K REAL
A770N REAL !36
A770K REAL
A780N REAL !37
A780K REAL
. .
DF FILE,PRE(DF),CREATE,RECLAIM
OWNER('NPRN.K01'),ENCRYPT
C KEY(DF:PNOMBER),DUP,NOCASE,OPT
RECORD RECORD
PNOMBER SHORT
S010N REAL !1
S010P REAL
S010I REAL
S010K REAL
S020N REAL !2
S020P REAL
S020I REAL
S020K REAL
S030N REAL !3 䮤 Є®Ї«ҐЁп
S030P REAL
S030I REAL
S030K REAL
S031N REAL !4
S031P REAL
S031I REAL
S031K REAL
S032N REAL !5
S032P REAL
S032I REAL
S032K REAL
S033N REAL !6
S033P REAL
S033I REAL
S033K REAL
S034N REAL !7
S034P REAL
S034I REAL
S034K REAL
S035N REAL !8
S035P REAL
S035I REAL
S035K REAL
S036N REAL !9
S036P REAL
S036I REAL
S036K REAL
S037N REAL !10
S037P REAL
S037I REAL
S037K REAL
S038N REAL !11
S038P REAL
S038I REAL
S038K REAL
S039N REAL !12
S039P REAL
S039I REAL
S039K REAL
S040N REAL !13 䮤Ї®вॡ«ҐЁп
S040P REAL
S040I REAL
S040K REAL
S041N REAL !14
S041P REAL
S041I REAL
S041K REAL
S042N REAL !15
S042P REAL
S042I REAL
S042K REAL
S043N REAL !16
S043P REAL
S043I REAL
S043K REAL
S044N REAL !17
S044P REAL
S044I REAL
S044K REAL
S045N REAL !18
S045P REAL
S045I REAL
S045K REAL
S046N REAL !19
S046P REAL
S046I REAL
S046K REAL
S047N REAL !20
S047P REAL
S047I REAL
S047K REAL
S050N REAL !21
S050P REAL
S050I REAL
S050K REAL
S060N REAL !22
S060P REAL
S060I REAL
S060K REAL
S070N REAL !23
S070P REAL
S070I REAL
S070K REAL
S071N REAL !24
S071P REAL
S071I REAL
S071K REAL
S072N REAL !25
S072P REAL
S072I REAL
S072K REAL
S073N REAL !26
S073P REAL
S073I REAL
S073K REAL
S074N REAL !27
S074P REAL
S074I REAL
S074K REAL
S075N REAL !28
S075P REAL
S075I REAL
S075K REAL
S080N REAL !29
S080P REAL
S080I REAL
S080K REAL
S090N REAL !30
S090P REAL
S090I REAL
S090K REAL
S210N REAL !31
S210P REAL
S210I REAL
S210K REAL
S211N REAL !32
S211P REAL
S211I REAL
S211K REAL
S220N REAL !33
S220P REAL
S220I REAL
S220K REAL
S221N REAL !34
S221P REAL
S221I REAL
S221K REAL
S230N REAL !35
S230P REAL
S230I REAL
S230K REAL
S231N REAL !36
S231P REAL
S231I REAL
S231K REAL
S240N REAL !37
S240P REAL
S240I REAL
S240K REAL
S241N REAL !38
S241P REAL
S241I REAL
S241K REAL
S250N REAL !39
S250P REAL
S250I REAL
S250K REAL
S251N REAL !40
S251P REAL
S251I REAL
S251K REAL
S310N REAL !41Єа вЄ®ба®з п
S310P REAL
S310I REAL
S310K REAL
S320N REAL !42¤®«Ј®ба®з п
S320P REAL
S320I REAL
S320K REAL
S330N REAL !43Єа вЄ®ба®з п
S330P REAL
S330I REAL
S330K REAL
S340N REAL !44¤®«Ј®ба®з п
S340P REAL
S340I REAL
S340K REAL
S350N REAL !45Ї®«гзҐлҐ
S350P REAL
S350I REAL
S350K REAL
S360N REAL !46ўл¤ лҐ
S360P REAL
S360I REAL
S360K REAL
R410N REAL !47 Ґ¬ в ЄвЁўл
R410P REAL
R410I REAL
R410K REAL
R420N REAL !48
R420P REAL
R420I REAL
R420K REAL
R430N REAL !49
R430P REAL
R430I REAL
R430K REAL
R440N REAL !50
R440P REAL
R440I REAL
R440K REAL
S500N REAL !51 ‡¤ Ёп
S500P REAL
S500I REAL
S500K REAL
S501N REAL !52‘®®а㦥Ёп
S501P REAL
S501I REAL
S501K REAL
S502N REAL !53ҐаҐ¤ в®злҐгбва®©бвў
S502P REAL
S502I REAL
S502K REAL
S503N REAL !54 Œ иЁлЁ ®Ў®а㤮ў ЁҐ
S503P REAL
S503I REAL
S503K REAL
S504N REAL !55’а бЇ®авлҐб।бвў
S504P REAL
S504I REAL
S504K REAL
S505N REAL !56ЁўҐв ам
S505P REAL
S505I REAL
S505K REAL
S506N REAL !57 Ў®зЁ©бЄ®в
S506P REAL
S506I REAL
S506K REAL
S507N REAL !58தгЄвЁўл©бЄ®в
S507P REAL
S507I REAL
S507K REAL
S508N REAL !59Œ®Ј®«вЁҐ б ¦¤ҐЁп
S508P REAL
S508I REAL
S508K REAL
S509N REAL !60
S509P REAL
S509I REAL
S509K REAL
S510N REAL !61
S510P REAL
S510I REAL
S510K REAL
S511N REAL !62Їа®Ё§ў®¤б⢥лҐ
S511P REAL
S511I REAL
S511K REAL
S512N REAL !63ҐЇа®Ё§ў®¤б⢥лҐ
S512P REAL
S512I REAL
S512K REAL
S520N REAL !64
S520P REAL
S520I REAL
S520K REAL
S530N REAL !65
S530P REAL
S530I REAL
S530K REAL
S540N REAL !66
S540P REAL
S540I REAL
S540K REAL
S610N REAL !67
S610P REAL
S610I REAL
S610K REAL
S620N REAL !68
S620P REAL
S620I REAL
S620K REAL
S630N REAL !69
S630P REAL
S630I REAL
S630K REAL
S640N REAL !70
S640P REAL
S640I REAL
S640K REAL
S650N REAL !71
S650P REAL
S650I REAL
S650K REAL
S710N REAL !72
S710P REAL
S710I REAL
S710K REAL
S720N REAL !73
S720P REAL
S720I REAL
S720K REAL
S730N REAL !74
S730P REAL
S730I REAL
S730K REAL
S740N REAL !75
S740P REAL
S740I REAL
S740K REAL
S750N REAL !76
S750P REAL
S750I REAL
S750K REAL
S760N REAL !77
S760P REAL
S760I REAL
S760K REAL
S761N REAL !78
S761P REAL
S761I REAL
S761K REAL
S762N REAL !79
S762P REAL
S762I REAL
S762K REAL
S763N REAL !80
S763P REAL
S763I REAL
S763K REAL
S810N REAL !81
S810P REAL
S810I REAL
S810K REAL
S811N REAL !82
S811P REAL
S811I REAL
S811K REAL
S812N REAL !83
S812P REAL
S812I REAL
S812K REAL
S813N REAL !84
S813P REAL
S813I REAL
S813K REAL
S814N REAL !85
S814P REAL
S814I REAL
S814K REAL
S820N REAL !86аЁў«ҐзҐлҐб।бвў -ўбҐЈ®
S820P REAL
S820I REAL
S820K REAL
S821N REAL !87 ЄаҐ¤ЁвлЎ Є®ў
S821P REAL
S821I REAL
S821K REAL
S822N REAL !88
S822P REAL
S822I REAL
S822K REAL
S823N REAL !89
S823P REAL
S823I REAL
S823K REAL
S824N REAL !90 Ё§Ўо¤¦Ґв
S824P REAL
S824I REAL
S824K REAL
S825N REAL !91 Ё§ўҐЎо¤¦Ґвле䮤®ў
S825P REAL
S825I REAL
S825K REAL
S826N REAL !92
S826P REAL
S826I REAL
S826K REAL
S830N REAL !93
S830P REAL
S830I REAL
S830K REAL
S910N REAL !94
S910P REAL
S910I REAL
S910K REAL
S920N REAL !95
S920P REAL
S920I REAL
S920K REAL
S930N REAL !96
S930P REAL
S930I REAL
S930K REAL
S940N REAL !97
S940P REAL
S940I REAL
S940K REAL
S950N REAL !98
S950P REAL
S950I REAL
S950K REAL
S960N REAL !99
S960P REAL
S960I REAL
S960K REAL
S970N REAL !100
S970P REAL
S970I REAL
S970K REAL
S980N REAL !101
S980P REAL
S980I REAL
S980K REAL
S990N REAL !102
S990P REAL
S990I REAL
S990K REAL
R110N REAL !103бЇа ўЄЁ д®а¬л5
R110P REAL
R110I REAL
R110K REAL
R120N REAL !104
R120P REAL
R120I REAL
R120K REAL
R130N REAL !105
R130P REAL
R130I REAL
R130K REAL
R140N REAL !106
R140P REAL
R140I REAL
R140K REAL
R150N REAL !107
R150P REAL
R150I REAL
R150K REAL
. .
SVV FILE,NAME('D:\LICEN\SVV'),PRE(SVV)
K KEY(SVV:PNOM,SVV:KZ),DUP,NOCASE,OPT
RECORD RECORD
PNOM SHORT
LC SHORT
MN STRING(1)
VP STRING(1)
PR REAL
KZ REAL
PSV1 REAL
PSV2 REAL
LS1 REAL
LS2 REAL
SG1 REAL
SG2 REAL
GBG1 REAL
GBG2 REAL
GMG1 REAL
GMG2 REAL
SNS1 REAL
SNS2 REAL
MS1 REAL
MS2 REAL
DLS1 REAL
DLS2 REAL
IS1 REAL
IS2 REAL
SIG1 REAL
SIG2 REAL
SGR1 REAL
SGR2 REAL
SRK1 REAL
SRK2 REAL
SIS1 REAL
SIS2 REAL
SO1 REAL
SO2 REAL
SST1 REAL
SST2 REAL
SNK1 REAL
SNK2 REAL
PSO1 REAL
PSO2 REAL
OS1 REAL
OS2 REAL
CR1 REAL
CR2 REAL
. .
F92 FILE,NAME('D:\LICEN\F92'),PRE(F92),CREATE,RECLAIM
FC KEY(F92:PNOMBER),DUP,NOCASE,OPT
RECORD RECORD
PNOMBER LONG
F1 REAL
F2 REAL
F3 REAL
F4 REAL
F5 REAL
F6 REAL
F7 REAL
F8 REAL
F9 REAL
F10 REAL
F11 REAL
F12 REAL
F13 REAL
F14 REAL
F15 REAL
F16 REAL
F17 REAL
F18 REAL
F19 REAL
F20 REAL
F21 REAL
F22 REAL
. .
LIC FILE,PRE(LIC),CREATE,RECLAIM
CLIC KEY(LIC:KNAM),DUP,NOCASE,OPT
CREG KEY(LIC:IREGION,LIC:KNAM),DUP,NOCASE,OPT
CPN1 KEY(LIC:PNOMBER),DUP,NOCASE,OPT
CNREG KEY(LIC:NREGION,LIC:KNAM),DUP,NOCASE,OPT
CNLIC KEY(LIC:NOMLIC),DUP,NOCASE,OPT
RECORD RECORD
KNAM STRING(30)!Єа вЄ®Ґ Ё¬пЄ®¬Ї ЁЁ
PNOMBER LONG!Їа®Ја ¬¬л©®¬Ґа
NOMLIC LONG !®¬Ґа«ЁжҐ§ЁЁ
KV STRING(1) !Š’Žўл¤лў « «ЁжҐ§Ёо
NREGION LONG !®¬ҐаॣЁ®
IREGION STRING(30) !Ё¬пॣЁ®
NCITY LONG
ICITY STRING(25)
ADRESS STRING(40)! ¤аҐб Є®¬Ї ЁЁ
ADRESS1 STRING(40)! ¤аҐб Є®¬Ї ЁЁ(2з)
FADRESS STRING(40)!Ї®зв®ўл© ¤аҐб
FADRESS1 STRING(40)!Ї®зв®ўл© ¤аҐб
FNAME STRING(40)!Ї®«®Ґ Ё¬п Є®¬Ї ЁЁ
ISPOLNIT STRING(15)!ˆ‘Ž‹ˆ’…‹œ
FNAME1 STRING(40)!Ї®«®Ґ Ё¬п Є®¬Ї ЁЁ(2з)
TELEPHON STRING(40)!⥫Ґд®л Є®¬Ї ЁЁ
VIDORG STRING(50) !ўЁ¤®аЈ Ё§ жЁЁ
VIDORG1 STRING(50) !ўЁ¤®аЈ Ё§ жЁЁ(2з.)
UFOND REAL !гбв ў®©д®¤
DATAR STRING(@d6) !¤ в ॣЁбва жЁЁ
VHODN LONG !ўе®¤пйЁ©®¬Ґа
DPOST STRING(@d6) !¤ в Ї®бвгЇ«ҐЁп¤®Єг¬Ґв®ў
REZRAS STRING(22)!१г«мв ва бᬮв२п
DUZ STRING(10)
PRINAD STRING(4)!Ј®«®ў п ®аЈ Ё§ жЁп
NPRIN LONG !Їа.®¬Ґа Ј®«®ў®©®аЈ Ё§ жЁ
NREISTR LONG
KVMR STRING(60)
DMR STRING(@d6)
SANK STRING(30)
DSANC STRING(10)
INCAP STRING(3)
. .
XREG FILE,PRE(XRE),CREATE,RECLAIM
K KEY(XRE:NREG),NOCASE,OPT
K1 KEY(XRE:NREGION),NOCASE,OPT
RECORD RECORD
NREG SHORT
IREG STRING(35)
NREGION SHORT
. .
GOR FILE,NAME('D:\LICEN\GOR'),PRE(GOR)
CGOR KEY(GOR:GOROD),DUP,NOCASE,OPT
RECORD RECORD
KG LONG
NREGION LONG
GOROD STRING(25)
. .
INSP FILE,NAME('D:\LICEN\INSP'),PRE(INS),CREATE,RECLAIM
K KEY(INS:NAME),DUP,NOCASE,OPT
K1 KEY(INS:NTER),DUP,NOCASE,OPT
RECORD RECORD
NAME STRING(30)
NTER SHORT
. .
TERR FILE,NAME('D:\LICEN\TERR'),PRE(TER),CREATE,RECLAIM
CREG KEY(TER:IREGION),DUP,NOCASE,OPT
CNREG KEY(TER:NREGION),DUP,NOCASE,OPT
K KEY(TER:KODT),DUP,NOCASE,OPT
K1 KEY(TER:KODT,TER:IREGION),DUP,NOCASE,OPT
RECORD RECORD
NAMT STRING(30)
KODT LONG
NREGION LONG
IREGION STRING(30)
. .
F FILE,PRE(F),CREATE,RECLAIM
K1 KEY(F:NKUST),DUP,NOCASE,OPT
K2 KEY(F:NREGION),DUP,NOCASE,OPT
K3 KEY(F:NGOR),DUP,NOCASE,OPT
RECORD RECORD
NKUST SHORT
NREGION SHORT
NGOR SHORT
F1 REAL !t67:a400n
F2 REAL !t67:a400k
F3 REAL !t67:a495n
F4 REAL !t67:a495K
F5 REAL !f92:f19
F6 REAL !t17:f018
F7 REAL !f92:f21
F8 REAL !t17:f020
F9 REAL !f92:f7
F10 REAL !t17:f004
F11 REAL !f92:f1
F12 REAL !t17:f001
F13 REAL !f92:f10
F14 REAL !t17:f010
F15 REAL !svv:cr2
F16 REAL !df:s750n
. .
EJECT('GLOBAL MEMORYVARIABLES')
ACTION SHORT !0 =NO ACTION
!1 = ADD RECORD
!2 = CHANGE RECORD
!3 = DELETE RECORD
!4 = LOOKUP FIELD
GROUP,PRE(MEM)
MESSAGE STRING(30)!Global Message Area
PAGE SHORT!Report Page Number
LINE SHORT!Report Line Number
DEVICE STRING(30)!Report Device Name
NR SHORT
NG REAL
VG REAL
GOD SHORT
PR SHORT
.
EJECT('CODE SECTION')
CODE
SETHUE(7,0) !SETWHITE ON BLACK
BLANK ! AND BLANK
G_OPENFILES !OPEN ORCREATE FILES
SETHUE() ! THESCREEN
GBO
RETURN !EXIT TO DOS
G_OPENFILES PROCEDURE!OPEN FILES & CHECK FOR ERROR
CODE
G_OPENFILES2(T17)!CALL OPEN FILE PROCEDURE
G_OPENFILES2(T67)!CALL OPEN FILE PROCEDURE
G_OPENFILES2(DF) !CALLOPEN FILE PROCEDURE
G_OPENFILES2(SVV)!CALL OPEN FILE PROCEDURE
G_OPENFILES2(F92)!CALL OPEN FILE PROCEDURE
G_OPENFILES2(LIC)!CALL OPEN FILE PROCEDURE
G_OPENFILES2(XREG)!CALL OPEN FILE PROCEDURE
G_OPENFILES2(GOR)!CALL OPEN FILE PROCEDURE
G_OPENFILES2(INSP)!CALL OPEN FILE PROCEDURE
G_OPENFILES2(TERR)!CALL OPEN FILE PROCEDURE
G_OPENFILES2(F) !CALLOPEN FILE PROCEDURE
BLANK !BLANK THESCREEN
G_OPENFILES2PROCEDURE(G_FILE) !OPEN EACH FILE & CHECK ERROR
G_FILE EXTERNAL,FILE
FILE_NAME STRING(64)
CODE
FILE_NAME = NAME(G_FILE)
SHOW(25,1,CENTER('OPENINGFILE: ' & CLIP(FILE_NAME),80)) !DISPLAY FILE NAME
OPEN(G_FILE) !OPENTHE FILE
IF ERROR() !OPENRETURNED AN ERROR
CASE ERRORCODE() !CHECK FOR SPECIFIC ERROR
OF 46 ! KEYS NEEDTO BE REQUILT
SETHUE(0,7) ! BLACK ON WHITE
SHOW(25,1,CENTER('REBUILDINGKEY FILES FOR ' & CLIP(FILE_NAME),80))
BUILD(G_FILE) ! CALL THE BUILD PROCEDURE
IF ERROR() ! ONUNNEXPECTED ERROR
LOOP ! STOP EXECUTION
STOP('Cannot Build ' &FILE_NAME & ' - Error: ' & ERROR())
.
.
SETHUE(7,0) ! WHITE ON BLACK
BLANK(25,1,1,80) ! BLANK THE MESSAGE
OF 2 !IF NOT FOUND,
CREATE(G_FILE) !CREATE
IF ERROR() !STOPON UNNEXPECTED ERROR
LOOP
STOP('Cannot Create ' &FILE_NAME & ' - Error: ' & ERROR())
. .
OF 73 ! MEMO FILENOT FOUND
LOOP ! STOPEXECUTION
STOP('Cannot Open Memo Filefor ' & FILE_NAME & ERROR())
.
ELSE ! ANY OTHERERROR
LOOP ! STOPEXECUTION
STOP('Cannot Open ' &FILE_NAME & ' - Error: ' & ERROR())
.
. .
(ant1)
MEMBER('ANT')
GBO1PROCEDURE
SCREENSCREENPRE(SCR),WINDOW(12,73),AT(6,6),HUE(15,5)
ROW(2,24) PAINT(1,21),HUE(11,5)
ROW(11,22) PAINT(1,31),HUE(30,1)
ROW(1,1)STRING('+-{71}+')
ROW(2,1)REPEAT(10);STRING('¦¦').
ROW(12,1) STRING('+-{71}+')
ROW(2,24) STRING('аналитическиетаблицы')ROW(11,30)
STRING('начальнаясортировка')
COL(25) STRING('F2 -')
ENTRY,USE(?FIRST_FIELD)
ENTRY,USE(?PRE_MENU)
MENU,USE(MENU_FIELD"),REQ
ROW(4,5)STRING('1. веденияоб измененииотдельных ' |
& 'показателейдеятельности')
ROW(5,5)STRING('2. анализпоказателейразвития ' |
& 'страховыхорганизаций')
ROW(6,5)STRING('3. объемпоступленийи выплат на1 ' |
& 'работникастраховойорганизации')
..
EJECT
CODE
OPEN(SCREEN)!OPEN THE MENUSCREEN
SETCURSOR!TURN OFF ANYCURSOR
MENU_FIELD" = ''!STARTMENU WITH FIRST ITEM
LOOP!LOOP UNTIL USEREXITS
ALERT!TURNOFF ALL ALERTED KEYS
ALERT(REJECT_KEY)!ALERTSCREEN REJECT KEY
ALERT(ACCEPT_KEY)!ALERTSCREEN ACCEPT KEY
ALERT(F2_KEY)!ALERT HOT KEY
ACCEPT!READA FIELD OR MENU CHOICE
IF KEYCODE() = F2_KEY!ONHOT KEY
UPDATE(?)! RETRIEVEFIELD
SAVACTN# = ACTION! SAVEACTION
S! CALL HOT KEYPROCEDURE
ACTION = SAVACTN#! RESTORE ACTION
SELECT(?)! DO SAME FIELDAGAIN
CYCLE! AND LOOP AGAIN
.
IF KEYCODE() = REJECT_KEY THENRETURN. !RETURN ON SCREEN REJECT
IF KEYCODE() = ACCEPT_KEY!ONSCREEN ACCEPT KEY
UPDATE! MOVE ALL FIELDSFROM SCREEN
SELECT(?)! START WITHCURRENT FIELD
SELECT! EDIT ALLFIELDS
CYCLE! GO TO TOP OFLOOP
.!
CASE FIELD()!JUMP TO FIELDEDIT ROUTINE
OF ?FIRST_FIELD!FROM THEFIRST FIELD
IF KEYCODE() = ESC_KEY THENRETURN.! RETURN ON ESC KEY
OF ?PRE_MENU !PRE MENU FIELD CONDITION
IF KEYCODE() = ESC_KEY! BACKING UP?
SELECT(?-1)! SELECTPREVIOUS FIELD
ELSE! GOING FORWARD
SELECT(?+1)! SELECTMENU FIELD
.
OF ?MENU_FIELD"!FROMTHE MENU FIELD
EXECUTE CHOICE()! CALLTHE SELECTED PROCEDURE
AT1!
AT2!
AT3!
. . .
(ant2)
MEMBER('ANT')
R PROCEDURE
SCREEN SCREEN PRE(SCR),WINDOW(1,3),AT(9,77),HUE(0,2)
ENTRY,USE(?FIRST_FIELD)
ROW(1,1) ENTRY,USE(MEM:NR)
NR COL(1) STRING(@n3),HUE(7,7)
ENTRY,USE(?LAST_FIELD)
.
EJECT
CODE
OPEN(SCREEN) !OPEN THESCREEN
SETCURSOR !TURN OFF ANYCURSOR
DISPLAY !DISPLAY THEFIELDS
LOOP !LOOP THRU ALL THEFIELDS
SCR:NR = MEM:NR
ALERT !RESET ALERTEDKEYS
ALERT(ACCEPT_KEY) !ALERTSCREEN ACCEPT KEY
ALERT(REJECT_KEY) !ALERTSCREEN REJECT KEY
ACCEPT !READ A FIELD
IF KEYCODE() = REJECT_KEYTHEN RETURN. !RETURN ON SCREEN REJECT KEY
IF KEYCODE() = ACCEPT_KEY !ON SCREEN ACCEPT KEY
UPDATE ! MOVE ALLFIELDS FROM SCREEN
SELECT(?) ! STARTWITH CURRENT FIELD
SELECT ! EDIT ALLFIELDS
CYCLE ! GO TO TOP OFLOOP
. !
CASE FIELD() !JUMP TOFIELD EDIT ROUTINE
OF ?FIRST_FIELD !FROM THEFIRST FIELD
IF KEYCODE() = ESC_KEY THENRETURN. ! RETURN ON ESC KEY
OF ?MEM:NR
XRE:NREGION = MEM:NR!MOVE RELATED FIELDS
GET(XREG,XRE:K1) !READTHE RECORD
ACTION# = ACTION !SAVEACTION
ACTION = 4 !REQUESTTABLE LOOKUP
REG !CALL LOOKUPPROCEDURE
IF ACTION !NOSELECTION WAS MADE
SELECT(?MEM:NR-1) ! BACK UPONE FIELD
ACTION = ACTION# ! RESTOREACTION
CYCLE ! GO TO TOP OF LOOP
.
SCR:NR = XRE:NREGION!DISPLAY LOOKUP FIELD
MEM:NR = XRE:NREGION!MOVE LOOKUP FIELD
DISPLAY(?MEM:NR) !ANDDISPLAY IT
ACTION = ACTION#!RESTORE ACTION
MEN2
OF ?LAST_FIELD !FROM THELAST FIELD
ACTION = 0 ! SETACTION TO COMPLETE
RETURN ! AND RETURNTO CALLER
. .
(ant3)
MEMBER('ANT')
REGPROCEDURE
SCREENSCREENPRE(SCR),WINDOW(25,39),AT(1,42),HUE(8,7)
ROW(2,9)PAINT(1,19),HUE(0,7)
ROW(1,1)STRING('+-{37}+')
ROW(2,1)REPEAT(2);STRING('¦¦').
ROW(4,1)STRING('¦')
ROW(5,1)REPEAT(20);STRING('¦¦').
ROW(25,1) STRING('+-{37}+')
ROW(2,12) STRING('выберитерегион')ROW(4,39) STRING('¦')
ENTRY,USE(?FIRST_FIELD)
ENTRY,USE(?PRE_POINT)REPEAT(21),EVERY(1),INDEX(NDX)
COL(2) POINT(1,37),USE(?POINT),ESC(?-1)
IREGCOL(3) STRING(35)
..
NDXBYTE!REPEAT INDEX FORPOINT AREA
ROWBYTE!ACTUAL ROW OF SCROLLAREA
COLBYTE!ACTUAL COLUMN OFSCROLL AREA
COUNTBYTE(21)!NUMBER OF ITEMSTO SCROLL
ROWSBYTE(21)!NUMBER OF ROWSTO SCROLL
COLSBYTE(37)!NUMBER OFCOLUMNS TO SCROLL
FOUNDBYTE!RECORD FOUND FLAG
NEWPTRLONG!POINTER TO NEWRECORD
TABLETABLE,PRE(TBL)!TABLE OFRECORD DATA
PTRLONG! POINTER TO FILERECORD
IREGSTRING(35)
NREGSHORT
.
EJECT
CODE
ACTION# = ACTION!SAVE ACTION
OPEN(SCREEN)!OPEN THESCREEN
SETCURSOR!TURN OFF ANYCURSOR
TBL:PTR = 1!START AT TABLEENTRY
NDX = 1!PUT SELECTOR BAR ONTOP ITEM
ROW = ROW(?POINT)!REMEMBERTOP ROW AND
COL = COL(?POINT)!LEFTCOLUMN OF SCROLL AREA
RECORDS# = TRUE!INITIALIZERECORDS FLAG
CACHE(XRE:K,.25)!CACHE KEYFILE
IF ACTION = 4! TABLELOOKUP REQUEST
NEWPTR = POINTER(XREG)! SETPOINTER TO RECORD
IF NOT NEWPTR! RECORD NOTPASSED TO TABLE
SET(XRE:K,XRE:K)! POSITION TO CLOSEST RECORD
NEXT(XREG)! READ RECORD
NEWPTR = POINTER(XREG)! SET POINTER
.
DO FIND_RECORD! POSITIONFILE
ELSE
NDX = 1 ! PUT SELECTOR BARON TOP ITEM
DO FIRST_PAGE! BUILD MEMORYTABLE OF KEYS
.
RECORDS# = TRUE! ASSUMETHERE ARE RECORDS
LOOP!LOOP UNTIL USER EXITS
ACTION = ACTION#!RESTOREACTION
ALERT!RESET ALERTED KEYS
ALERT(REJECT_KEY)!ALERTSCREEN REJECT KEY
ALERT(ACCEPT_KEY)!ALERTSCREEN ACCEPT KEY
ACCEPT!READ A FIELD
IF KEYCODE() = REJECT_KEY THENBREAK. !RETURN ON SCREEN REJECT KEY
IF KEYCODE() = ACCEPT_KEY |!ON SCREEN ACCEPT KEY
AND FIELD() ?POINT !BUT NOT ON THE POINT FIELD
UPDATE ! MOVE ALL FIELDS FROM SCREEN
SELECT(?) ! START WITH CURRENT FIELD
SELECT ! EDIT ALL FIELDS
CYCLE ! GO TO TOP OF LOOP
.
CASE FIELD()!JUMP TO FIELD EDITROUTINE
OF ?FIRST_FIELD !FROM THE FIRST FIELD
IF KEYCODE() = ESC_KEY | ! RETURN ON ESC KEY
OR RECORDS# = FALSEб ! OR NO RECORDS
BREAK !EXIT PROCEDURE
.
OF ?PRE_POINT!PRE POINT FIELDCONDITION
IF KEYCODE() = ESC_KEY! BACKING UP?
SELECT(?-1) !SELECT PREVIOUS FIELD
ELSE ! GOING FORWARD
SELECT(?POINT) !SELECT MENU FIELD
.
OF ?POINT !PROCESS THE POINT FIELD
IF RECORDS(TABLE) = 0 !IF THERE ARE NO RECORDS
CLEAR(XRE:RECORD) ! CLEAR RECORD AREA
ACTION = 1 ! SET ACTION TO ADD
GET(XREG,0) ! CLEAR PENDING RECORD
NEWPTR = POINTER(XREG) !SET POINTER TO NEW RECORD
DO FIRST_PAGE ! DISPLAY THE FIRST PAGE
IF RECORDS(TABLE) = 0 ! IF THERE AREN'T ANY RECORDS
RECORDS# = FALSE !INDICATE NO RECORDS
SELECT(?PRE_POINT-1) !SELECT THE PRIOR FIELD
.
CYCLE !AND LOOP AGAIN
.
CASE KEYCODE() !PROCESS THE KEYSTROKE
OF INS_KEY !INS KEY
CLEAR(XRE:RECORD) ! CLEAR RECORD AREA
ACTION = 1 ! SET ACTION TO ADD
GET(XREG,0) ! CLEAR PENDING RECORD
IF ~ACTION ! IF RECORD WAS ADDED
NEWPTR = POINTER(XREG) !SET POINTER TO NEW RECORD
DO FIND_RECORD !POSITION IN FILE
.
OF ENTER_KEY !ENTER KEY
OROF ACCEPT_KEY !CTRL-ENTER KEY
DO GET_RECORD ! GET THE SELECTED RECORD
IF ACTION = 4 AND KEYCODE() =ENTER_KEY !IF THIS IS A LOOKUP REQUEST
ACTION = 0 !SET ACTION TO COMPLETE
BREAK !AND RETURN TO CALLER
.
IF ~ERROR() ! IF RECORD IS STILL THERE
ACTION = 2 !SET ACTION TO CHANGE
IF ACTION THEN CYCLE. !IF SUCCESSFUL RE-DISPLAY
.
NEWPTR = POINTER(XREG) !SET POINTER TO NEW RECORD
DO FIND_RECORD !POSITION IN FILE
OF DEL_KEY !DEL KEY
DO GET_RECORD ! READ THE SELECTED RECORD
IF ~ERROR() ! IF RECORD IS STILL THERE
ACTION = 3 !SET ACTION TO DELETE
IF ~ACTION !IF SUCCESSFUL
N# = NDX ! SAVE POINT INDEX
DO SAME_PAGE ! RE-DISPLAY
NDX = N# ! RESTORE POINT INDEX
..
OF DOWN_KEY !DOWN ARROW KEY
DO SET_NEXT ! POINT TO NEXT RECORD
DO FILL_NEXT ! FILL A TABLE ENTRY
IF FOUND ! FOUND A NEW RECORD
SCROLL(ROW,COL,ROWS,COLS,ROWS(?POINT)) ! SCROLL THE SCREEN UP
GET(TABLE,RECORDS(TABLE))! GETRECORD FROM TABLE
DO FILL_SCREEN! DISPLAYON SCREEN
.
OF PGDN_KEY!PAGE DOWN KEY
DO SET_NEXT! POINT TO NEXTRECORD
DO NEXT_PAGE! DISPLAY THENEXT PAGE
OF CTRL_PGDN!CTRL-PAGE DOWNKEY
DO LAST_PAGE! DISPLAY THELAST PAGE
NDX = RECORDS(TABLE)! POSITION POINT BAR
OF UP_KEY!UP ARROW KEY
DO SET_PREV! POINT TOPREVIOUS RECORD
DO FILL_PREV! FILL A TABLEENTRY
IF FOUND! FOUND A NEWRECORD
SCROLL(ROW,COL,ROWS,COLS,-(ROWS(?POINT))) ! SCROLL THESCREEN DOWN
GET(TABLE,1) ! GET RECORD FROM TABLE
DO FILL_SCREEN! DISPLAYON SCREEN
.
OF PGUP_KEY!PAGE UP KEY
DO SET_PREV! POINT TOPREVIOUS RECORD
DO PREV_PAGE! DISPLAY THEPREVIOUS PAGE
OF CTRL_PGUP!CTRL-PAGE UP
DO FIRST_PAGE! DISPLAY THEFIRST PAGE
NDX = 1! POSITION POINTBAR
...
FREE(TABLE)!FREE MEMORY TABLE
FREE(XRE:K)!FREE CACHE
RETURN!AND RETURN TO CALLER
SAME_PAGE ROUTINE!DISPLAY THESAME PAGE
GET(TABLE,1)! GET THE FIRSTTABLE ENTRY
DO FILL_RECORD! FILL IN THERECORD
SET(XRE:K,XRE:K,TBL:PTR)! POSITION FILE
FREE(TABLE)! EMPTY THE TABLE
DO NEXT_PAGE! DISPLAY A FULLPAGE
FIRST_PAGE ROUTINE!DISPLAYFIRST PAGE
FREE(TABLE)! EMPTY THE TABLE
CLEAR(XRE:RECORD,-1)! CLEARRECORD TO LOW VALUES
CLEAR(TBL:PTR)! ZERO RECORDPOINTER
SET(XRE:K)! POINT TO FIRSTRECORD
LOOP NDX = 1 TO COUNT! FILLUP THE TABLE
DO FILL_NEXT! FILL A TABLEENTRY
IF NOT FOUND THEN BREAK.! GET OUT IF NO RECORD
.
NDX = 1! SET TO TOP OFTABLE
DO SHOW_PAGE! DISPLAY THEPAGE
LAST_PAGE ROUTINE!DISPLAY LASTPAGE
NDX# = NDX! SAVE SELECTORPOSITION
FREE(TABLE)! EMPTY THE TABLE
CLEAR(XRE:RECORD,1)! CLEARRECORD TO HIGH VALUES
CLEAR(TBL:PTR,1)! CLEAR PTRTO HIGH VALUE
SET(XRE:K)! POINT TO FIRSTRECORD
LOOP NDX = COUNT TO 1 BY -1! FILL UP THE TABLE
DO FILL_PREV! FILL A TABLEENTRY
IF NOT FOUND THEN BREAK.! GET OUT IF NO RECORD
.! END OF LOOP
NDX = NDX#! RESTORE SELECTORPOSITION
DO SHOW_PAGE! DISPLAY THEPAGE
FIND_RECORD ROUTINE!POSITION TOSPECIFIC RECORD
SET(XRE:K,XRE:K,NEWPTR)!POSITIONFILE
IF NEWPTR = 0!NEWPTR NOT SET
NEXT(XREG)! READ NEXT RECORD
NEWPTR = POINTER(XREG)! SETNEWPTR
SKIP(XREG,-1)! BACK UP TODISPLAY RECORD
.
FREE(TABLE)! CLEAR THE RECORD
DO NEXT_PAGE! DISPLAY A PAGE
NEXT_PAGE ROUTINE!DISPLAY NEXTPAGE
SAVECNT# = RECORDS(TABLE)! SAVE RECORD COUNT
LOOP COUNT TIMES! FILL UP THETABLE
DO FILL_NEXT!FILL A TABLEENTRY
IF NOT FOUND!IF NONE ARELEFT
IF NOT SAVECNT#! IFREBUILDING TABLE
DO LAST_PAGE! FILL INRECORDS
EXIT! EXIT OUT OFROUTINE
.
BREAK!EXIT LOOP
..
DO SHOW_PAGE! DISPLAY THEPAGE
SET_NEXT ROUTINE!POINT TO THENEXT PAGE
GET(TABLE,RECORDS(TABLE))! GET THE LAST TABLE ENTRY
DO FILL_RECORD! FILL IN THERECORD
SET(XRE:K,XRE:K,TBL:PTR)! POSITION FILE
NEXT(XREG)! READ THE CURRENTRECORD
FILL_NEXT ROUTINE!FILL NEXTTABLE ENTRY
FOUND = FALSE! ASSUME RECORDNOT FOUND
LOOP UNTIL EOF(XREG)! LOOPUNTIL END OF FILE
NEXT(XREG)!READ THE NEXTRECORD
FOUND = TRUE!SET RECORDFOUND
DO FILL_TABLE!FILL IN THETABLE ENTRY
ADD(TABLE)!ADD LAST TABLEENTRY
GET(TABLE,RECORDS(TABLE)-COUNT)!GETANY OVERFLOW RECORD
DELETE(TABLE)!AND DELETE IT
EXIT!RETURN TO CALLER
.
PREV_PAGE ROUTINE!DISPLAYPREVIOUS PAGE
LOOP COUNT TIMES! FILL UP THETABLE
DO FILL_PREV!FILL A TABLEENTRY
IF NOT FOUND THEN BREAK.!GETOUT IF NO RECORD
.
DO SHOW_PAGE! DISPLAY THEPAGE
SET_PREV ROUTINE!POINT TOPREVIOUS PAGE
GET(TABLE,1)! GET THE FIRSTTABLE ENTRY
DO FILL_RECORD! FILL IN THERECORD
SET(XRE:K,XRE:K,TBL:PTR)! POSITION FILE
PREVIOUS(XREG)! READ THECURRENT RECORD
FILL_PREV ROUTINE!FILL PREVIOUSTABLE ENTRY
FOUND = FALSE! ASSUME RECORDNOT FOUND
LOOP UNTIL BOF(XREG)! LOOPUNTIL BEGINNING OF FILE
PREVIOUS(XREG)!READ THEPREVIOUS RECORD
FOUND = TRUESET RECORD FOUND
DO FILL_TABLE!FILL IN THETABLE ENTRY
ADD(TABLE,1)!ADD FIRST TABLEENTRY
GET(TABLE,COUNT+1)!GET ANYOVERFLOW RECORD
DELETE(TABLE)!AND DELETE IT
EXIT !RETURN TO CALLER
.
SHOW_PAGE ROUTINE!DISPLAY THEPAGE
NDX# = NDX! SAVE SCREEN INDEX
LOOP NDX = 1 TORECORDS(TABLE)! LOOP THRU THE TABLE
GET(TABLE,NDX)!GET A TABLEENTRY
DO FILL_SCREENAND DISPLAY IT
IF TBL:PTR = NEWPTR!SETINDEX FOR NEW RECORD
NDX# = NDX!POINT TO CORRECTRECORD
..
LOOP WHILE NDX
BLANK(ROW(?POINT),COL(?POINT),ROWS(?POINT),COLS(?POINT))!BLANKA LINE
NDX += 1! INCREMENT NDX
.
NDX = NDX#! RESTORE SCREENINDEX
NEWPTR = 0! CLEAR NEW RECORDPOINTER
CLEAR(XRE:RECORD)! CLEARRECORD AREA
FILL_TABLE ROUTINE!MOVE FILE TOTABLE
TBL:IREG = XRE:IREG
TBL:NREG = XRE:NREG
TBL:PTR = POINTER(XREG)! SAVERECORD POINTER
FILL_RECORD ROUTINE!MOVE TABLETO FILE
XRE:NREG = TBL:NREG
FILL_SCREEN ROUTINE!MOVE TABLETO SCREEN
SCR:IREG = TBL:IREG
GET_RECORD ROUTINE!GET SELECTEDRECORD
GET(TABLE,NDX)! GET TABLEENTRY
GET(XREG,TBL:PTR)! GET THERECORD
(ant4)
MEMBER('ANT')
MEN2PROCEDURE
SCREENSCREENPRE(SCR),WINDOW(6,25),AT(9,27),HUE(5,3)
ROW(1,1)STRING('+-{23}+')
ROW(2,1)REPEAT(4);STRING('¦¦').
ROW(6,1)STRING('+-{23}+')
ROW(2,7)STRING('выберитегод')
ENTRY,USE(?FIRST_FIELD)ENTRY,USE(?PRE_MENU) MENU,USE(MENU_FIELD"),REQ
ROW(4,8) STRING('1. 1992год')
ROW(5,8) STRING('2. 1993год')
..
EJECT
CODE
OPEN(SCREEN)!OPEN THE MENUSCREEN
SETCURSOR!TURN OFF ANY CURSOR
MENU_FIELD" = ''!STARTMENU WITH FIRST ITEM
IF CHOICE()=1 THEN MEM:PR=1 ELSEMEM:PR=2.!CALL SETUP PROCEDURE
LOOP!LOOP UNTIL USER EXITS
ALERT!TURN OFF ALL ALERTEDKEYS
ALERT(REJECT_KEY)!ALERTSCREEN REJECT KEY
ALERT(ACCEPT_KEY)!ALERTSCREEN ACCEPT KEY
ACCEPT!READ A FIELD OR MENUCHOICE
IF KEYCODE() = REJECT_KEY THENRETURN.!RETURN ON SCREEN REJECT
IF KEYCODE() = ACCEPT_KEY!ONSCREEN ACCEPT KEY
UPDATE! MOVE ALL FIELDSFROM SCREEN
SELECT(?)! START WITHCURRENT FIELD
SELECT! EDIT ALL FIELDS
CYCLE! GO TO TOP OF LOOP
.!
CASE FIELD()!JUMP TO FIELDEDIT ROUTINE
OF ?FIRST_FIELD!FROM THEFIRST FIELD
IF KEYCODE() = ESC_KEY THENRETURN.! RETURN ON ESC KEY
OF ?PRE_MENU!PRE MENU FIELDCONDITION
IF KEYCODE() = ESC_KEY! BACKING UP?
SELECT(?-1)! SELECTPREVIOUS FIELD
ELSE! GOING FORWARD
SELECT(?+1)! SELECT MENUFIELD
.
OF ?MENU_FIELD"!FROM THEMENU FIELD
EXECUTE CHOICE()! CALL THESELECTED PROCEDURE
MEN4!
MEN4!
...
(ant5)
MEMBER('ANT')
MEN4PROCEDURE
SCREENSCREENPRE(SCR),WINDOW(10,36),AT(6,23),HUE(5,3)
ROW(1,1)STRING('+-{34}+')
ROW(2,1)REPEAT(3),EVERY(3);STRING('¦¦').
ROW(3,1)STRING('¦ведитеграницы¦')
ROW(4,1)STRING('¦втысруб¦')
ROW(6,1)STRING('¦минимальную¦')
ROW(7,1)STRING('¦максимальную¦')
ROW(9,1)STRING('¦¦')
ROW(10,1) STRING('+-{34}+')
ROW(4,13) STRING('(')
COL(19) STRING('.')
COL(23) STRING('.)')
ENTRY,USE(?FIRST_FIELD)
ROW(6,19)ENTRY(@n_9),USE(MEM:NG),NUM,INS,HUE(0,3)rOW(7,19) ENTRY(@n_9),USE(MEM:VG),NUM,INS,HUE(0,3)
ENTRY,USE(?LAST_FIELD)
.
EJECT
CODE
OPEN(SCREEN)!OPENTHE SCREEN
SETCURSOR!TURNOFF ANY CURSOR
ifchoice()=1 then mem:god=1992 else mem:god=1993.!CALL SETUP PROCEDURE
DISPLAY!DISPLAYTHE FIELDS
LOOP!LOOPTHRU ALL THE FIELDS
ALERT!RESETALERTED KEYS
ALERT(ACCEPT_KEY)!ALERTSCREEN ACCEPT KEY
ALERT(REJECT_KEY)!ALERTSCREEN REJECT KEY
ACCEPT!READA FIELD
IFKEYCODE() = REJECT_KEY THEN RETURN. !RETURN ON SCREEN REJECT KEY
IFKEYCODE() = ACCEPT_KEY!ON SCREEN ACCEPT KEY
UPDATE! MOVE ALL FIELDS FROM SCREEN
SELECT(?)! START WITH CURRENT FIELD
SELECT! EDIT ALL FIELDS
CYCLE! GO TO TOP OF LOOP
.!
CASEFIELD()!JUMP TO FIELD EDIT ROUTINE
OF?FIRST_FIELD!FROM THE FIRST FIELD
IFKEYCODE() = ESC_KEY THEN RETURN.! RETURN ON ESC KEY
OF?MEM:VG
MEN5
OF?LAST_FIELD!FROM THE LAST FIELD
ACTION= 0! SET ACTION TO COMPLETE
RETURN! AND RETURN TO CALLER
..
(ant6)
MEMBER('ANT')
MEN5PROCEDURE
SCREENSCREENPRE(SCR),WINDOW(8,31),AT(7,24),HUE(6,7)
ROW(1,1)STRING('+-{29}+')
ROW(2,1)REPEAT(6);STRING('¦¦').
ROW(8,1)STRING('+-{29}+')
ENTRY,USE(?FIRST_FIELD)ENTRY,USE(?PRE_MENU) MENU,USE(MENU_FIELD"),REQ
ROW(3,6) STRING('1.уставныйкапитал'),HUE(6,7)
ROW(4,6) STRING('2.страховыевзносы'),HUE(6,7)
ROW(5,6) STRING('3.страховыерезервы'),HUE(6,7)
ROW(6,6) STRING('4.страховыевыплаты'),HUE(6,7)
..
EJECT
CODE
OPEN(SCREEN)!OPEN THE MENUSCREEN
SETCURSOR!TURN OFF ANYCURSOR
MENU_FIELD" = ''!STARTMENU WITH FIRST ITEM
LOOP!LOOP UNTIL USER EXITS
ALERT!TURN OFF ALL ALERTEDKEYS
ALERT(REJECT_KEY)!ALERTSCREEN REJECT KEY
ALERT(ACCEPT_KEY)!ALERTSCREEN ACCEPT KEY
ACCEPT!READ A FIELD OR MENUCHOICE
IF KEYCODE() = REJECT_KEY THENRETURN.!RETURN ON SCREEN REJECT
IF KEYCODE() = ACCEPT_KEY!ONSCREEN ACCEPT KEY
UPDATE! MOVE ALL FIELDSFROM SCREEN
SELECT(?)! START WITHCURRENT FIELD
SELECT! EDIT ALL FIELDS
CYCLE! GO TO TOP OF LOOP
.!
CASE FIELD()!JUMP TO FIELDEDIT ROUTINE
OF ?FIRST_FIELD!FROM THEFIRST FIELD
IF KEYCODE() = ESC_KEY THENRETURN.! RETURN ON ESC KEY
OF ?PRE_MENU!PRE MENU FIELDCONDITION
IF KEYCODE() = ESC_KEY! BACKING UP?
SELECT(?-1)! SELECTPREVIOUS FIELD
ELSE! GOING FORWARD
SELECT(?+1)! SELECTMENU FIELD
.
OF ?MENU_FIELD"!FROMTHE MENU FIELD
EXECUTE CHOICE()! CALL THESELECTED PROCEDURE
UK!
SVZ!
SR!
SVP!
...
MEMBER('ANT')
MBOPROCEDURE
SCREENSCREENPRE(SCR),WINDOW(6,32),AT(8,22),HUE(15,1)
ROW(2,10) PAINT(1,17),HUE(14,1)
ROW(1,1)STRING('+-{30}+')
ROW(2,1)REPEAT(4);STRING('¦¦').
ROW(6,1)STRING('+-{30}+')
ROW(2,10)STRING('получениеданных')ENTRY,USE(?FIRST_FIELD)
ENTRY,USE(?PRE_MENU)MENU,USE(MENU_FIELD"),REQ
ROW(4,5) STRING('1. по РоссийскойФедерации')
ROW(5,5) STRING('2. по региону')
..
EJECT
CODE
OPEN(SCREEN)!OPENTHE MENU SCREEN
SETCURSOR!TURNOFF ANY CURSOR
MENU_FIELD"= ''!START MENU WITH FIRST ITEM
LOOP!LOOPUNTIL USER EXITS
ALERT!TURNOFF ALL ALERTED KEYS
ALERT(REJECT_KEY)!ALERTSCREEN REJECT KEY
ALERT(ACCEPT_KEY)!ALERTSCREEN ACCEPT KEY
ACCEPT!READA FIELD OR MENU CHOICE
IFKEYCODE() = REJECT_KEY THEN RETURN.!RETURN ON SCREEN REJECT
IFKEYCODE() = ACCEPT_KEY!ON SCREEN ACCEPT KEY
UPDATE! MOVE ALL FIELDS FROM SCREEN
SELECT(?)! START WITH CURRENT FIELD
SELECT! EDIT ALL FIELDS
CYCLE! GO TO TOP OF LOOP
.!
CASEFIELD()!JUMP TO FIELD EDIT ROUTINE
OF?FIRST_FIELD!FROM THE FIRST FIELD
IFKEYCODE() = ESC_KEY THEN RETURN.! RETURN ON ESC KEY
OF?PRE_MENU!PRE MENU FIELD CONDITION
IFKEYCODE() = ESC_KEY! BACKING UP?
SELECT(?-1)! SELECT PREVIOUS FIELD
ELSE! GOING FORWARD
SELECT(?+1)! SELECT MENU FIELD
.
OF?MENU_FIELD"!FROM THE MENU FIELD
EXECUTECHOICE()! CALL THE SELECTED PROCEDURE
MEN2!
R!
...
(ant8)
MEMBER('ANT')
GBOPROCEDURE
SCREENSCREENPRE(SCR),WINDOW(6,38),AT(6,19),HUE(11,5)
ROW(1,1)STRING('+-{36}+')
ROW(2,1)REPEAT(4);STRING('¦¦').
ROW(6,1)STRING('+-{36}+')
ENTRY,USE(?FIRST_FIELD)ENTRY,USE(?PRE_MENU) MENU,USE(MENU_FIELD"),REQ
ROW(3,8) STRING('1.аналитическиетаблицы')
ROW(4,8) STRING('2.cписки позапросу')
..
EJECT
CODE
OPEN(SCREEN)!OPEN THE MENUSCREEN
SETCURSOR!TURN OFF ANYCURSOR
MENU_FIELD" = ''!STARTMENU WITH FIRST ITEM
LOOP!LOOP UNTIL USER EXITS
ALERT!TURN OFF ALL ALERTEDKEYS
ALERT(REJECT_KEY)!ALERTSCREEN REJECT KEY
ALERT(ACCEPT_KEY)!ALERTSCREEN ACCEPT KEY
ACCEPT!READ A FIELD OR MENUCHOICE
IF KEYCODE() = REJECT_KEY THENRETURN.!RETURN ON SCREEN REJECT
IF KEYCODE() = ACCEPT_KEY!ONSCREEN ACCEPT KEY
UPDATE! MOVE ALL FIELDSFROM SCREEN
SELECT(?)! START WITHCURRENT FIELD
SELECT! EDIT ALL FIELDS
CYCLE! GO TO TOP OF LOOP
.!
CASE FIELD()!JUMP TO FIELDEDIT ROUTINE
OF ?FIRST_FIELD!FROM THEFIRST FIELD
IF KEYCODE() = ESC_KEY THENRETURN.! RETURN ON ESC KEY
OF ?PRE_MENU!PRE MENU FIELDCONDITION
IF KEYCODE() = ESC_KEY! BACKING UP?
SELECT(?-1)! SELECTPREVIOUS FIELD
ELSE! GOING FORWARD
SELECT(?+1)! SELECTMENU FIELD
.
OF ?MENU_FIELD"!FROMTHE MENU FIELD
EXECUTE CHOICE()! CALL THESELECTED PROCEDURE
GBO1!
MBO!
...
6. ОРГАНИЗАЦИЯРАЗРАБОТКИСИСТЕМЫ СБОРАИНФОРМАЦИИИ АНАЛИЗАДЕЯТЕЛЬНОСТИИ ОПРЕДЕЛЕНИЕЗАТРАТ НА РАЗРАБОТКУДАННОЙ СИСТЕМЫ.
6.1 Организационнаячасть.
Целью созданиясистемы являетсяавтоматизацияпроцесса обработкиинформациидля деятельностистраховойкомпании.
Система позволяет:
сократитьвремя обработкинеобходимойинформациипо страховыморганизациям;
оперативнополучать сведенияо динамикеэкономическихпараметровстраховыхорганизаций;
эффективноработатьнепрограммирующемупрофессионалув предметнойобласти, получаявсю необходимуюинформациюмаксимальнооперативно.
Порядок выполненияразработки.
Шифр события | Содержание события | Шифр работы | Содержание работы | Трудоем-кость | Число исполнит. | Продолжитель- ностьработы |
1 | Началоразработки | 1-2 | Разработка ТЗ | 6 | 2 | 3 |
2 | ТЗразработано | 2-3 | Разработкаструктурыпрограммы (дляDESIGNER) | 2 | 1 | 2 |
3 | Структура разработана | 3-4 3-5 | Разработка алгоритма программы выводааналитичес-койтаблицы Написаниепрограммы наDESIGNER | 6 6 | 2 2 | 3 3 |
4 | Алгоритмразработан | 4-6 | Написаниепрограммы выводааналитичес-койтаблицы | 6 | 2 | 3 |
5 | Программана DESIGNER написана | 5-7 | Сборкасистемы | 2 | 1 | 2 |
6 | Программавывода таблицынаписана | 6-7 | Сборкасистемы | 2 | 1 | 2 |
7 | Системасобрана | 7-8 | Отладка системы | 4 | 2 | 2 |
8 | Система отлажена | 8-9 | Тестирова-ние | 2 | 2 | 1 |
9 | Системаоттестиро-вана | 9-10 | Исправле-ниеошибок | 4 | 2 | 2 |
10 | Ошибкиисправленыокончаниеработы |
ФИЛИАЛЫ ПО
РЕГИОНАМ