FastReport форма добавить поле из БД
Модераторы: m0p3e, edward_K, Модераторы
FastReport форма добавить поле из БД
Добрый день.
Много смотрел по форуму и в интернете, но все же так окончательно и не решил как проще всего вытянуть поле из БД Галактики в уже имеющую печатную форму документа реализованную на FR. В частности в FR форму накладной нужно вытащить значение цены из прейскуранта отличного от того, на основании которого выписана эта накладная. Т.е. накладная и прайс вообще не связаны.
Так вот как мне проще всего это сделать в FR.
Править имеющийся поток данных или можно в самом FR Накладной это сделать? Или может еще какой способ есть.
Заранее всем благодарен за ответ.
Много смотрел по форуму и в интернете, но все же так окончательно и не решил как проще всего вытянуть поле из БД Галактики в уже имеющую печатную форму документа реализованную на FR. В частности в FR форму накладной нужно вытащить значение цены из прейскуранта отличного от того, на основании которого выписана эта накладная. Т.е. накладная и прайс вообще не связаны.
Так вот как мне проще всего это сделать в FR.
Править имеющийся поток данных или можно в самом FR Накладной это сделать? Или может еще какой способ есть.
Заранее всем благодарен за ответ.
Re: FastReport форма добавить поле из БД
Докомпиляцией интерфейса и потока в нем.
Код: Выделить всё
alter interface PrintT13;
overload
datastream FRTabel13;
end;
DataStream FRTABEL13
(
Table inherited::FRHEADER
(
Table inherited::FRTABPARTS
(
Table inherited::FRPARTDETAIL
(
);
);
);
)
end;
Re: FastReport форма добавить поле из БД
Добрый день.m0p3e писал(а):Докомпиляцией интерфейса и потока в нем.Код: Выделить всё
alter interface PrintT13; overload datastream FRTabel13; end; DataStream FRTABEL13 ( Table inherited::FRHEADER ( Table inherited::FRTABPARTS ( Table inherited::FRPARTDETAIL ( ); ); ); ) end;
Подскажите где именно это делается? Куда зайти что запустить? а дальше уже разберусь. А также что можно по этому поводу почитать? Спасибо.
Re: FastReport форма добавить поле из БД
Делается обычный файл. Компилируется vip-ом. Если есть опыт программирования, то проблем никаких возникнуть не должно. Исходный поток проще всего увидеть в консоли управления.RavageR писал(а):Подскажите где именно это делается? Куда зайти что запустить? а дальше уже разберусь. А также что можно по этому поводу почитать? Спасибо.
Насчет почитать даже не знаю. Может LaaLaa подскажет. Возможность докомпиляции FR потоков появилась сравнительно недавно.
-
- Местный житель
- Сообщения: 589
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Воронеж ОАО Верофарм. Воронеж
Re: FastReport форма добавить поле из БД
Подскажите, спецы!
Вот я докомпилирую фейс, например, L_ADVREP::DOGURGENT.
Вижу там броузеры BRDOGOVOR, BRURGENTM. Первый содержит список договоров и нужных мне полей, которые надо выводить, второй содержит список мероприятий по этим договорам. Мне надо в отчет вывести все договора и информацию по ним(первый броузер) и ниже перечень мероприятий к каждому договору. Т.е. структура мастер-дитейл.
Так вот, я должен что писать в соответствии с данным примером
названия этих таблиц? Датастрим должен иметь некое уже определенное название или мое? нужно ли перекрывать handleevent?
Или надо делать свою вьюху и связывать с существующим датастримом? Как, кстати, узнать его название имея только конфигуратор в распоряжении?
Т.е. поясните сам принцип докомпиляции потока.
Вот я докомпилирую фейс, например, L_ADVREP::DOGURGENT.
Вижу там броузеры BRDOGOVOR, BRURGENTM. Первый содержит список договоров и нужных мне полей, которые надо выводить, второй содержит список мероприятий по этим договорам. Мне надо в отчет вывести все договора и информацию по ним(первый броузер) и ниже перечень мероприятий к каждому договору. Т.е. структура мастер-дитейл.
Так вот, я должен что писать в соответствии с данным примером
Код: Выделить всё
alter interface DOGURGENT;
overload
datastream FRTabel13;
end;
DataStream FRTABEL13
(
Table inherited::FRHEADER
(
Table inherited::FRTABPARTS
(
Table inherited::FRPARTDETAIL
(
);
);
);
)
end;
Или надо делать свою вьюху и связывать с существующим датастримом? Как, кстати, узнать его название имея только конфигуратор в распоряжении?
Т.е. поясните сам принцип докомпиляции потока.
Re: FastReport форма добавить поле из БД
Я бы не заморачивался с разбором того что есть а написал собственный фейс для отчета передавая туда нрек договора,
перехватив событие печати или введя свою кнопку. Вы же не ставите задачу угодить всем а решаете конкретный пример.
И сопровождать его проще.
перехватив событие печати или введя свою кнопку. Вы же не ставите задачу угодить всем а решаете конкретный пример.
И сопровождать его проще.
-
- Местный житель
- Сообщения: 589
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Воронеж ОАО Верофарм. Воронеж
Re: FastReport форма добавить поле из БД
Дело в том, что фейс Галактики имеет кроме хорошего представления информации кучу фильтров, к нем уже привык пользователь. Логично печатать из него. Да и ваять свой фейс с разными фильтрами тоже не охота. Кроме того, учиться всегда пригодится, я думаю , тема перспективная.
Ну уж если не получу ответа быстро, то тогда по-старинке...
Ну уж если не получу ответа быстро, то тогда по-старинке...
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: FastReport форма добавить поле из БД
ТАБЛИЦЫ МОЖНО ПОСМОТРЕТЬ В РЕДАКТИРОВАНИИ ФОРМЫ.Другой вопрос какой именн спосб вывода использует разработчик-чассто это как раз отдельный фейс идокомпилять нужно его