Автор  |   Контакты  |   Добавить в Избранное  
Генератор отчетов Genrep
 

GenRep

Генератор отчетов из DBF,TXT в MS Word, Excel, Html. Генератор не использует OLE, т.е. для формирования отчетов установка MS Word, Excel не требуется

Free Download

Каждому кто программирует для баз данных приходилось наверняка сталкиваться с программами генерации отчетов. Обычно эти программы строят отчет в своем формате и предоставляют его для просмотра в своем окне просмотра без возможности редактирования и изменения.

Иногда чтобы быстро получить отчет Вы встаете перед проблемой - какой генератор будет совместим с Вашей программой и как его туда подключить.

Предлагаемый генератор решит следующие проблемы:
  • Быстрая и простая разработка отчета непосредственно в MS Word, Excel
  • Высокая скорость генерации отчета
  • Простота языка описания шаблона отчета
  • Вызов генератора из любого языка поддерживающего механизм Windows API
  • Вызов генератора посредством функций system или WinExec
  • Использование любых существующих документов MS Word для шаблонов генератора
  • Вывод отчетов в MS Word в виде RTF-файлов с возможностью редактирования и печати
  • Вывод отчетов в MS Word из приложений DOS работающих с DBF файлами
  • Минимальные затраты дискового пространсва при установке генератора
  • Вывод данных из файлов DBF или из файла произвольных структур подготовленных из Вашей программы
 

1. Назначение
2.Используемые файлы
3. Поддерживаемые файлы данных
3.1. Формат DBF
3.2. Формат LMK
3.3. Формат SP
3.4. Ваш формат
4.Инсталяция
4.1. Инсталяция
4.2. Инсталяция “СП Бухгалтерия” (для DOS-версии)
5. Внешние функции DLL для вызова генератора
5.1. Пример вызова в Visual FoxPro
5.2. Пример вызова в Clarion
5.3. Пример вызова в 1С:Предприятие
6.Формат файла SAB (файла шаблона генератора отчетов)
6.1.Пример файла SAB
6.2.Управляющие блоки шаблона
6.3. Описание файла SAB
6.4. Пример использования группировок
7.Примеры файлов SAB
8.Пример использования генератора в “СП Бухгалтерия”
8.1.Пример файла U

 


1. Назначение
Генератор отчетов предназначен для вывода данных из файлов форматов:
.SP (SPB_DOC1) – сгенерированных при помощи встроенного языка “СП Бухгалтерия”;
.DBF – файлов;
.LNK – текстовых файлов;
в виде отчета в формате MSWord – (.RTF-файл) на основании предварительно созданного файла шаблона (.SAB-файл).

2.Используемые файлы
Dorep.exe - Автономный генератор отчетов (исполняемый файл запускающий программу генерации отчета)

Genrep.dll- Библиотека генератора отчетов, размещаемая в папке исполняемого файла Dorep.exe или системной папке Windows необходима при использовании API вызовов

SAB файл - Файл шаблона отчета подготовленный в непосредственно в МSWord или из программы генерации отчетов. Такой файл должен быть сохранен из МSWord в формате RTF и в дальнейшем переименован в файл с расширением .SAB.

3. Поддерживаемые файлы данны

DBF

Стандартный файл данных DBF (поддержка Меmo-полей из файлов .FPT)

SP

Двоичный формат файла (применяется в “СП Бухгалтерия”)

LMK

Данные представляются в виде текстовых строк

3.1. Формат DBF
Файл данных - DBF
Файл мемо - FPT

3.2. Формат LMK
Данные в файле записываются в виде текстовых строк. Каждая строка соответствует записи данных. После каждой строки ставится перевод каретки. Данные вводятся в виде:

\: ИмяПоля1 : cЗначение \: ИмяПоля2:cЗначение \: ИмяПоля3:cЗначение …
\: ИмяПоля1 : cЗначение \: ИмяПоля2:cЗначение \: ИмяПоля3:cЗначение
.

\: ИмяПоля1 : cЗначение \: ИмяПоля2:cЗначение \: ИмяПоля3:cЗначение
<EOF>

3.3. Формат SP
Специальный двоичный формат файла используемый в бухгалтерском комплексе “СП Бухгалтерия”, являющийся собственностью разработчиков “СП Бухгалтерия”

3.4. Ваш формат
Формат который может быть добавлен в генератор по Вашему запросу, Е-Mail смотрите на сайте.

4.Инсталяция

4.1. Инсталляция

  1. Поместите библиотеку Genrep.dll в системный каталог Windows – SYSTEM или в рабочий каталог Вашей программы
  2. Вызовите с помощью функций API генератор из Вашей программы или запустите автономно с помощью программы Dorep.exe

