z_spk, z_skd, z_skk, z_sod, z_sok
* по одному клієнту
* _spd - сальдо початкове по Д-ту
* _spk - сальдо початкове по К-ту
* _skd - сальдо кінцеве по К-ту
* _skk - сальдо кінцеве по Д-ту
* _sod - обороти по Д-ту
* _sok - обороти по К-ту
*
select (_clunions_)
do dgr_box with recc(), 'Побудова кінцевого сальдо','Pax.'+alltrim(_br)
\ <<_nameorg>>
\ Сальдо на кінець місяця по <<alltrim(_br)>> рах. Період: <<mstn(_mm_)>> <<_yy_>>p.
stor = 2
do sh00004
stor = stor +5
*set order to tag namep
npp = 0
scan
STORE 0 TO SKS, SDS
do dgr_mov
cd = codep
store 0 to _spd, _spk, _skd, _skk, _sod, _sok
select saldos
locate for codep = cd and month = _mm_ and year = _yy_ and dt = _br
if found()
_spd = sumdt
_spk = sumkt
endif
select tdt
scan for codep = cd and month = _mm_ and year = _yy_
for i = 1 to ld
if kt = rds(i)
sds(i) = sds(i) + sum &&накопичення по колонках
_sod = _sod +sum &&накопичення по рядку по Д-ту
endif
endfor
endscan
select tkt
scan for codep = cd and month = _mm_ and year = _yy_
for i = 1 to lk
if dt = rks(i)
sks(i) = sks(i) + sum &&накопичення по колонках
_sok = _sok +sum &&накопичення по рядку по K-ту
endif
endfor
endscan
_ends = _spd + _sod -(_spk + _sok)
do case
case _ends > 0
_skd = _ends
_skk = 0
case _ends < 0
_skk = (-1)*_ends
_skd = 0
endcase
*********************************************************************************
* Перевірка чи вносити рядок в TXT-файл
if empty(_sKd) and empty(_sKk) &&and empty(_sod) and empty(_sok)
* недрукуємо
else
*друкуємо
sele (_clunions_)
npp = npp+1
\<<str(npp,5)>>|<<left(namep,40)>>|
*** сальдо кінцеве
\\<<iif(empty(_skd),space(10), str(_skd,10,2))>>|
\\<<iif(empty(_skk),space(10), str(_skk,10,2))>>
**** підрахунок загальний сум
* поч.сальдо
z_spd = z_spd + _spd
Додаток 23 (продовження)
z_spk = z_spk + _spk
* Д-т
z_sod = z_sod + _sod
for i = 1 to ld
zds(i) = zds(i) + sds(i)
endfor
*К-т
z_sok = z_sok + _sok
for i = 1 to lk
zks(i) = zks(i) + sks(i)
endfor
* кін.сальдо
z_skd = z_skd + _skd
z_skk = z_skk + _skk
*******************************************
* Сторінка
stor = stor +1
if stor >=59
\<<chr(12)>>
stor = 7
do sh00004
endif
endif
select (_clunions_)
endscan
************
* Вивід загальних сум
do l00004
stor = stor +1
if stor >=59
\<<chr(12)>>
stor = 7
do sh00004
endif
\<<space(5)>>|<<padc('*** Всього ***',40,' ')>>|
*** сальдо кінцеве
\\<<iif(empty(z_skd),space(10), str(z_skd,10,2))>>|
\\<<iif(empty(z_skk),space(10), str(z_skk,10,2))>>
\ Згорнуте <<str(z_skd-z_skk,10,2))>>
\<<space(20)>>
do dgr_end
if clclients
sele (_clunions_)
use
endif
if clbases
use in bases
endif
if clsaldos
use in saldos
endif
if used("tdt")
use in tdt
endif
if used("tkt")
use in tkt
endif
if file("tdt.dbf")
erase tdt.dbf
endif
if file("tk.dbf")
erase tkt.dbf
endif
if used("tdt1")
use in tdt1
endif
if used("tkt1")
use in tkt1
endif
if file("tdt1.dbf")
erase tdt1.dbf
Додаток 23 (закінчення)
endif
if file("tkt1.dbf")
erase tkt1.dbf
endif
set textmerge to
set textmerge off
set console on
rele _nameorg, lk, ld, _br, _spd, _spk, _skd, _skk, _sod, _sok
rele z_spd, z_spk, z_skd, z_skk, z_sod, z_sok, sks, zks, sds, zds, rks, rds, fdata
**************************************
*
**************************************
PROCEDURE sh00004
* 1.
\-----+----------------------------------------+---------------------
* 2.***<<padc('П О С Т А Ч А Л Ь Н И К И
\ |<<space(40)>>|<<padc(' Сальдо на кін.місяця',21,' ')>>
* 3.
\ № +<<padc('П О С Т А Ч А Л Ь Н И К И',40,' ')>>+----------+----------
* 4.
\ |<<SPACE(40)>>+<<padc('Дебет',10,' ')>>+<<padc('Кредит',10,' ')>>
* 5.
\-----+----------------------------------------+----------+----------
RETU
**************************************
*
**************************************
PROCEDURE l00004
\-----+----------------------------------------+----------+----------
RETU
Додаток 2
4
Додаток 25
Додаток 26
Додаток 27
Додаток 28
Додаток 29
Додаток 30