XML   ODS   ODT   HTML/HTM   Report Builder   Главная   Страница в Интернет
Типичный rb-report (создается в программе Report Builder, формирует таблицы в html-бланках)



Для редактирования rb-репорта кликните rb_edit.exe, далее, в меню надо выбрать Main/Open Report (для открытия существующего rb-репорта) или Main/Create Report для создания нового.

Report Builder (rb, rb.exe) - это программа формирования кода таблицы в виде HTML.
Это НЕСАМОСТОЯТЕЛЬНАЯ программа, как было в версии 1, сейчас это скорее подпрограмма или утилита для основной программы - Maple4 Report Generator (RG), в части генерации отчетов в бланках HTML/HTM.
Но Вы ПО ПРЕЖНЕМУ можете применять rb и для своих программ.

Программа rb была переработана для RG, измененения коснулись, в основном, синтаксиса задания значения в ячейках и пунктов в контекстном меню (некоторые пункты всегда скрыты).

Что такое rb-репорт?
Это файл репорта, созданного в rb (с помощью надстройки rb_edit.exe, которая отвечает за создание и редактирование), имеющий расширение m4rb и одноименную папку с дополнительными файлами в каталоге.
На основе файла m4rb и курсора/селекта/таблицы Report Builder формирует некий HTML-код, который возвращается в программу, вызвавшую rb.

rb-репорт - образно, попытка скрестить "ячеистость" (как в таблице Excel) с классическим построителем отчета FoxPro
Detail, Group Header, Group Footer ... - даже структура несколько похожа.
Только, в отличие от классического построителя, основной элемент репорта - ячейка.
Именно она определяет, ЧТО будет находиться в том или ином месте репорта.

Ячейка может быть двух видов - обычная (по умолчанию) или картинка.
Двойным кликом по ней открывается форма редактирования.
Если ячейка обычная - в форме вводите значение.
Например, обычный текст:
Текстовый пример

или текст с датой
Дата формирования `&date()`

или значение поля saldo
`&test_.saldo`

или значение переменной, сформированной прямо из кода FoxPro
`
local ii
ii=datetime()
return ii
`


Если ячейка является картинкой - при двойном клике откроется форма размещения картинки в ячейке - обычный вид, с шириной или выстой, с ресайзингом по ширине или высоте ячейки и т.д.
Картинка может находиться в любом месте, но рекомендую предварительно размещать ее в одноименном каталоге rb-репорта для ПРОСТОЙ переносимости репорта.

Есть два способа редактированием rb-репорта:
Панель инструментов (работа с существующими ячейками) и Контекстное меню (дублирование работы с ячейками + работа с зонами, группами, правилами генерации и т.д.)

