Генератор отчетов: ReportEngine

Подробности
Дата публикации
Автор: AnDS
Просмотров: 11164

Мощная система формирования отчетов

Скачать

Программа позволяет формировать отчеты на основе шаблонов
(Определенным образом подготовленных файлов Word или Excel).
 
Основные достоинства:

Генератор отчетов: ReportEngine, использование.

 

Использование:

REngine.exe [ ключи ], где ключи могут быть:
Rep_Vars FILE,DRIVER('BASIC'),NAME('Template\Variable.cfg'),
PRE(RV),BINDABLE,CREATE,THREAD
Record RECORD,PRE()
Type STRING(20)
Name STRING(40)
Formats STRING(80)
END
END

Rep_Data FILE,DRIVER('TOPSPEED'),RECLAIM,NAME(GLO:FileRep_Data),
PRE(RPD),BINDABLE,CREATE,THREAD
kl_ID KEY(RPD:ID),NOCASE,OPT,PRIMARY
Record RECORD,PRE()
ID LONG
Type SHORT
Name STRING(40)
Value STRING(254)
END
END

Rep_Txt FILE,DRIVER('BASIC'),NAME(GLO:FileRep_TXT),
PRE(RPD1),BINDABLE,CREATE,THREAD
Record RECORD,PRE()
ID LONG
Type SHORT
Name STRING(40)
Value STRING(254)
END
END

Reports FILE,DRIVER('TOPSPEED'),RECLAIM,NAME('dat\reports.tps'),
PRE(REP),BINDABLE,CREATE,THREAD
kl_ID KEY(REP:ID),NOCASE,OPT,PRIMARY
kl_Name KEY(REP:Name),DUP,NOCASE
kl_TypeDoc_Name KEY(REP:TypeDoc,REP:Name),DUP,NOCASE
Record RECORD,PRE()
ID LONG
TypeDoc LONG
Name STRING(100)
Nam STRING(20)
Template STRING(80)
END
END


Описание шаблона:

Файл с шаблоном состоит из трех листов:
Первый лист пустой (на нем будет формироваться отчет).
Второй лист содержит описание переменных и деталей отчета:
Ячейка с координатами должны иметь имя, совпадающее с именем переменной.
Детали отчета имеют следующее описание:
Header - Заголовок отчета
Detail - Повторяющаяся деталь (Деталей может быть несколько,
тогда они называются Detail1, Detail2 и т.д.
Footer - "Подвал" отчета
Эти три переменные должны иметь значения вида: A1:M7
Следующие переменные привязаны к деталям и должны содержать высоту детали (в строках):
HeadSize, DetSize, FootSize
При наличии в отчете нескольких деталей вида Detail, должна быть описана переменная NumberOfDetails,
содержащая количество таких деталей, а также переменные Det1Size, Det2Size и т.д.
Переменные, использующиеся в деталях могут иметь любое имя.
Для упрощения их наименования, я обычно использую префиксы (h - Header, d - Detail, f - Footer)
Координаты переменных записываются в виде Y:X, т.е. номер строки и через двоеточие номер колонки.
Эти координаты отсчитываются от начала текущей детали.
Третий лист содержит собственно сам шаблон (оформление деталей -- форматы ячеек, выравнивание и т.п.)


Описание файла, содержащего исходные данные для отчета:

Строка файла с исходными данными содержит четыре поля:
1. Номер по порядку
2. Код команды, выполняемой подсистемой печати:
0 - описание переменной, использующейся в шаблоне (имя переменной и ее формат)
-1 - печать заголовка отчета (Header)
-2 - печать "подвала" отчета (Footer)
-3,-4,-5 и т.д. - печать детали 1,2,3 и т.д.
1 - размещение значения переменной в заголовке
2 - размещение значения переменной в "подвале"
3,4,5 - размещение значения переменной в детали 1,2,3 и т.д.
255 - выполнить дополнительную команду (возможно дальнейшее расширение функциональности):
Значение третьего поля для этой команды:
fitallrows - выровнять по высоте все строки, начиная с первой
fitdetrows - выровнять по высоте все строки в детали
fitlastrow - выровнять по высоте последнюю строку
fitrows (fitrow) - выровнять по высоте указанные строки (в четвертом поле)
3. Имя переменной (или доп.команды для кода команды 255)
4. Значение (для кода команды 0 - формат)
Для правильного отображения отчета, сначала выполняем код 0 - описываем переменные,
затем печатаем деталь (-1 например), затем размещаем значения переменных (1 например),
печатаем новую деталь (-3), размещаем значения (3) и т.д. и т.п.

Файл Template\Variables.cfg содержит описание переменных и их форматов
для использования совместно с файлом reports.tps, в котором хранятся описания шаблонов.
При работе в командной строке файл Variables.cfg не используется.