Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Maple4 Site Creator - Система Управления Сайтом


Доброго дня!
  • I. Maple4 Report Generator - новая версия, теперь с поддержкой бланков HTML/HTM
  • II. Новый ресурс на Maple4 Site Creator


I. Maple4 Report Generator.
Сделал новую версию Maple4 Report Generator - теперь с поддержкой бланков в формате HTML/HTM.



Думаю, хоть раз кто-то делал следующее - брался некий html-ный файл, а уже в нем, вместо заранее внесенных тегов размещались поля таблиц/курсоров, значения функций и переменных.
Все потому, что html-формат достаточно прост для понимания, а для его редактирования можно воспользоваться обычным Блокнотом.
Плюс, огромные возможности для реализации любой задумки, например, несколько таблиц в одном отчете - это вовсе тривиальная задача :-)

Есть подводные камни. Например, Word от Microsoft постоянно норовит разместить дополнительные -ы прямо в теге, поэтому приходится либо перед генерацией дополнительно обрабатывать бланк, либо отказываться от редактирования уже готового бланка Word-ом, пользуясь только Блокнотом.
Или, например, размещение своей таблицы в документе.
Вроде бы ничего сложного (< table > < tr > < td > < /td > < /tr > < /table >), но ЕЙ-БОГУ иногда замучаешься правильно подобрать ширину колонок, шрифт, размер, цвет и другие параметры таблиц. А ведь еще хочется итогов, выделения этих итогов/подитогов и многого другого.
В общем, в какой-то момент наступает понимание, что двигаешься не туда :-), и руки опускаются (точнее, постепенно несколько охладеваешь к тому, что казалось достаточно простым).

Что предлагаю я?
I. Есть некий шаблон в формате html. Вы его редактируете каким-либо образом (Word, OO Writer, Блокнот и т.д.) и размещаете в его теле специальные теги - некий текст, ограниченный ` и ` с двух сторон.
Пример тега:
`&test_.saldo` - значение поля saldo курсора-селекта/таблицы test_
или
`&date()` - значение функции date(), которая возвращает текущую дату
или, код foxpro:
`
local ii
ii=datetime()
return ii
`

II. Если необходимо разместить в документе таблицу (с шапкой, группировками, итогами/подитогами, вставкой строк по условию и т.д.) - в специальной программе (report builder - из программы rb_edit.exe) создается ее дизайн, а в шаблоне, в коде тега, дается команда на использование этой таблицы при генерации документа.
Например,
`
Select * from test into cursor test_
return rb("svodno_saldo_rb.m4rb")`

Смысл вышеприведенного кода - получение курсора из test и запуск генерации таблицы по нему.
Курсор test_ может быть создан ранее, главное, что бы он был выбран в момент запуска rb

После этого запускаете генератор, выбираете шаблон и получаете готовый документ с размещенной таблицей (и даже не одной) внутри документа!

Чем хороша именно такая схема создания (шаблон+report builder)?
1. Редактируя шаблон в Word или Open Office Writer Вы можете не бояться того, что тег будет изменен - на работу тега это никак не отразится.
2. Таблица, созданная в report builder (rb) может применяться в других html-шаблонах (и, кстати, вид таблицы на html-странице ТЕОРЕТИЧЕСКИ не зависит от браузера).
3. Таблица, созданная в rb, может разместить в своем коде другую таблицу (вложенная таблица), которая может строиться на совершенно другом селекте/курсоре.