Сначала о панели.
Кликнув по ячейке, можно задать: шрифт, размер, цвет шрифта, цвет фона, стиль шрифта (например, подчеркивание), выравнивание по ширине и высоте, границы и ширину границ в пикселях.
Многие из параметров допускают ввод функций, например, можно задать функцию для автоматического изменения цвета в зависимости от значения:
Кликнув по ячейке и далее в панели инструментов по Font Color/Function впишите текст (без ` и & !!!!)
iif(test_.saldo>300,rgb(255,0,0),rgb(0,0,0))

... и при значении test_.saldo больше 300 цвет шрифта будет красным.

Описание контекстного меню.
Контекстное меню вызывается кликом неосновной кнопки по форме редактирования отчета (или в форме - по кнопке с изображением меню)



Check/UnCheck - Отметить ячейку/Снять отметку
В дальнейшем, отмеченные ячейки можно будет сгруппировать, разгруппировать или очистить их от содержимого.
Checked Cells/Group - сгруппировать (объединить) отмеченные ячейки в одну
Для объединения ячейки:
а) должны принадлежать одному хедеру
б) каждая из ячеек должна быть разгруппирована
в) блок ячеек должен быть прямоугольного вида
В случае несоответствия любому из требований, объединение не производится.
Checked Cells/Group - разгруппировать отмеченные ячейки
Checked Cells/Clear - очистить содержимое отмеченных ячеек
UnCheck ALL - снять метку со всех ячеек





Edit/Cell/Field - редактирование содержимого ячейки.
Edit/Cell/Click - редактирование кода, который отвечает за обработку клика по содержимому ячейки.
Edit/Cell/Style - стиль ячейки (CSS)
Edit/Cell/ON Strong Height - при отметке, если содержимое выходит за пределы ячейки, оно не будет показываться (и, тем более, не происходит автоматического увеличения ячейки по высоте).
Edit/Cell/off strong height - при отметке нет жесткого ограничения по высоте ячейки.
Edit/Cell/Caption - задание заголовка для ячейки. Если Caption задан, то при установленном флаге Hide Values вместо содержимого ячейки будет показан заголовок.
Edit/Cell/Clear - очистить ячейку от содержимого.


Следующие пункты контекстного меню продублированы в экранной форме редактирования репорта, причем она предоставляет более удобный способ для редактирования.



Edit/Border/Top Bottom/Left/Right - задание толщины границы Сверху/Снизу/Слева/Справа
В качестве выражения может выступать численное значение, выражение FoxPro или програмный код FoxPro
При пустом значении считается, что не определено, есть ли вообще граница или нет.





Edit/Font/Size - размер шрифта. В качестве выражения может выступать численное значение, выражение FoxPro или програмный код FoxPro
При пустом значении по умолчанию подставляется 10

Edit/Font/Name - имя шрифта. В качестве выражения может выступать сивольное значение, ограниченное двойными кавычками, выражение FoxPro или програмный код FoxPro
При пустом значении по умолчанию подставляется "Arial"

Edit/Font/Align - выравнивание по горизонтали. В качестве выражения может выступать численное значение, выражение FoxPro или програмный код FoxPro
При пустом значении - выравнивание слева (Left)
0 - Left, 1 - Center, 2 - Right

Edit/Font/Valign - выравнивание по вертикали. В качестве выражения может выступать численное значение, выражение FoxPro или програмный код FoxPro
При пустом значении - выравнивание сверху (Top)
0 - Top, 1 - Middle, 2 - Bottom

Edit/Font/Flags (Bold,Italic,Underline) - управление атрибутами шрифта - жирностью, курсивом, подчеркиванием. В качестве выражения может выступать численное значение, выражение FoxPro или програмный код FoxPro
При пустом значении - обычный текст.
Сумма битов определяет результат:
+1 - Bold
+2 - Italic
+4 - Underline
Следовательно, например, для жирного курсива нужно внести значение 3 (+1, +2)

Edit/Font/Color - задание цвета шрифта (в идеологии Visual FoxPro, т.е. представьте, что в качестве цвета выступает результат функции RGB(Red,Green,Blue) ). В качестве выражения может выступать численное значение, выражение FoxPro или програмный код FoxPro

Edit/Font/BkColor - задание цвета фона ячейки (в идеологии Visual FoxPro, т.е. представьте, что в качестве цвета выступает результат функции RGB(Red,Green,Blue) ). В качестве выражения может выступать численное значение, выражение FoxPro или програмный код FoxPro





Edit/Type/Value - при отметке определяется, что в качестве содержимого ячейки выступает значение Field
Edit/Type/Picture - при отметке определяется, что в качестве содержимого ячейки выступает картинка (файл графики)
Edit/Type/Menu - в разработке





Row/Insert - вставка строки в репорт. Имеет значение, в каком месте проводится данная операция
Row/Delete - удаление строки из репорта.
Обе операции учитывают, что строки могут быть объединены, и корректно отрабатываются (аналогично вставке/удалению строки в Excel)

Row/Height (First Row in Group) - задание высоты строки (или ТОЛЬКО первой строки в объединенной ячейке). Рекомендуется для изменения высоты строки воспользоваться интерфейсом окна редактирования репорта.

Row/On Auto Height - при отметке высота строки - динамическая и зависит от содержимого ячейки

Row/Off Auto Height - при отметке высота строки задана жестко (и все же она может меняться, если в ячейке вы размещаете другую таблицу или репорт). Для жесткого ограничения по высоте РЕКОМЕНДУЕТСЯ задать Edit/Cell/ON Strong Height именно для таких ячеек.





Column/Insert/New Culumn - новая колонка появится в зависимоcти от места проведения операции (как в Excel).
Column/Insert/New Culumn - Right - новая колонка появится справа.
Column/Delete - удаление колонки
Эти операции учитывают, что колонки могут быть объединены, и корректно отрабатываются (аналогично вставке/удалению в Excel)

Column\Width (First column in group) - задание ширины колонки (или ТОЛЬКО первой колонки в объединенной ячейке). Рекомендуется для изменения ширины воспользоваться интерфейсом окна редактирования репорта.





Header/Move UP (DOWN) - переместить хедер с содержимым вверх (вниз). Нужно понимать, что перемещение идет ТОЛЬКО между хедерами одного вида.
Header/Caption - задание заголовка для хедера
Header/Insert - добавление нового хедера того же вида в репорт
Header/Delete - удаление хедера вместе со всем содержимым. Нельзя полностью удалить хедер, если он единственный в репорте.

Header/Rule/Report - задание условия для печати хедера. При пустом значении - .t. (т.е. печатается всегда)
Нельзя задать условие для печати конкретной строки содержимого в хедере - т.е. либо печатается весь хедер, либо не печатается ничего.
В качестве выражения может выступать логическое значение значение, выражение FoxPro или програмный код FoxPro

Header/Rule/New Page - условие, при котором данный хедер будет печататься с новой страницы. По умолчанию - пусто (или .f.)
В качестве выражения может выступать логическое значение значение, выражение FoxPro или програмный код FoxPro





Root/+ Move IN (OUT) - перемещение порядка группировки внутрь(+) или вне(-) на 1 уровень.
Root/New Root - добавление нового уровня группировки
Root/Delete Root - удаление уровня группировки
Root/Edit 'Group by...' - редактирование условия группировки





Report/Text before Generation - текст перед генерацией страницы. Может содержать обычный текст или текст с тегами выполнения выражений и программ Visual FoxPro
Report/Text after Generation - текст после генерации страницы. Может содержать обычный текст или текст с тегами выполнения выражений и программ Visual FoxPro





Undo - отмена последней операции
Возможно, самая нужная и необходимая операция. По сути - откат назад на одно действие.



P.S.
Предлагаю не пугаться разработки rb-репортов. Да, возможно сразу непривычно, да, возможно неудобно (с Excel-ем я не потягаюсь)... И все же.




Rambler's Top100 Рейтинг@Mail.ru Участник проекта CMS Magazine