4.2. Инсталляция “СП Бухгалтерия” (для DOS-версии)

  1. Сохраните файлы Dorep.exe и Genrep.dll в каталоге ЕXE – основного каталога “СП Бухгалтерия”
  2. Установите флажок “Работа в папке шаблона” вызвав Dorep.exe.
  3. Подготовьте файл шаблона выходного отчета SAB в МSWord и поместите его в каталог форм.
  4. На встроенном языке подготовьте файл SP с помощью команд встроенного языка ПИСАТЬЗАГ и ПИСАТЬ
  5. Вызовите генератор отчетов в конце программы генерации файлов SP

5. Внешние функции DLL для вызова генератора

extern "C" void WINAPI AboutDLL() - О программе
extern "C" void WINAPI LoadWord(char *fname) - Загрузка WinWord (параметр имя файла)
extern "C" int WINAPI RunRepDial(CString &fname,int isd) - Отладка отчета (параметр шаблон, isd )
extern "C" int WINAPI RunReport(CString &fname,int isd) - Выполнить отчет (параметр шаблон, isd )
extern "C" int WINAPI RunRep(char * fname,int isd) - Отладка отчета (параметр шаблон, isd )
extern "C" int WINAPI RunDial(char * fname,int isd) - Отладка отчета (параметр шаблон, isd )

fname - имя файла шаблона
isd -
Маска:0 - работа в текущей папке,1- в папке шаблона,16 - не выдавать файл отчета на экран

5.1. Пример вызова в Visual FoxPro
Например в Visual FoxPro:

DECLARE Integer RunRep IN genrep.dll AS Runr String @cName, Integer Isd
DECLARE Integer RunDial IN genrep.dll AS Rund String @cName, Integer Isd

=Runr('namefile.sab' , 0+1)
=Rund('namefile.sab' , 0)
=Runr('namefile.sab' , 0+16) && не вызывать Word

5.2. Пример вызова в Clarion

MODULE('GenRep.lib')
AboutDLL,Name('AboutDLL')
LoadWord(*CString),Pascal,Raw,Name('LoadWord')
! RunRepDial(*CString,Signed),Signed,Pascal,Raw,Name('RunRepDial')
RunDial(*CString,Signed),Signed,Pascal,Raw,Name('RunDial')
RunRep(*CString,Signed),Signed,Pascal,Raw,Name('RunRep')
! RunReport(*CString,Signed),Signed,Pascal,Raw,Name('RunReport')

End
Скачать пример (GenRep.lib в примере)

5.3. Пример вызова в 1C:Предприятие

Скачать пример (Обработка для 1С:Предприятие в примере)

6. Формат файла SAB (файла шаблона генератора отчетов)

6.1.Пример файла SAB ( скачать примеры шаблонов )

6.2.Управляющие блоки шаблона
Файл SAB представляет собой файл MS Word в формате RTF, который содержит текст отчета и специальные ключевые управляющие блоки:

Управляющий блок

Блок окруженный с двух сторон символами [ < и ] или [ и >] используется для описания блоков заголовков, группировок и переменной части отчета. Должен начинаться с начала строки. Строка не должна содержать других данных, если в ней присутствует управляющий блок.

Формат:
[ < НаименованиеБлока ] и [ НаименованиеБлока > ]

Например:
[<Personal.dbf] - управляющий блок заголовка и начала вывода отчета.
Содержит имя файла, на основании которого формируется отчет. После точки должно следовать соответствующее расширение файла данных (DBF, SP, LMK …)
[Personal.dbf >] - управляющий блок итоговой части и конца вывода отчета
[<Detal] - специальный управляющий блок обозначающий начало вывода переменной части отчета
[Detal>] - специальный управляющий блок обозначающий конец вывода переменной части отчета
[<КодГруппа] - Начало блока группировки данных по полю КодГруппа
[КодГруппа>] - конец блока группировки данных по полю КодГруппа

Блок выражения

Блок окруженный с двух сторон символами [ и ] используется для переменных и выражений вывода значений в отчет.
Формат:
[ [ Формат : ][ Тип : ] ИмяПоля | Выражение ]

Формат
Необязательный параметр. Строка формата вывода языка С или соответствует форматной строке встроенного языка “СП Бухгалтерия”

Внимание:
Для вывода даты используется специальный формат не совпадающий с форматом языка С
%dt – формат вывода даты в виде дд/мм/гггг
%dt2 – формат вывода даты в виде дд/мм/гг

Тип
Необязательный параметр.
Тип итога SUM – Сумматор CNT – Счетчик

ИмяПоля
Имя поля из файла SP совпадающее с именем переменной структуры записанной в SP файл, или

