Уважаемые коллеги по VFP - Вам еще не надоел штатный генератор отчетов? Лично мне уже очень давно. Однако использовать альтернативные монстры типа Crystal Report и прочее мне тоже не хотелось.
Новое в версии 1.01: Можно передавать до 10 переменных из VFP в репортер
Уважаемые коллеги по VFP - Вам еще не надоел штатный генератор отчетов?
Лично мне уже очень давно. Однако использовать альтернативные
монстры типа Crystal Report и прочее мне тоже не хотелось.
Некоторое время назад мне пришла дурацкая ( а может и нет ) идея
прикрутить к дельфевому компоненту FastReport ( www.fastreport.ru )
COM-интерфейс и использовать его из VFP. Задумано - сделано.
Идея заключается в том - чтобы готовить результат в DBF файле, а уже
все остальное делать в этом COM-сервере.
Хотя, можно и непосредственно, при помощи ADO брать данные из любой БД.
COMBigRepD - написан на Delphi6 с использованием FastReport 2.46
Сервер реализован в виде In-Proc сервера, поэтому “падение” сервера
приведет к падению Вашего приложения, но надеюсь, этого не случится.
Если все же такое случится – перепишу в виде Out-Proc сервера.
Перечислю некоторые возможности компонента FastReport ,а значит, и COM-сервера:
- Бэнд-ориентированный генератор отчетов.
- Встроенный мощный дизайнер, доступный и в run-time.
- Preview как в MS Word.
- Компактность кода;
- Неограниченное количество страниц сформированного отчета.
- Многостраничные отчеты; составные (композитные) отчеты; вложенные отчеты;
группы; многоколоночные отчеты; master-detail-detail отчеты;
cross-tab отчеты; двухпроходные отчеты; \\\"живые\\\" отчеты.
- Полный контроль над процессом печати, поддержка всех типов бумаги.
- Набор наиболее популярных компонентов: Текст, Линия, Рисунок, Фигура,
OLE объект, RichText, RX Rich 2.0, Диаграмма, Штрих-код.
- Экспорт в TXT, RTF, CSV, HTML (RTF и HTML - с картинками).
- Поиск текста в сформированном отчете.
- ActiveX Data Objects (ADO).
- Редактирование сформированного отчета.
- Встроенный интерпретатор Pascal-подобного языка для управления процессом
построения отчета.
И это далеко не полный список возможностей, и это при размере всего одной dll
размером около 2 Mb.
*
Инсталляция:
*
1.Зарегистрировать COM-server в системе : Regist.bat
2.Пример использования:
....
o = CREATEOBJECT(\\\"COMBigRepD.BigReport\\\") && Создаем указатель и загружаем сервер
o.ReportFileName = \\\"c:\\\\combigrepd\\\\test1.frf\\\" && Полное имя отчета
o.DesignExist() && Редактирования отчета указанного в o.ReportFileName
o.Report(.F.,1) && Печать указанного в o.ReportFileName отчета без привью, 1 экз.
o.Report(.T.,1) && Печать указанного в o.ReportFileName отчета с привью, 1 экз.
o.DesignNew() && Создание нового отчета
RELEASE o && Выгрузка и удаление сервера
3.Убрать COM-server из системы : UnRegist.bat
4.Дополнительную информацию о возможностях FastReport на www.fastreport.ru
Еще раз спасибо разработчикам FastReport .
По вопросам развития COM-Server – maysnikov@rbt.ru
Мне понравилось, только можно по-подробнее как подключать таблицу?
mailto: niksn6994@mail.ru
Белюкова Е.В.
23.01.03 13:29:02
Присоединяюсь к отзыву и просьбе!
Евгений
23.01.03 16:20:43
Я уже писал автору , но повторю еще . Уж очень красивая игрушка этот reporter. Только добавить
немного функционала и вообще получится бестселер.
Хотелось бы иметь возможность делать "Композитные отчеты" .
В доке упоминаются , как класс TfrCompositeReport .
И доступ к данным напрямую без посредников (ADO,ODBC) через любой формат ,доступный Foxpro
(dbf,xml и.т.п.). Наверняка на delfi есть подобные классы.
Неплохо также получить доступ к его прочим методам и свойствам ,которых есть (судя по
документации) великое множество.
Мясников Юрий
30.01.03 11:04:59
Уважаемый коллеги!
Для поключения таблицы нужно сделать следующее:
1.На новом отчете создать лист диалоговой формы
2.Кинуть на этот лист два компонента TDataBase и
на выбор : либо ТQuery либо TTable
3.Отредактировать полученный файл *.dsn
4.Выбрать в качестве источника для ТDataBase это файл
5.В: либо ТQuery либо TTable выбрать источником TDataBase
6.Сделать мх активными и вперед
Причем в подовляющем ( а чуть ли не всегда ) это делается один раз
Да сейчас есть новая версия позволяющая передать из VFP в отчет до 10 переменных любого типа.
Евгений жду Ваших пожеланий на мыло :)
Что касается композитного репорта - боюсь через COM отчет не выйдет. На Delphi - запросто.
Пишите!
Мясников Юрий
10.02.03 14:38:09
o.AddDictionaryElement(0,ReportTitle,"ReportTitle") && Добавить переменную
Пока nElement от 0 до 9
Lev
12.02.03 23:16:52
С подключение баз данных и таблиц разобрались - спасибо!
А вот как быть, когда надо создать этикетку??
Евгений
16.02.03 10:19:42
Юрии ,написал письмо с пожеланиями но ответа нет ,возможно проблемы с почтой?
Попробовал сделать книгу для упрощенной системы, получилось вполне прилично. Интерфейс у этого
генератора очень хороший.
Сейчас хочу сделать на нем Книгу учета расходов и доходов для ЧП.Там есть такой раздел 'Перечень
товаров' , в котором в каждой строке должна быть ссылка на страницу другого раздела. Пока что не
могу придумать как это сделать.
Иванов Роман Владимирович
27.02.03 13:10:52
Попробовал report. Идея очень хорошая. Для большинства задач возможностей Design report вполне
достаточно. Но для программного доступа к объекту FastReport (имеется в виду не Com-оболочка, а
сам компонент) возможностей нет.
Возникает несколько вопросов:
Где узнать о развитии проекта ?
Можно ли в нем поучаствовать ?
Возможно ли увидеть source code ?
И напоследок идея:
Вовсе необязательно делать Com-обертку для всех(большинства) свойств и методов Delphi FastReport,
но можно написать три метода примерно следующего вида:
oFastReport.ReadProperty(cPropertyName:String):Variant;
oFastReport.SetProperty(cPropertyName:String;Value:Variant):Variant;
oFastReport.ExecMethod(cMethodName:String;param1:variant...):Variant;
С уважением Krey. (mailto: Krey_r@mail.ru ; ICQ 104724504)
Жду ответа.
Андрей
30.04.03 18:20:14
Юрий, пару дней назад мне показали твое решение. Т.к. в недалеком прошлом я сталкивался с
FastReport, мне разработка очень понравилась !!!. Зная FR, отчеты "клепаются" быстро и без
проблем. Сегодня я попробовал - все работает :)). Короче, класс...
Ну и конечно, как без пожеланий...
Вот если бы, когда-нибудь, реализовать предложение Krey, да еще скомпилировать DLL-ку с
русскоязычным ресурсом от FastReport - всё, можно ставить памятник и послать Microsoft (даже с его
8.0 версией) :)
Удачи... Андрей.