Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» FastReport

Автор: Coltrain
Дата сообщения: 10.12.2013 11:37
Подскажите пожалуйста. Отчет в одной программе подготавливается и сохраняется в fp3 файл. Далее открывается и показывается юзеру уже в другой программе. Есть ли какие-нибудь штатные средства FastReport-а чтобы вместе с готовым отчетом передать еще и кое-какую служебную информацию которую можно было бы считать во второй программе? Например, название отчета или дату-время создания.
Понимаю, что не проблема такое реализовать скажем, через дополнительный файл, но может уже есть что-то готовое в самом Fastreporte? Очень бы хотелось чтоб все было в одном "флаконе".
Автор: NickNNN
Дата сообщения: 10.12.2013 11:44
Coltrain, создайте скрытое текстовое поле в отчете, с определенным наименованием. Потом во второй программе его найдете в готовом отчете и выведите
Автор: Coltrain
Дата сообщения: 10.12.2013 11:49
NickNNN Спасибо. Идея неплоха.
Автор: exteris
Дата сообщения: 11.12.2013 06:13

Цитата:
Есть ли какие-нибудь штатные средства FastReport-а

frxReport.ReportOptions -> Name, Description, Version, ...
Автор: Coltrain
Дата сообщения: 12.12.2013 08:39
exteris

Цитата:
frxReport.ReportOptions -> Name, Description, Version, ...

Да, спасибо, работает.
Но заметил одну особенность. Работаю в Delphi 7. FastReport версии 4.15. Если задаю поля в ReportOptions отчета латинскими символами - все сохраняется и читается, а если кириллицей - то сохраняется почему-то только поле ReportOptions.Name? Если не сильно наглеть, то и этого хватит, но все же... Догадываюсь, что скорее всего это связано с кодировкой. Что и где можно подкрутить, чтоб сохранялось-читалось все?
Автор: exteris
Дата сообщения: 12.12.2013 09:49
Хм, а у меня чёт вообще кроме Name ничего не сохраняется.
D7+FR4.14
Автор: Big17
Дата сообщения: 19.01.2014 23:32
Коллеги, работает ли FR с компонентами ODAC?
Нужно проект перевести с отчетов Crystal на FR (используются компоненты ODAC для подключения к Oracle 8i)
Автор: jonikDk
Дата сообщения: 20.01.2014 07:36

Цитата:
Коллеги, работает ли FR с компонентами ODAC?

работает.
Автор: Andryshok
Дата сообщения: 26.04.2014 09:27
Big17 В папке ODAC\..... Demos\Win32\ThirdParty\FastReport\FR4\ есть пакеты для подключения фаста к ODAC , как установите их появится коннектор для ODAC в фастрепорте, он бросается на форму с ORAConnection - после этого фастрепорт будет видеть коннект к базе из самого отчета и в дизайнере фаста появятся отдельный значек для подключения данных, есть такие же коннекторы например для Zeos... UniDac
Автор: rrromano
Дата сообщения: 28.04.2014 14:22

Цитата:
В папке ODAC\..... Demos\Win32\ThirdParty\FastReport\FR4\   есть пакеты для подключения фаста к ODAC

Замечательно работают, только путь в среду надо добавить еще.
Автор: Andryshok
Дата сообщения: 06.05.2014 19:52
Привет всем счастливым обладателям Fast Report 5 ! Не поделится ли кто впечатлениями от новой версии фаста - так же хорош как и прежний? Что насчет багов?
Автор: vcrank
Дата сообщения: 07.05.2014 18:08
Товарищи программисты, а у вас тут совсем новичкам помогают?
Использую UniDAC + FastReport

Подскажите пожалуйста, как проще всего вывести карточку сотрудника? Т.е. активную в данный момент запись
Автор: vcrank
Дата сообщения: 07.05.2014 21:04
Так, проблему с выводом текущей записи решил так:

Код: SELECT * FROM list_of_personnel WHERE id_personnel =2
Автор: Andryshok
Дата сообщения: 07.05.2014 21:40
vcrank Подозреваю что вы не правильно используете концепцию фаста.....
UniDac - подключается к фасту - есть коннектор. При формировании отчета в него передаются определенные параметры - например передается ваш ID, значения Lookup полей и уже в самом отчете при помощи SQL запроса формируются выходные данные
Автор: miwa
Дата сообщения: 07.05.2014 21:59
vcrank
Хочу только дополнить ответ Andryshok ссылкой на очень хорошую документацю по фастрепорту на русском языке. Потратьте пару часов на чтение - сэкономите на порядки больше времени.
Автор: ant0ni02004
Дата сообщения: 07.05.2014 23:23
vcrank
придётся все лукап-поля в sql честно запрашивать (т.е. через join или where)
Автор: YuriyRR
Дата сообщения: 08.05.2014 00:22
vcrank

Цитата:
Проблема теперь в том, что в таблице list_of_personnel есть Lookup-поля и вместо значения из этого поля выводится его ID

SELECT *,
(select поле from таблица2 where ID = list_of_personnel.ID) name
FROM list_of_personnel WHERE id_personnel = :выбранный сотрудник
- делай так
Автор: vcrank
Дата сообщения: 08.05.2014 05:39
Благодарю всех за ответы. Вчера так и реализовал получение данных для lookup-полей через LEFT JOIN

