dyplom (703529), страница 9
Текст из файла (страница 9)
rele fdata
retu
endif
set textmerge on
set textmerge to t100004.txt noshow
set console off
public _br, ld, lk
_br = basesrahs
clrecv = ifused("recv")
clbases = ifused("bases")
clsaldos = ifused("saldos")
clclients = ifused(_clunions_)
_nameorg = recv.name
if clrecv
use in recv
endif
************************************************************************************
* Відбір даних по Д-ту вказаного рахунку
* та формування масиву відповідних рахунків
select * from bases ;
into table tdt1;
where dt = _br and month = _mm_ and year = _yy_ ;
order by codep
select * from tdt1 ;
into table tdt;
where daten <= fdata;
order by codep
public dime rds(1)
select distinct kt from tdt into array rds
ld = alen(rds)
if ld = 1 and empty(rds(1))
rds(1) = ' '
endif
dime sds(ld), zds(ld)
store 0 to sds, zds
************************************************************************************
* Відбір даних по K-ту вказаного рахунку
* та формування масиву відповідних рахунків
select * from bases ;
into table tkt1;
where kt = _br and month = _mm_ and year = _yy_;
order by codep
select * from tkt1 ;
into table tkt;
where daten <= fdata;
order by codep
public dime rks(1)
select distinct dt from tkt into array rks
lk = alen(rks)
if lk = 1 and empty(rks(1))
rks(1) = ' '
endif
dime sks(lk), zks(lk)
store 0 to sks, zks
*****************************************************
* Загальні суми
Додаток 23 (продовження)
store 0 to z_spd, 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)
\ <>
\ Сальдо на кінець місяця по <> рах. Період: <> <>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
\<>|<>|
*** сальдо кінцеве
\\<>|
\\<>
**** підрахунок загальний сум
* поч.сальдо
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
\<>
stor = 7
do sh00004
endif
endif
select (_clunions_)
endscan
************
* Вивід загальних сум
do l00004
stor = stor +1
if stor >=59
\<>
stor = 7
do sh00004
endif
\<>|<>|
*** сальдо кінцеве
\\<>|
\\<>
\ Згорнуте <>
\<>
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.***< \ |<>|<> * 3. \ № +<>+----------+---------- * 4. \ |<>+<>+<> * 5. \-----+----------------------------------------+----------+---------- RETU ************************************** * ************************************** PROCEDURE l00004 \-----+----------------------------------------+----------+---------- RETU 67