Есть некоторые минусы использования бланка html:
1. Несколько больший размер получаемого документа по сравнению с ods и odt - ну что ж Вы хотите, по сути ods и odt - это все таки zip-архивы :-)
2. Документ html может по разному отображаться в разных браузерах - от этого никуда не деться, конкуренция :( блин.
3. Документ, созданный в Word, Open Office Writer наверняка постарается изменить, и, возможно, не в лучшую сторону. Как и наоборот, впрочем, когда документ, созданный Open Office Writer-ом, пытается открыть на редактирование Word.
И это не смотря на то, что используется одно расширение - html/htm :(

Плюсы создания отчетов на основе бланков html:
1. Бланк создается/редактируется либо визуальным редактором (Word, oo Writer и т.д.), либо, например, тем же Блокнотом.
2. Нет проблем с изменением тегов Word-ом или oo Writer-ом, генератор правильно определит, что является тегом. Ну и, правильно вставит вместо тега нужный текст.
3. Построение и вставка простых и сложных таблиц (Report Builder) с итогами по группам (+ с возможностью генерации подчиненных таблиц) без ограничения на количество в отчете.
4. Автоматический сбор картинок, используемых в отчете, в папку отчета (для простоты копирования) - причем как картинок бланка, так и картинок, генерируемых rb!
5. Редактирование дизайна таблицы в отдельной программе - считаю это плюсом (возможность вставки в другие бланки или в другие rb-репорты)!

Отличие генерации на основе HTML-шаблонов от генерации на бланках других форматов (xml, ods, odt)
1. Теги размещаются непосредственно в теле документа, между ` и `, а НЕ В КОММЕНТАРИИ, так как:
а) в Word невозможно ТОЧНО разместить комментарий в нужном месте и
б) форматы комметариев в Word и oo Writer несколько различаются, не смотря на то, что используется один формат HTML :(

Особенность разработки Html-бланков и репортов rb.
1. Если Вы используете rb-репорты (файлы с расширением m4rb и одноименными каталогами) - ОНИ ОБЯЗАТЕЛЬНО ДОЛЖНЫ находиться в каталоге запуска генератора отчетов (т.е. там же, где находится файл m4rg.exe)!
2. Генератор НЕ АНАЛИЗИРУЕТ сами стили (только - готовый html-файл), поэтому не создавайте html-бланк со стилем в подпапке!


Целая куча exe-файлов... За что отвечает каждый из них?
m4rg.exe - генератор отчетов (задаете бланк - получаете отчет)
rb.exe - программа формирования таблицы в html при помощи rb-репортов (используется для генерации отчетов на основе бланков HTML).
rb_edit.exe - надстройка, позволяющая создавать и редактировать rb-репорты прямо из проводника (для генерации в HTML-бланках). Если Вы хотите создать/отредактировать rb-репорт - запустите rb_edit.exe
7za.exe - zip-архиватор

Ну, и, напоследок...
Претензии к Open Office Writer (о как :) )
1. Я не понимаю, ЗАЧЕМ надо в теле html-документа превращать имя рисунка (точнее, каталога, где он находится), написанное на русском в esc-последовательность (Word это делает только со знаками до пробела).
Впрочем, может это IE виноват? Как и Word, заодно?
ПОЧЕМУ IE не отображает картинку, русские буквы которого замененены на esc-последовательность? :-)
Обратите внимание, что готовый отчет по бланку отлично отображается как в Mozilla FireFox, так и в IE (так работает генератор).
Но это все работает только до первого изменения oo Writer-ом :( . После чего в IE отображаются пустые окна от рисунков.
2. Для Word-а html-формат - это попытка Microsoft как можно лучше отобразить doc-документ (не смотрите на расширение) прямо на странице в Интернет.
Да, это не чистый HTML, да код излишний... и все же считаю, что попытка удалась.
Doc-документ, сохраненный в html, практически не отличается от оригинала (если не использовать уникальные способности Word!)


Страница описания работы с бланком HTML/HTM:
http://www.maple4.ru/readme_html.htm

Страница описания работы с rb (создание/редактирование rb-репорта в rb_edit.exe):
http://www.maple4.ru/readme_rb.htm

Загрузка архива (генератор, rb, rb_edit, конвертер, бланки шаблонов - в том числе шаблоны html, созданные в Word и OO Writer, DLL и файлы помощи):
http://www.maple4.ru/a_downloads_for_maple4_ru/maple4_report_generator.zip


II. Новый проект на Maple4 Site Creator.
http://www.ekoresurs.com/ - сайт компании, имеющий опыт в реализации экологических проектов в области комплексного обращения с отходами ТБО и ГКМ.
Полный список проектов - на странице:
http://www.maple4.ru/i_resource.htm


Хотелось бы узнать мнения о Генераторе отчетов (Maple4 Report Generator), но - ТОЛЬКО после его опробования. Как и пожелания о дальнейшем развитии - что бы знать, куда двигаться.
ICQ: 226-071-270 (ответы в режиме online :-) по возможности)
maple4@maple4.ru

Страница проекта в Интернет-е:
http://www.maple4.ru/xmlbuilder.htm
Крошкин Игорь , aka maple4






Вся информация о программах:
http://www.maple4.ru или (кстати, альтернативный дизайн)
http://www.maple4.com

Загрузка программ со страницы загрузки - http://www.maple4.ru/i_downloads.htm

ICQ - 226-071-270

В избранное