Выражение
Строковое выражение, которое может включать в себя имена полей, знаки операций, скобки, конструкции IF. Тип выражение обязательно цифровой:

Конструкции и знаки в выражении :
+ - ( )
IF
(услВыр;Выр;Выр) или IF(Выр;Выр;Выр)
/ - деление
* - умножение
% - по модулю
$ - округление
# - деление с округлением до большего
| - деление с округлением до меньшего

Примеры:

[%dt:ДатаРожд]

Выводит дату в формате дд/мм/гггг

[КоличТов]

Выводит значение поля КоличТов из файла

[SUM:КоличТов]

Подсчитывает и выводит сумму поля КоличТов

[%10.3f:SUM:КоличТов]

Подсчитывает и выводит сумму поля КоличТов в формате %10.3f

[SUM:IF(ТАБНОМ<=100;Сумма;0)]

Подсчитывает и выводит сумму поля Сумма, если значение поля Табном < 100

[%g:SUM:IF(ТАБНОМ<=100;1;0)]

Подсчитывает количество по значению поля Табном < 100

[IF(DB-KR>=0;DB-KR;0)]

Выводит Дебет-значение на основании анализа двух полей Db и Kr

[IF(DB-KR>=0;0;KR-DB)]

Выводит Кредит-значение на основании анализа двух полей Db и Kr

[(Dbn-Krn+Dbo-Kro)/1000]

Выводит значение выражения

См.также Примеры форматов

6.3. Описание файла SAB

Строки в MSWord

Комментарий

Список работников предприятия

[<personal.dbf]

ТабНом ФИО Дата рождения

[<Detal]

[Табном] [ФамилияИО] [%dt:ДатаРож]

[Detal>]

Количество работников [СNT:Табном]

[personal.dbf>]

[<file2.dbf]


[file2.dbf >]

Строки выводимые перед управляющими блоками отчета

Начала вывода отчета из файла personal.dbf

Заголовочная часть вывода

Начало переменной части отчета

Строка вывода переменной части отчета

Конец переменной части отчета

Вывод количества сотрудников

Конец вывода отчета и файла personal.dbf

Следующий файл данных

6.4. Пример использования группировок

Строки вывода до блока отчета File.dbf

[<file.dbf]
заголовочная часть отчета File.dbf
[<group]
заголовочная часть группировки по полю group
[<subgroup]
заголовочная часть группировки по полю subgroup
[<Detal]
Переменная часть вывода отчета
[Detal>]
Итоговая часть группировки по полю subgroup
[subgroup>]
Итоговая часть группировки по полю sub group
[group>]
Итоговая часть отчета File.dbf
[file.dbf>]
Строки вывода после блока отчета блока отчета

Строки вывода до блока отчета File2.dbf
[<file2.dbf]
заголовочная часть отчета File2.dbf
...
...
Итоговая часть отчета File2.dbf
[file2.dbf>]
Строки вывода после блока отчета блока отчета
....

Примечание:
В блоках описания отчета может отсутствовать блок детализации , тогда он формируется сразу после начала блока отчета и не выводит никаких данных. Тем не менее, генератор все равно пройдет по всем записям файла вывода, что даст возможность подсчета итогов в итоговых частях отчета.

Внимание:
Если блок отчета содержит блоки группировок, то блок детализации обязательно должен присутствовать в блоке отчета

7.Примеры файлов SAB
Примеры файлов шаблонов находятся в каталоге SAB
Шаблоны подготовлены для файлов SP и DBF
Для запуска файлов примеров запустите программу Dorep.exe из текущего каталога и выберете файл шаблона из каталога SAB и нажмите кнопку [Выполнить]

8.Пример использования генератора в “СП Бухгалтерия”

//-Проверка запроса
структ запПерсонал
начало
цел табНом
текст фио(60)
текст датаРождения(20)
цел дРожд
плав сумма
кон
файлбаза перс = открфайлб2(personal,1)
файлдос д_перс = открвывод('personal.sp')
писатьзаг(д_перс,'запПерсонал')
// Запись структуры в файл
файл(перс)
первз
пока естьз
запПерсонал.табНом = tabnom
запПерсонал.фио = name
запПерсонал.дРожд = date_vip
запПерсонал.датаРождения = текстдата2(запПерсонал.дРожд)
запПерсонал.сумма = плав начСум
писать(запПерсонал,д_перс)
следз
кон
закрфайлб(перс)
закрыть(д_перс)
сортфайл('personal.sp',запПерсонал,дРожд,фио)
//system(‘exe\\dorep.exe') // Вызов генератора в режиме диалога и выполнения
system(‘exe\\dorep.exe form_svd\\doc\\zapros.sab') // Вызов генератора в режиме выполнения

Описание в формате CHM

Hosted by uCoz