FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9207
Вход
COMBigRepD 1.01 – замена штатному генератору отчетов

Уважаемые коллеги по VFP - Вам еще не надоел штатный генератор отчетов? Лично мне уже очень давно. Однако использовать альтернативные монстры типа Crystal Report и прочее мне тоже не хотелось.


 
Прислал: YuriWhite   Категория: Отчеты


Новое в версии 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

С уважением,
Юрий Мясников

 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.869) Вложение [977.52]kb
Дополнения пользователей
COMBigRepD 1.01 – замена штатному генератору отчетов
[+][?]
Barkley
23.01.03 13:26:12

Мне понравилось, только можно по-подробнее как подключать таблицу?
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 версией) :)

Удачи...              Андрей.
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика