Создание отчета, открытие существующего на редактирование.
I. Из exe-модуля:
Необходимо запустить maple4_ru_rb_exe.exe (в дальнейшем, этот шаг будет пропускаться - и так понятно, что необходим запуск exe-шника)
1. Выбрать в меню Main\Create report для создания
или Main\Open report для редактирования существующего,
2. или Main\Open ... и далее выбрать готовый (для редактирования)
3. или нажать кнопку Создать (New) для создания, или ввести имя нового отчета и нажать ОК для создания. О-ф-ф-ф-ф...
4. Еще один вариант Создания/Открытия - ЕСЛИ открыто окно редактирования отчета, можно нажать кнопку New Report или Open Report - новый отчет или открывающийся на редактирование будет выведен в отдельном окне (т.е. и старый останется и новый откроется).
II. Из главного окна Visual FoxPro (или из Вашего приложения)
1. DO maple4_ru_rb.app
Далее необходимо выбрать готовый отчет или создать новый как описано выше.
2. DO maple4_ru_rb.app with "Name_of_report.m4rb"
С ОБЯЗАТЕЛЬНЫМ УКАЗАНИЕМ расширения m4rb
Если "Name_of_report.m4rb" существует, Вы откроете его на редактирование, если нет - будет создан новый с таким названием.
3. Еще один вариант Создания/Открытия - ЕСЛИ открыто окно редактирования отчета, можно нажать кнопку New Report или Open Report - новый отчет или открывающийся на редактирование будет выведен в отдельном окне (т.е. и старый останется и новый откроется).
Аналогично созданию/открытию отчетов , Вы можете точно так-же поступать с созданием/открытием сценария (либо выбирать Script в меню, либо тип файла - Script - m4sc при открытии).
Окна редактирования открываются в режиме Modelles в AS Top-Level Form, т.е. каждый отчет или скрипт имеет свою (почти независимую) форму редактирования.
пример нового репорта:
пример нового скрипта:
Что бы понять, что, собственно, делать дальше, необходимо иметь навыки создания отчетов в стандартном редакторе отчетов Visual FoxPro и понимать принципы работы в Excel-е - в Maple4 Report Builder-е (RB) используются элементы этих двух программ.
Отчет состоит из хедеров (они аналогичны виду стандартного редактора отчетов) и их содержимого.
Но, в отличие от стандартного редактора (СР), Вы не можете разместить текст или файл графики просто в каком либо месте - в RB все привязано к ячейкам (как в Excel, хотя в Excel такое размещение возможно).
Текст и графику Вы размещаете в ячейке, а дальше задаете размеры ячейки, расположение содержимого по вертикали/горизонтали, цвет и размеры шрифта, фона, толщину границ ячейки и т.д.
Ячейки можно объединять в одну (только в пределах хедера и только прямоугольные области) - как в Excele или разгруппировывать. Удалить ячейку невозможно, но можно ее очистить от содержимого, или удалить колонку или строку, в которой она находится.
Другое отличие от СР - в ячейке размещается текст, а уже в тексте, задавая соответствующие теги, можно разместить функции FoxPro, переменные, содержимое полей таблиц/курсоров или целые куски програмного кода.
В СР, если Вы знаете :) все совсем наоборот - в поле размещается выражение FoxPro (функция, переменная, поля).
Пример:
Необходимо вывести в отчете текст "Date of Report" с текущей датой.
В СР поле необходимо было разместить, например, такой текст:
"Date of Report "+dtoc(date())
В RB текст в ячейке будет другой
Date of Report `dtoc(date())`
Ну и в чем разница?
В СР в поле размещается выражение FoxPro,
а в RB - текст с тегами (`dtoc(date())` - указание RB - "здесь необходимо выполнить выражение FoxPro и подставить результат вместо тега")
Другой пример - необходимо вывести значение поля saldo таблицы test_ (при том, что отчет формируется по таблице test_)
В СР - достаточно было в поле редактирования ввести:
saldo
В RB необходимо разместить
`str(test_.saldo,15,2)`
Спрашивается - а почему так сложно (типа)?
Т.к. тип возвращаемого выражения test_.saldo - число, необходимо для RB привести его к виду Character (в ячейках RB можно разместить ТОЛЬКО текст, следовательно и функции/выражения/программы должны возвращать ТОЛЬКО текст).
Еще одно замечание - необходимо ВСЕГДА ЯВНО указывать имя таблицы/селекта/курсора, например, просто `str(saldo,15,2)` недопустимо, если saldo является полем таблицы/курсора.
СОВЕТ
Перед созданием отчета очень рекомендуется сделать макет (конечно, без содержимого, только каркас) в Excel-e - этим Вы значительно сократите время создания в RB.
Далее, по отчету в Excel, добавляете в RB столько колонок, сколько их в файле Excel, и объединяете их, как они объединены в файле Excel.
Единственное, работать с ячейками нужно в пределах соответствующего хедера.
Например, заголовок отчета (соответсвующие ячейки) нужно разместить в хедере Title.
СОВЕТ
Самый лучший способ научиться работать с Maple4 Report Builder - посмотреть реализацию примера
|