отчет на FCom

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Mary
Сообщения: 15
Зарегистрирован: 04 фев 2012, 15:25

отчет на FCom

Сообщение Mary »

Добрый вечер! Подскажите,делаю отчет на FCom в версии 8.1 по оборотам по сч 60.01 выводится список организаций,договор,дата договора, номер ДО и дата ДО,сумма по ДО и валюта. Так вот проблема, за период по одной организации по одному ДО может быть несколько оборотов,соответственно в список эта организация и ДО выводится по несколько раз. Как добиться на уровне запроса или отчета группировку,если данная организация таким номером ДО есть? В запросе в сапорте group by и select distinct не работает.
Отчет:
.form 'do_s_val'
.nameInlist 'документы-основания с суммой и валютой по до'
.ard
.p 60
.defo landscape
.var
dbeg_1,dend_1:date;
Org:string;
Dog:string;
Ddog:date;
Osn:string;
Dosn:date;
Sumv:double;
Valuta:string;
.endvar
.create view val
As select
Katorg.name,dogovor.ddoc,dogovor.nodoc,basedoc.ddoc,basedoc.nodoc,basedoc.total,klval.simvolv
From
Badedoc,dogovor,klval,oborot,katorg
Where((
'360'/==oborot.scheto and '01'/==oborot.subossch and dbeg_1<<=oborot.datob and dend_1>>=oborot.datob and oborot.kauos[1]/==katorg.nrec and oborot.kauos[2]/==dogovor.nrec and oborot.kauos[3]/==basedoc.nrec and basedoc.cval==klval.nrec )) and klval.simvolv<>'';
.fields
org
dog
ddog
osn
dosn
sumv
valuta
.endfields
.begin
dbeg_1:==date(1,month(cur_date),year(cur_date));
dend_1:=date(last_day(cur_date),month(cur_date),year(cur_date));
rundialog(c_common::getinterval,dbeg_1,dend_1);
end.
список организаций
с ^ по ^
.{table 'val'
.begin
org:=val.katorg.name;
dog:=val.dogovor.nodoc;
ddog:=val.dogovor.ddoc;
osn:=val.basedoc.nodoc;
dosn:=val.basedoc.ddoc;
sumv:=val.basedoc.total;
valuta:=val.klval.simvolv;
end;
^^^^^^^
.}
.endform
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: отчет на FCom

Сообщение RAJAH »

Код: Выделить всё

...
.create view val
As select
Katorg.name,dogovor.ddoc,dogovor.nodoc,basedoc.ddoc,basedoc.nodoc,basedoc.total,klval.simvolv, katorg.nrec, dogovor.nrec, basedoc.nrec
From
Badedoc,dogovor,klval,oborot,katorg
Where((
'360'/==oborot.scheto and '01'/==oborot.subossch and dbeg_1<<=oborot.datob and dend_1>>=oborot.datob and oborot.kauos[1]/==katorg.nrec and oborot.kauos[2]/==dogovor.nrec and oborot.kauos[3]/==basedoc.nrec and basedoc.cval==klval.nrec )) and klval.simvolv<>''
order by katorg.nrec, dogovor.nrec, basedoc.nrec;
...
.{table 'val' by val.katorg.nrec
.begin
org:=val.katorg.name;
end.
.{by val.dogovor.nrec
.begin
dog:=val.dogovor.nodoc;
ddog:=val.dogovor.ddoc;
end.
.{by val.basedoc.nrec
.begin
osn:=val.basedoc.nodoc;
dosn:=val.basedoc.ddoc;
sumv:=sumv+val.basedoc.total;
valuta:=val.klval.simvolv;
end.
.}
^^^^^^^
.}
.}
Но, теоретически, у одной организации могут быть ДО в разных валютах. Разберите этот вопрос.
Mary
Сообщения: 15
Зарегистрирован: 04 фев 2012, 15:25

Re: отчет на FCom

Сообщение Mary »

Хорошо,спасибо!
Ответить