Компилирую форму по кассе
Добавлено: 13 окт 2014, 13:26
Нужна помощь начинающему!!! При создании формы выдаются неправильно сумма "Остаток на начало" Прописала счет 50 - касса, а вот как прописать субсчет 00-рублевая незнаю...
В ARD создала отчет "О движении денежных средств (EXCELL)" (по старой форме, редактирую через support), а что и где добавить не знаю???
Вот сама форма:
.form 'Отчет по движению денежных средств (Excell)'
.ard
.group 'Отчеты по кассе'
.VAR
MyPlansNo: comp;
! InterfaceResult,wlntMode:word;
begdate,enddate,dat,ddok: date;
! sGetSch,sGetSub:string;
ndoc, ks,kss,nsod,npol: string;
nrecplpor:comp;
Dst,dst1: word;
Evalute: boolean;
w:integer;
sald_beg,sald_end,summa_d,summa_k,itog_d,itog_k: double;
.endvar
.begin
MyPlansNo:= xxx // План счетов
end.
.create view sald1
as select datesal
from saldday
where
MyPlansNo=CPLANSSCH
and '550' = scheto
and begdate>=datesal
and 0<>sums
order by saldday.datesal
;
.create view saldb
as select datesal,sums
from saldday
where
MyPlansNo=CPLANSSCH
and '550' = scheto
and dat=datesal
and 0<>sums
;
.create view tabl
as select
nrec,nodok,datvip,datob,sumplat,direct,podotchet,namepl1,tidkgal
from plpor
where
((
begdate <<=datob
and enddate >>=datob
))
and (7=plpor.tidkgal or 8=plpor.tidkgal)
order by plpor.datob,plpor.tidkgal,plpor.nodok
;
.create view obor
as select *
from oborot
where
((
MyPlansNo==CPLANSSCH
and nrecplpor==csoprdoc (noindex)
))
and (7=tidkgal or 8=tidkgal)
;
.FIELDS
begdate enddate
dat
sald_beg
!!!!
!ddok ndoc ks kss nsod npol summa_d summa_k
tabl.plpor.datob tabl.plpor.nodok ks kss tabl.plpor.namepl1 tabl.plpor.podotchet summa_d summa_k
itog_d itog_k
enddate
sald_end
.endfields
.begin
BegDate := cur_date;
EndDate := cur_date;
Evalute := false;
Dst := rundialog('c_common::getinterval', begdate, enddate);
if (Dst = 11) then Message ('Начальная дата больше конечной',1)
BegDate := date(1,month(begdate),year(begdate));
Evalute := true;
end.
.{?INTERNAL; Evalute;
Отчет по движению денежных средств по кассе
за период с ^ по ^
ЗДЕСЬ ТАБЛИЧКА!!! Ниже столбики её
Дата Номер Корреспондирующий Содержание операции Плательщик / получатель Приход Расход
документа документа Счет Субсчет
.begin
summa_d:=0;summa_k:=0; itog_d:=0; itog_k:=0;
if (sald1.getlast=0) then
dat:=sald1.saldday.datesal else dat:=begdate;
if (saldb.getfirst=0) then
do begin
if saldb.saldday.viob=1 then sald_beg:=sald_beg+saldb.saldday.sums else sald_beg:=sald_beg-saldb.saldday.sums;
end
while (saldb.getnext=0)
else sald_beg:=0 ;
end.
Остаток на начало ^ &#&&&&&&&&&.&&
.{table 'tabl' by tabl.plpor.datob;
.begin
nrecplpor:=tabl.plpor.nrec;
w:=tabl.plpor.tidkgal;
if obor.getfirst=0 then
begin
if w=8 then
begin
ks:=substr(obor.oborot.scheto,2,2);
kss:=obor.oborot.subossch;
end
else
begin
ks:=substr(obor.oborot.schetk,2,2);
kss:=obor.oborot.subschk;
end
end
else begin ks:=''; kss:=''; end;
if tabl.plpor.tidkgal=7 then begin summa_d:=tabl.plpor.sumplat;summa_k:=0; end
else begin summa_k:=tabl.plpor.sumplat;summa_d:=0; end
end.
^ ^ ^ ^ ^ ^ &#&&&&&&&&&.&& &#&&&&&&&&&.&&
.begin itog_d:=itog_d+summa_d; itog_k:=itog_k+summa_k; summa_k:=0; summa_d:=0; end.
.}
Итого за период &#&&&&&&&&&.&& &#&&&&&&&&&.&&
.begin sald_end:=sald_beg+itog_d-itog_k; end.
Остаток на конец периода (^) &#&&&&&&&&&.&&
Бухгалтер
.}
.endform
В ARD создала отчет "О движении денежных средств (EXCELL)" (по старой форме, редактирую через support), а что и где добавить не знаю???
Вот сама форма:
.form 'Отчет по движению денежных средств (Excell)'
.ard
.group 'Отчеты по кассе'
.VAR
MyPlansNo: comp;
! InterfaceResult,wlntMode:word;
begdate,enddate,dat,ddok: date;
! sGetSch,sGetSub:string;
ndoc, ks,kss,nsod,npol: string;
nrecplpor:comp;
Dst,dst1: word;
Evalute: boolean;
w:integer;
sald_beg,sald_end,summa_d,summa_k,itog_d,itog_k: double;
.endvar
.begin
MyPlansNo:= xxx // План счетов
end.
.create view sald1
as select datesal
from saldday
where
MyPlansNo=CPLANSSCH
and '550' = scheto
and begdate>=datesal
and 0<>sums
order by saldday.datesal
;
.create view saldb
as select datesal,sums
from saldday
where
MyPlansNo=CPLANSSCH
and '550' = scheto
and dat=datesal
and 0<>sums
;
.create view tabl
as select
nrec,nodok,datvip,datob,sumplat,direct,podotchet,namepl1,tidkgal
from plpor
where
((
begdate <<=datob
and enddate >>=datob
))
and (7=plpor.tidkgal or 8=plpor.tidkgal)
order by plpor.datob,plpor.tidkgal,plpor.nodok
;
.create view obor
as select *
from oborot
where
((
MyPlansNo==CPLANSSCH
and nrecplpor==csoprdoc (noindex)
))
and (7=tidkgal or 8=tidkgal)
;
.FIELDS
begdate enddate
dat
sald_beg
!!!!
!ddok ndoc ks kss nsod npol summa_d summa_k
tabl.plpor.datob tabl.plpor.nodok ks kss tabl.plpor.namepl1 tabl.plpor.podotchet summa_d summa_k
itog_d itog_k
enddate
sald_end
.endfields
.begin
BegDate := cur_date;
EndDate := cur_date;
Evalute := false;
Dst := rundialog('c_common::getinterval', begdate, enddate);
if (Dst = 11) then Message ('Начальная дата больше конечной',1)
BegDate := date(1,month(begdate),year(begdate));
Evalute := true;
end.
.{?INTERNAL; Evalute;
Отчет по движению денежных средств по кассе
за период с ^ по ^
ЗДЕСЬ ТАБЛИЧКА!!! Ниже столбики её
Дата Номер Корреспондирующий Содержание операции Плательщик / получатель Приход Расход
документа документа Счет Субсчет
.begin
summa_d:=0;summa_k:=0; itog_d:=0; itog_k:=0;
if (sald1.getlast=0) then
dat:=sald1.saldday.datesal else dat:=begdate;
if (saldb.getfirst=0) then
do begin
if saldb.saldday.viob=1 then sald_beg:=sald_beg+saldb.saldday.sums else sald_beg:=sald_beg-saldb.saldday.sums;
end
while (saldb.getnext=0)
else sald_beg:=0 ;
end.
Остаток на начало ^ &#&&&&&&&&&.&&
.{table 'tabl' by tabl.plpor.datob;
.begin
nrecplpor:=tabl.plpor.nrec;
w:=tabl.plpor.tidkgal;
if obor.getfirst=0 then
begin
if w=8 then
begin
ks:=substr(obor.oborot.scheto,2,2);
kss:=obor.oborot.subossch;
end
else
begin
ks:=substr(obor.oborot.schetk,2,2);
kss:=obor.oborot.subschk;
end
end
else begin ks:=''; kss:=''; end;
if tabl.plpor.tidkgal=7 then begin summa_d:=tabl.plpor.sumplat;summa_k:=0; end
else begin summa_k:=tabl.plpor.sumplat;summa_d:=0; end
end.
^ ^ ^ ^ ^ ^ &#&&&&&&&&&.&& &#&&&&&&&&&.&&
.begin itog_d:=itog_d+summa_d; itog_k:=itog_k+summa_k; summa_k:=0; summa_d:=0; end.
.}
Итого за период &#&&&&&&&&&.&& &#&&&&&&&&&.&&
.begin sald_end:=sald_beg+itog_d-itog_k; end.
Остаток на конец периода (^) &#&&&&&&&&&.&&
Бухгалтер
.}
.endform