Жаль, что при работе с UniDAC у меня не срабатывает мастер построения запросов

Есть ещё вопрос немного не в тему может быть... У меня проблемы с оформлением самих отчётов. Выглядят не совсем привлекательно... Может есть ресурс, где выкладывают шаблоны (я находил только форумы, гд выкладывают шаблон для бух. учёта и т.п.)
Автор: Andryshok
Дата сообщения: 08.05.2014 08:55

Цитата:
Жаль, что при работе с UniDAC у меня не срабатывает мастер построения запросов
Можно поконкретней - версия UniDac , при подключении к какой субд не срабатывает мастер... или мастер не срабатывает в FastReport ?
Автор: vcrank
Дата сообщения: 08.05.2014 09:25
Andryshok
Delphi 7
UniDAC 5.2.7
FR 4.15.6
БД Postresql 9.3


В режиме проектирования вызываю дизайнер отчётов. Файл - Новый... (Мастер отчётов)
Вкладка Данные. В выпадающем списке пусто. Жму Новая таблица. Тип подключения UniDAC Database
Далее сразу приходится нажать ОК (без указания логинов и имён баз), тогда вылезает окно для подключения к серверу, где ввожу все нужные данные (если их вводить в предыдущем окне, то никакого эффекта нет). После указания параметров сервера возвращаемся в окно Мастер подключения к БД. Теперь в поле имя базы указана наша база, но нажатие на кнопку ОК не даёт никакого эффекта
Соответственно можно нажать только Отмена...
Поэтому следующие шаги выполнять невозможно
Автор: Andryshok
Дата сообщения: 08.05.2014 09:42
vcrank
На форме где висит коннект к БД вешается еще и frxUniDACComponents он находится на вкладке FastReport, в нем указываем свойство DefaultDatabase - ваш коннект, тогда сам отчет в дизайнтайме (вкладка Данные) будет видеть ваш коннект к базе, в самом отчете само собой тоже вешаем коннект и он уже будет видеть подключение и дизайнер будет работать
Автор: vcrank
Дата сообщения: 08.05.2014 10:01
Что-то не особо это помогло



Сначала там выскочил набор данных, но потом я понял, что он берётся из соседнего компонента frxReport
Автор: Andryshok
Дата сообщения: 08.05.2014 10:21
vcrank У вас набор данных пустой (см слева вверху дерево отчета), там в данные нужно добавить коннект к бд и и выборки данных (из соответствующего набора) - это UniDac кнопочка - внизу будет она, нажмете по ней - будет выпадающий список что хотите добавить - Коннект к базе, Query или Table


Автор: vcrank
Дата сообщения: 08.05.2014 10:37
Andryshok
А, ну в таком-то варианте работает.
Но подключение пропадает, если выбрать Файл - Новый... - Мастер стандартного отчёта

Я хотел схалтурить и через него сделать отчёт Через него всё ровно и вполне красиво получается
Автор: Andryshok
Дата сообщения: 08.05.2014 10:55
vcrank Так в новом отчете нужно тоже бросать подключение на вкладку данные... доку вы читали по фасту?
Лень - плохой помощник
Автор: vcrank
Дата сообщения: 08.05.2014 11:24
Andryshok
Да я читал ))
У нас похоже некоторое недопонимание )
Есть новый, пустой отчёт. Если на него кидаю Query,а потом выбираю Файл - Новый мастер простого отчёта, то этот QUERY пропадает

Добавлено:

Код: procedure TfmMain.cxButton1Click(Sender: TObject);
var
UniDACQuery: TfrxUniDACQuery;
begin
UniDACQuery := DMMain.repCardPersonnel.FindObject('UniDACQuery') as TfrxUniDACQuery;
UniDACQuery.ParamByName('ID').Value := DMMain.utPersonnel.FieldByName('id_personnel').AsInteger;
DMMain.repCardPersonnel.PrepareReport;
DMMain.repCardPersonnel.ShowPreparedReport;
end;
Автор: Andryshok
Дата сообщения: 08.05.2014 12:49
vcrank Ну само собой пропадет )) ведь отчет то новый. Все отчеты сохраняются в файлы а потом во время запуска подгружаются из них, например

Код:
Report.LoadFromFile( ExtractFilePath(Application.ExeName) + '\ExtForms\Zakaz.xml');
Report.ShowReport(True);
Автор: vcrank
Дата сообщения: 08.05.2014 12:52
Andryshok
Да это реализовал
Вот теперь с эксепшеном борюсь...
Автор: Frodo_Torbins
Дата сообщения: 08.05.2014 17:34
vcrank
Про AV просто и расширеный вариант.
Автор: vcrank
Дата сообщения: 08.05.2014 18:05
Frodo_Torbins
Простой вариант запросил регистрацию, а по расширенному варианту поставил Эврику
В CallStack отсылает на строчку
Application.CreateForm(TDMMain, DMMain);

А в Ассемблере пишет
00423938 call dword ptr [edx+$0C] ; <-- EXCEPTION


что мне не сильно помогло (

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859

Предыдущая тема: CBuilder и копирование файла


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.