with 0
replace s231g2 with 0
replace s24g2 with 0
replace s26g2 with 0
replace s44g2 with 0
replace s81g2 with 0
replace sbg3 with 0
replace spg3 with 0
replace skg3 with 0
replace szg3 with 0
replace s23g3 with 0
replace s231g3 with 0
replace s24g3 with 0
replace s26g3 with 0
replace s44g3 with 0
replace s81g3 with 0
replace sbs with 0
replace sps with 0
replace sks with 0
replace szs with 0
replace s23s with 0
replace s231s with 0
replace s24s with 0
replace s26s with 0
replace s44s with 0
replace s81s with 0
store 0 to zspom,zspomz,zsbg1,zspg1,zskg1,zszg1,zs23g1,zs231g1, zs24g1,zs26g1, zs44g1,zs81g1,zsbg2,zspg2,zskg2,zszg2,zs23g2,zs231g2,zs24g2,zs26g2,zs44g2,zs81g2,zsbg3,zspg3,zskg3,zszg3,zs23g3,zs231g3,zs24g3,zs26g3,zs44g3,zs81g3,zsbs,zsps,zsks,zszs,zs23s,zs231s,zs24s,zs26s,zs44s,zs81s
Define window d01 from 5,10 to 11,60 double shadow color scheme 5
activate window d01
@ 0,4 say 'Проводиться підбиття підсумків. Почекайте !'
select a
x=reccount()
@ 2,1 say 'Всього записів '
@ 2,18 say x
@ 3,1 say 'Залишилось записів '
do while !eof()
if a.grupa=1
zsbg1=zsbg1+a.balrax
zspg1=zspg1+a.cena
zskg1=zskg1+a.amrt
zszg1=zszg1+a.oper1
do case
case a.nrax=23
zs23g1=zs23g1+a.amrt
case a.nrax=23
zs231g1=zs231g1+a.amrt
case a.nrax=24
zs24g1=zs24g1+a.amrt
case a.nrax=26
zs26g1=zs26g1+a.amrt
case a.nrax=44
zs44g1=zs44g1+a.amrt
case a.nrax=81
zs81g1=zs81g1+a.amrt
otherwise
zspom=zspom+a.amrt
endcase
else
endif
if a.grupa=2
zsbg2=zsbg2+a.balrax
zspg2=zspg2+a.cena
zskg2=zskg2+a.amrt
zszg2=zszg2+a.oper1
do case
case a.nrax=23
zs23g2=zs23g2+a.amrt
case a.nrax=231
zs231g2=zs231g2+a.amrt
case a.nrax=24
zs24g2=zs24g2+a.amrt
case a.nrax=26
zs26g2=zs26g2+a.amrt
case a.nrax=44
zs44g2=zs44g2+a.amrt
case a.nrax=81
zs81g2=zs81g2+a.amrt
otherwise
zspom=zspom+a.amrt
endcase
else
endif
if a.grupa=3
zsbg3=zsbg3+a.balrax
zspg3=zspg3+a.cena
zskg3=zskg3+a.amrt
zszg3=zszg3+a.oper1
do case
case a.nrax=23
zs23g3=zs23g3+a.amrt
case a.nrax=23
zs231g3=zs231g3+a.amrt
case a.nrax=24
zs24g3=zs24g3+a.amrt
case a.nrax=26
zs26g3=zs26g3+a.amrt
case a.nrax=44
zs44g3=zs44g3+a.amrt
case a.nrax=81
zs81g3=zs81g3+a.amrt
otherwise
zspom=zspom+a.amrt
endcase
else
endif
zsbs=zsbs+a.balrax
zsps=zsps+a.cena
zsks=zsks+a.amrt
zszs=zszs+a.oper1
do case
case a.nrax=23
zs23s=zs23s+a.amrt
case a.nrax=23
zs231s=zs231s+a.amrt
case a.nrax=24
zs24s=zs24s+a.amrt
case a.nrax=26
zs26s=zs26s+a.amrt
case a.nrax=44
zs44s=zs44s+a.amrt
case a.nrax=81
zs81s=zs81s+a.amrt
otherwise
zspomz=zspom+a.amrt
endcase
x=x-1
@ 3,20 say x
skip(1)
enddo
select b
go top
replace b.sbg1 with zsbg1
replace b.spg1 with zspg1
replace b.skg1 with zskg1
replace b.szg1 with zszg1
replace b.s23g1 with zs23g1
replace b.s231g1 with zs231g1
replace b.s24g1 with zs24g1
replace b.s26g1 with zs26g1
replace b.s44g1 with zs44g1
replace b.s81g1 with zs81g1
replace b.sbg2 with zsbg2
replace b.spg2 with zspg2
replace b.skg2 with zskg2
replace b.szg2 with zszg2
replace b.s23g2 with zs23g2
replace b.s231g2 with zs231g2
replace b.s24g2 with zs24g2
replace b.s26g2 with zs26g2
replace b.s44g2 with zs44g2
replace b.s81g2 with zs81g2
replace b.sbg3 with zsbg3
replace b.spg3 with zspg3
replace b.skg3 with zskg3
replace b.szg3 with zszg3
replace b.s23g3 with zs23g3
replace b.s231g3 with zs231g3
replace b.s24g3 with zs24g3
replace b.s26g3 with zs26g3
replace b.s44g3 with zs44g3
replace b.s81g3 with zs81g3
replace b.sbs with zsbs
replace b.sps with zsps
replace b.sks with zsks
replace b.szs with zszs
replace b.s23s with zs23s
replace b.s231s with zs231s
replace b.s24s with zs24s
replace b.s26s with zs26s
replace b.s44s with zs44s
replace b.s81s with zs81s
report form fsum to printer
return to master
Лістінг модуля Printzv.prg
parameter bAR
set heading off
close databases
set talk off
set date german
clear windows
clear
do DTOP
clear
erase prm21.idx
select a
use amortiz
index on nazva to prm21.idx compact
erase prm22.idx
select b
use dovvid
index on nazvav to prm22.idx compact
select c
use prstat
select d
use st1
go top
stor=0
DEFINE WINDOW w01 FROM 5,10 TO 10,60 double shadow COLOR SCHEME 1
define popup mg01 from 0,30
define bar 1 of mg01 prompt '1 група'
define bar 2 of mg01 prompt '2 група'
define bar 3 of mg01 prompt '3 група'
on selection popup mg01 do prg01 with bar() in printzv.prg
define popup zmd01 prompt field nazvav shadow
on selection popup zmd01 do prmd01 with recno() in printzv.prg
do case
case bAr=1
ACTIVATE WINDOW w01
@ 1,0 say ' Для яко* групи вивести звіт ? '
activate popup mg01
case bAr=2
DEFINE WINDOW w02 FROM 5,10 TO 15,60 COLOR SCHEME 1 double shadow
ACTIVATE WINDOW w02
@ 0,0 say 'Визначіть для якого відділу вивести звіт ?'
select b
activate popup zmd01
case bAr=3
do print01
case bAr=5
do print02
case bar=6
select a
set filter to
replace c.nvid with 0
replace c.ngrp with 0
replace c.grupa with ' '
replace c.vid with ' '
endcase
select a
set filter to
clear windows
do dtop
close databases
return
procedure prg01
parameter b1
select c
do case
case b1=1
replace ngrp with 1
replace grupa with 'Звіт по першій групі'
case b1=2
replace ngrp with 2
replace grupa with 'Звіт по другій групі'
case b1=3
replace ngrp with 3
replace grupa with 'Звіт по третій групі'
otherwise
replace ngrp with 0
replace grupa with 'Звіт по всіх групах'
endcase
deactivate popup mg01
RETURN
procedure prmd01
parameter nv
select b
go top
goto(nv)
x1kv=kodv
x2nv=nazvav
select c
replace nvid with x1kv
replace vid with x2nv
deactivate popup zmd01
return
procedure print02
parameter bbb
clear windows
do dtop
select a
set filter to
select b
go top
do while !eof()
replace c.nvid with b.kodv
replace c.vid with b.nazvav
select a
go top
set filter to grp=b.kodv
store 0 to x1,x2,x3,x4
do while !eof()
x1=x1+balrax
x2=x2+cena
x3=x3+oper1
x4=x4+amrt
define window i001 from 8,10 to 20,71 double shadow color scheme 4
ACTIVATE WINDOW I001
@ 0,20 say 'ІНДИКАТОР ПРОЦЕСУ'
@ 1,2 SAY 'Виводиться звіт для відділу '+b.nazvav
@ 2,2 say 'По балансовій вартості - '
@ 3,2 say 'По початковій вартості - '
@ 4,2 say 'Знос - '
@ 5,2 say 'По залишковій вартості - '
@ 2,30 say x1
@ 3,30 say x2
@ 4,30 say x3
@ 5,30 say x4
skip(1)
enddo
select c
replace c.sr1 with x1
replace c.sr2 with x2
replace c.sr3 with x3
replace c.sr4 with x4
select a
do p00p
select d
stor=stor+1
replace d.st with stor
select b
skip(1)
enddo
do pids
return
procedure print01
parameter b
set filter to
if c.ngrp!=0
select a
set filter to a.grupa=c.ngrp
else
endif
if c.nvid!=0
select a
set filter to a.grp=c.nvid
else
endif
define window i001 from 8,10 to 20,71 double shadow color scheme 4
ACTIVATE WINDOW I001
@ 0,20 say 'ІНДИКАТОР ПРОЦЕСУ'
@ 1,2 SAY 'Виводиться звіт для відділу '+b.nazvav
@ 2,2 say 'По балансовій вартості - '
@ 3,2 say 'По початковій вартості - '
@ 4,2 say 'Знос - '
@ 5,2 say 'По залишковій вартості - '
select a
go top
store 0 to x1,x2,x3,x4
do while !eof()
x1=x1+balrax
x2=x2+cena
x3=x3+oper1
x4=x4+amrt
@ 2,30 say x1
@ 3,30 say x2
@ 4,30 say x3
@ 5,30 say x4
skip(1)
enddo
clear windows
do dtop
select c
replace c.sr1 with x1
replace c.sr2 with x2
replace c.sr3 with x3
replace c.sr4 with x4
select a
do p00p
return
procedure p00p
parameter b
clear windows
do dtop
ps=.t.
do while ps
if printstatus()
ps=.f.
else