ШАГ ЗА ШАГОМ ОСВОЕНИЕ ПРОГРАММЫ «ПАРУСПРЕДПРИЯТИЕ 8» Функциональные расширения «Пользовательские отчеты на базе Crystal Reports» Методическое пособие © Ц И ТК Парус ПАРУС-Предприятие 8 Пользовательские отчеты Содержание План обучения...............................................................................................................................3 Сокращения...................................................................................................................................4 Занятие 1. Введение в Crystal Reports XI .....................................................................................5 Общие сведения ........................................................................................................................5 Обзор меню и инструментов.....................................................................................................5 Создание простейшего отчета ..................................................................................................8 Выбор источника данных......................................................................................................9 Группировка и сортировка данных.....................................................................................14 Форматирование..................................................................................................................18 Параметры отчета................................................................................................................22 Отбор данных отчета...........................................................................................................24 Формулы отчета ..................................................................................................................28 Занятие 2. Пользовательские отчеты ПП «ПАРУС» на базе Crystal Reports............................30 Классификация печатных форм системы...............................................................................30 Назначение пользовательских отчетов...................................................................................31 Настройка и подключение пользовательских отчетов ..........................................................33 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 2 ПАРУС-Предприятие 8 Пользовательские отчеты План обучения Количество дней: 2 Продолжительность занятия: 8 часов № Тема Занятие 1. Введение в Crystal Reports XI 1. Общие сведения 2. Обзор меню и инструментов 3. Создание простейшего отчета a. Выбор источника данных 1 b. Группировка и сортировка данных c. Форматирование d. Параметры отчета e. Отбор данных отчета f. Формулы отчета Занятие 2. Пользовательские отчеты ПП «ПАРУС» на базе Crystal Reports 1. Классификация печатных форм системы 2 2. Назначение пользовательских отчетов 3. Настройка и подключение пользовательских отчетов 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 3 ПАРУС-Предприятие 8 Пользовательские отчеты Сокращения ПП – программный продукт ПО – пользовательский отчет СУБД – Система Управления Базой Данных SQL – Structured Query Language (структурированный язык запросов) CR – Crystal Reports 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 4 ПАРУС-Предприятие 8 Пользовательские отчеты Занятие 1. Введение в Crystal Reports XI Общие сведения Crystal Reports XI – один из мощнейших и современнейших редакторов выходных печатных форм. Одним из главных его преимуществ является простота использования. Для того, что бы разрабатывать отчеты при помощи данного редактора не требуется иметь опыта работы в какихлибо системах верстки текста или графических редакторах. Достаточно просто хорошо понимать поставленную задачу, обладать общесистемными навыками работы в Windows приложениях. В общем виде, процесс создания отчета для системы управления ПАРУС в ректоре Crystal Reports можно разбить на следующие простые этапы: · Выбор источника данных · Выбор параметров группировки и сортировки данных отчета · Форматирование выходной формы · Настройка параметров отчета · Выбор параметров отбора данных отчета · Реализация формул расчета дополнительных характеристик отчета · Подключение отчетной формы к системе · Тестирование отчетной формы Ниже, каждый из этих этапов будет разобран подробнее, но целью данного руководства не является исчерпывающее изучение всех возможностей редактора Crystal Reports IX, поэтому для более глубокого изучения редактора рекомендуется обратиться к его справочной системе или прочесть специализированную литературу. Обзор меню и инструментов Прежде чем приступить к созданию шаблона, давайте познакомимся с особенностями интерфейса Crystal Reports и его основными настройками, а также с представлением в нем структуры отчетов. Запустить генератор отчетов можно обычными для приложений Windows способами, например, выбрав соответствующий пункт в меню кнопки «Пуск» или значок на рабочем столе. На рисунке 1.1 представлено главное окно редактора отчетов Crystal Reports XI. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 5 ПАРУС-Предприятие 8 Пользовательские отчеты 1 2 3 Рисунок 1.1 Область 1 – это главное меню приложения и его панель инструментов. В главном меню вы можете увидеть как общие для любого Windows приложения пункты File, Edit, Window и Help, так и пункты View, Insert, Format, Database и Report, служащие для доступа к специальным функциям редактора отчетов: · File - функции открытия, закрытия, сохранения файлов · Edit - копирования, вырезания, вставки и поиска по содержимому · View - функции изменения внешнего вида редактора и вызова дополнительных функциональных окон · Insert – функции вставки в отчет объектов, таких как группировки (Group), текстовые поля (Text Object), подотчеты (Subreport), итоговые поля (Summary), графические элементы отчета (Line, Box, Picture) · Format – функции форматирования внешнего вида объектов отчета (Format Object), их выравнивания на странице отчета (Move, Allign, Make same size) · Database – функции для работы с источниками данных отчета (Database expert), указания источников данных отчета (Set datasource location), просмотра данных источника (Browse data), проверки доступности и структурной целостности источника данных (Verify database), отображения SQL запроса отчета (Show SQL query) · Report – функции для настройки параметров отбора данных в отчет (Selection expert), манипулирования и настройки группировок отчета (Group expert), манипулирования и 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 6 ПАРУС-Предприятие 8 Пользовательские отчеты настройки секций отчета (Section expert), повторного считывания данных отчета из источника (Refresh report data) · Window - функции упорядочивания открытых окон приложения · Help – доступ к системе справки и контекстной помощи редактора Кроме того, в данной области расположены панели инструментов (Tool bars), которые позволяют получать быстрый доступ к функциям редактора, и дублируют функциональность, перечисленную выше, для линейки главного меню. Область 2 – это окно навигатора по структурным элементам отчета (Field explorer). В этом окне вы можете получить доступ к различным объектам (полям), которые могут быть размещены в печатной форме отчета: · полям источника данных (ветка Database fields), · параметрам отчета (ветка Parameter fields), · вычисляемым полям, разработанным вами для отчета (Formula fields), · полям итогов (Running total fields), · полям наименований группировок отчета (Group name fields) · специальным, системным полям, которые могут быть полезны при разработке отчета (Special fields), например, номер текущей страницы отчета, общее число страниц отчета, дата печати и т.д. Именно окно «Field Explorer» является основным поставщиком объектов для отчетной формы. Для того, например, что бы создать новое вычисляемое поле в отчете, необходимо просто выделить ветку ”Formula fields”, затем вызвать контекстное меню и выбрать в нем пункт “New”. Для того, что бы разместить какой либо элемент (поле) в отчете следует просто перетащить его в нужное место листа отчета из окна ”Field Explorer”. Область 3 – это область разработки отчетов. Именно в ней формируется то печатное представление отчетной формы, которое пользователи будут видеть в окне предварительного просмотра при печати отчета из ПП «ПАРУС». В этой области следует размещать созданные Вами или полученные из источника данных поля, путем их перетаскивания (Drag-and-Drop) из окна ”Field Explorer”. Данная область может содержать несколько вкладок нескольких уровней. Самый верхний уровень вкладок отражает отчеты, открытые в настоящий момент редактором (на рисунке 1.1 это вкладка с именем ”Report 1”). Для каждой из вкладок первого уровня может быть открыто несколько вкладок второго уровня. Например, на рисунке 1.1 изображена вкладка ”Design”. Именно на вкладке «Design» происходит «рисование» отчета, т.е. размещение полей и объектов, которые будут составлять структуру отчета. Обратите внимание, что вкладка «Design» разбита на горизонтальные секции. Для формирования корректной печатной формы отчета очень важно 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 7 ПАРУС-Предприятие 8 Пользовательские отчеты размещать объекты отчета в правильных секциях. Секции, в зависимость от названия ведут себя определенным образом при печати отчета: · Report Header – секция для размещения заголовка отчета. Выводится на печать один раз на первой странице отчета. Служит, как правило, для размещения заголовка отчета. · Page Header – верхний колонтитул страницы отчета, секция для размещения заголовка страницы отчета. Выводится на печать на каждой странице отчета, в верхней её части. Служит как правило для размещения шапок таблиц, отображаемых отчетом. · Group Header – необязательная секция, появляется только в случае наличия в отчете группировок. Служит для размещения заголовка группы. Выводится на печать столько раз, сколько получилось групп данных в отчете, согласно параметрам группировки. · Details – секция для отображения данных отчета самого низкого уровня. Как правило используется для вывода на печать полей источника данных отчета. Выводится на печать столько раз, сколько записей в источнике данных. Каждый раз при печати секции выводится очередная запись из источника данных. Если отчет имеет группировку, то в секции отображаются только те записи источника, которые относятся к текущей группе. · Group Footer – необязательная секция, появляется только в случае наличия в отчете группировок. Служит для размещения «подвала» группы. Как правило, в этой секции размещаются поля отчета, отражающие итоговые данные по группе. · Report Footer – итоговая секция отчета, выводится один раз, на последней странице отчета, после последней секции «Details» или «Group Footer». Служит, как правило, для размещения полей отчета вычисляющих суммы общих итогов и/или реквизитов лиц, подписывающих печатную форму отчета. · Page Footer – нижний колонтитул («подвал») страницы отчета. Отображается при печати на каждой странице отчета, после всех секций страницы. Служит для отображения специальных полей («Special fields»), отражающих номера страниц отчетов, дату печати и т.д. При размещении на вкладке «Design» каких-либо объектов отчета следует помнить о поведении секции, в которой Вы размещаете объект, и добиваться нужного результата отображения данных отчета перемещая объекты внутри и/или между секциями. Теперь, ознакомившись с предоставляемым нам инструментарием, попробуем его освоить на примере простейшего отчета. Создание простейшего отчета Рассмотрим работу основных инструментов Crystal Reports на базе простого отчета. Допустим, нам необходимо выводить на печать список записей словаря «Контрагенты» с указанием мнемокода и 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 8 ПАРУС-Предприятие 8 Пользовательские отчеты наименования. Кроме того, необходимо обеспечить возможность вывода на печать, как полного списка контрагентов системы, так и только тех контрагентов, мнемокод которых соответствует заданному параметру отчета по маске. Так же, печатный список контрагентов должен быть сгруппирован по городам нахождения контрагентов. Для начала, следует запустить редактор отчетов CR. Это можно сделать, воспользовавшись ярлыком на рабочем столе Вашей рабочей станции или выбрав пункт «Crystal Reports XI Release 2» в меню «Пуск» ОС Windows. Откроется окно редактора отчетов CR изображенное на рисунке 1.2. Рисунок 1.2 Для того, что бы начать разработку нового отчета следует выбрать пункт «File» > «Blank report» в главном меню редактора или нажать на соответствующую кнопку панели инструментов (отмечена красным маркером на рисунке 1.2). Выбор источника данных После того, как Вы начнете создавать новый отчет, редактор отобразит окно выбора источника данных для отчета (рисунок 1.3) – «Database Expert». Это один из самых основных моментов, т.к. без источника данных отчет не может быть сколь-нибудь полезным. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 9 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.3 В качестве источников данных CR поддерживает большинство настольных СУБД (MS Access, например), сетевые СУБД (Oracle, JDB, MS SQL Server и т.д.), отдельные файлы данных (DBF) и т.д. Т.к. ПП «ПАРУС» в качестве СУБД использует Oracle, то в нашем случае мы будем подключать CR к этой СУБД. Левая часть окна «Database Expert» содержит доступные источники данных, а права – выбранные. Между правым и левым списком находятся кнопки, посредством которых можно добавлять или удалять источники данных из отчета. Для подключения к СУБД Oracle в окне «Database Expert», в левой части (список возможных источников данных), следует выбрать ветку «Create New Connection», в ней подветку «More Data Sources», а затем, на третьем уровне, ветку «Oracle» и дважды щелкнуть по ней левой кнопкой мыши. Появится окно подключения к БД (рисунок 1.4). Рисунок 1.4. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 10 ПАРУС-Предприятие 8 Пользовательские отчеты В поле «Служба» «Service») следует указать TNS-имя БД Oracle, к которой Вы планируете подключиться, в полях «ID пользователя» («User ID») и «Пароль» («Password») следует указать имя пользователя СУБД и его пароль соответственно. Если Вы хотите провести аутентификацию в БД на основе данных пользователя домена или вашей ОС, то следует установить признак «Аутентификация ОС» («OS Authentication»). Затем необходимо нажать кнопку «Готово». Если все учетные данные указанны корректно, то окно подключения примет вид, указанный на рисунке 1.5. Рисунок 1.5 Т.е. отобразится подключение к БД Oracle и список схем БД, доступных для использования. Нас интересует схема «PARUS», т.к. именно там находится интересующее нас представление «V_AGNLIST», отражающее записи словаря «Контрагенты». Для его выбора необходимо раскрыть ветку «PARUS», затем ветку «Views», затем позиционироваться на представлении «V_AGNLIST» и щелкнуть по нему дважды левой кнопкой мыши. Представление переместится в правую часть окна «Database Expert» (рисунок 1.6). 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 11 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.6 Теперь, источник данных для отчета указан, можно нажать кнопку «ОК» в окне «Database Expert». CR откроет новое пустое представление редактора (рисунок 1.7), кроме того, в окне «Field Explorer» в ветке «Database Fields» уже будут доступны для использования поля выбранного нами представления СУБД Oracle (рисунок 1.8). Рисунок 1.7 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 12 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.8 Таким образом, источник данных для отчета выбран. Аналогичным способом можно добавить в отчет другие необходимые представления и таблицы СУБД. При этом их необходимо связать по внешним ключам при помощи графического интерфейса вкладки «Links» («Связи») окна «Database Expert» (рисунок 1.9). Рисунок 1.9 Помещение в отчет нескольких несвязанных таблиц не рекомендуются, т.к. в этом случае источником данных отчета будет служить их «Декартово произведение». Но даже наличие нескольких связанных по внешним ключам таблиц в отчете усложняет его разработку. Поэтому лучше взять за правило: один отчет – один источник. А все необходимые объединения данных выполнять SQL запросами внутри хранимых представлений Oracle, которые в дальнейшем и использовать в качестве источников данных. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 13 ПАРУС-Предприятие 8 Пользовательские отчеты Группировка и сортировка данных Прежде чем продолжить разработку отчета, следует определиться с группировкой и сортировкой его данных. Безусловно, любые параметры группировки и сортировки можно переопределить позже, в любой момент работы над отчетом, но иногда это бывает связано с излишними трудозатратами, особенно если речь идет о настройке группировки данных в тот момент, когда внешний вид отчета уже окончательно разработан. Поэтому следует принять за правило хорошего тона определять эти параметры отчета на начальных этапах его разработки, особенно если Вы абсолютно уверенны в том, какими они должны быть. Давайте сначала определим термины: · Группировка – объединение данных источника в группы по определенному признаку или набору признаков. Признаком группировки в CR может служить какое-либо поле источника данных или расчетная формула. Группировки в CR могут быть вложены друг в друга. Например, можно группировать контрагентов по городам, а внутри города – по улицам и формировать данные печатной формы именно в разрезе этих групп. · Сортировка – порядок вывода данных источника в печатную форму отчета с учетом возрастания или убывания какого-либо признака. Строковые поля сортируются по алфавиту, числовые – по расположению на числовой прямой, а поля типа дата – по хронологии. В качестве признака сортировки в CR могут быть использованы как поля источника данных, так и вычисляемые формулы, расчет значений которых производится для каждой из выводимых строк отчета. Итак, для добавления в отчет группировки следует выбрать пункт меню «Insert» > «Group» редактора CR или нажать соответствующую кнопку на панели инструментов (далее будем указывать только пункты меню для выполняемых действий, предполагая, что все они продублированы на соответствующих панелях инструментов). Перед нами стоит задача группировать контрагентов по городам, поэтому в окне создания новой группы (рисунок 1.10) следует указать в качестве поля группировки «ADDR_CITY». 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 14 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.10 Кроме того, в этом же окне можно настроить порядок сортировки, выбрав из списка значения «in ascending order» (по возрастанию) или «in descending order» (по убыванию). Так же доступны порядки сортировки – «in specified order» (в указанном порядке, в этом случае CR предлагает интерфейс для ручного указания порядка следования групп), «in original order» (в том порядке, в котором записи извлекаются из БД). Кроме того, есть возможность реализовать формулу и использовать её результат для сортировки групп. В этом случае следует отметить признак «Use a Formula as Group Sort Order» (использовать формулу в качестве правила сортировки) и реализовать формулу нажатием на кнопку « » слева от отмеченного признака. На вкладке «Options» окна добавления группы (рисунок 1.11) можно задать дополнительные параметры настройки создаваемой группы. Рисунок 1.11 Здесь доступны следующие возможности: · Признак «Customize Group Name Field» – позволяет настроить отображение имени группы в печатной форме. По-умолчанию именем группы является поле, выбранное в качестве признака группировки на вкладке «Common». Здесь доступны опции «Choose From Existing Field» – выбрать из списка доступных полей отчета, и «Use a Formula as Group Name» – использовать расчетную формулу в качестве имени группы. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 15 ПАРУС-Предприятие 8 Пользовательские отчеты · Признак «Keep Group Together» – говорит CR о необходимости размещать все данные относящиеся к группе на одной странице отчета. · Признак «Repeat Group Header On Each Page» – позволяет дублировать секцию отчета «Group Header» на каждой странице отчета, в том случае, если все данные группы не уместились на одной странице. После того, как выбрано и настроено поле группировки следует нажать «OK» в диалоговом окне «Insert Group». После добавления в наш отчет группировки в нем автоматически появляются новые секции «Group Header» и «Group Footer», а так же в секции «Group Header» размещается поле «Group #1 Name» (наименование заголовка группы), автоматически сформированное CR (рисунок 1.12). Рисунок 1.12 Итак, теперь данные нашего отчета группируются по городам. Внутри группы (между секциями «Group Header» и «Group Footer») размещается секция «Details», именно в этой секции мы будем размещать поля отчета, выводящие детализированные сведения по контрагентам, относящимся к тому или иному городу. Секции «Group Header» и «Group Footer» будут повторены при печати отчета ровно столько раз, сколько уникальных городов присутствует в поле «ADDR_CITY» представления «V_AGNLIST». После добавления группы можно изменять её свойства (а так же если групп несколько – порядок их следования) при помощи диалогового окна «Group Expert», доступного по пункту меню «Report» > «Group Expert» линейки главного меню CR (рисунок 1.13). 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 16 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.13 В левой части окна «Group Expert» содержится список полей отчета, по которым можно построить группировки. В правой части – те поля, группировки по которым уже построены. Выбрав группу в правой части окна «Group Expert» и нажав кнопку «Options» можно провести настройку параметров выбранной группы. Для задания параметров сортировки данных используется диалог «Report Sort Expert». Диалог можно вызвать, выбрав пункт меню «Report» > «Report Sort Expert», линейки главного меню CR (рисунок 1.14). Рисунок 1.14 Обратите внимание, что если в отчете уже есть группировки, то в списке «Sort Fields» («Поля Сортировки») уже присутствуют записи о том, что данные отчета сортируются по полям группировки и удалить или изменить эти сортировки нельзя. Для добавления сортировки по какому-либо другому полю (или формуле) необходимо выделить его в левом списке «Available Fields» («Доступные поля») и переместить в правый список «Sort Fields». Кроме того, под списком «Sort Fields» присутствует секция «Sort Direction» («Направление сортировки»), в котором для выбранных полей сортировки можно указать направление – по возрастанию (опция «Ascending») или по убыванию (опция «Descending»). 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 17 ПАРУС-Предприятие 8 Пользовательские отчеты Например, для сортировки по мнемокоду контрагентов внутри группы «Города», переместите в список «Sort Fields» поле «AGNABBR» (рисунок 1.15). Рисунок 1.15 Таким образом, мы настроили группировку и сортировку данных отчета. Контрагенты будут сгруппированы по городам нахождения и отсортированы по мнемокоду внутри каждой из групп. Теперь можно перейти к оформлению внешнего вида отчета, т.е. к его форматированию. Форматирование Форматирование отчета подразумевает настройку внешнего вида шаблона согласно требуемой печатной формы. Для этого необходимо, с применением технологии «Drag-and-Drop» перемещать из окна «Field Explorer» (если окно по каким-то причинам отсутствует на экране, то его можно вызвать принудительно, выбрав пункт меню «View» > «Field Explorer») требуемые поля и размещать их в нужном месте шаблона. Кроме того, для формирования статических частей печатной формы (шапки таблиц, заголовки отчета, линии разметки) следует использовать следующие пункты меню или кнопки панели инструментов: · Добавить текстовое поле – пункт меню «Insert» > «Text Object» (кнопка « » на панели инструментов). · Добавить картинку – пункт меню «Insert» > «Picture» (кнопка « · Добавить прямую – пункт меню «Insert» > «Line» (кнопка « » панели инструментов). » панели инструментов). · Добавить прямоугольник – пункт меню «Insert» > «Box» (кнопка « » панели инструментов). Кроме того, следует заметить, что некоторые объекты отчета можно встраивать друг в друга. Например, в объект «Text Field» (статическое текстовое поле), после размещения его на форме отчета и задания текста объекта, можно «перетащить» («Drag-and-Drop») служебное поле «Total Page Count» и т.д. Путем таких манипуляций необходимо достичь результата, представленного на рисунке 1.16. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 18 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.16 Структура отчета такова: Секция отчета Содержимое Report Header Статическое текстовое поле “Text Object” с текстом заголовка отчета Page Header Шапка таблицы, состоящая из линий разметки («Line») и статических текстовых полей «Text Object», использованных в качестве заголовков столбцов Group Header «Text Object» со встроенным полем наименования группировки (раздел «Group Name Fields» в «Field Explorer») Details Поля «AGNABBR» и «AGNNAME» представления «V_AGNLIST», кроме того линии разметки («Line») Group Footer Пустая секция Report Footer Пустая секция Page Footer Text Object со встроенными служебными полями «Page Number» и «Total Page Count» (раздел «Special Fields» в «Field Explorer») Помимо размещения на печатной форме, каждый из объектов отчета может быть индивидуально отформатирован. Для этого необходимо вызвать диалог форматирования элемента, который доступен по пункту «Format» контекстного меню любого объекта. Набор возможностей форматирования объектов CR широк и выходит за рамки обсуждения данного руководства. Здесь можно ограничиться лишь перечислением некоторых из возможностей форматирования, а дополнительные сведения почерпнуть в специализированной литературе или справочной системе CR. Итак, для объектов отчета можно изменять: · Шрифт · Размер · Границы · Заливку · Формат вывода данных 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 19 ПАРУС-Предприятие 8 Пользовательские отчеты · Отступы · Расстояние между строками (для многострочных объектов) · Видимость · Интерактивность (возможность взаимодействия пользователя с объектом при просмотре отчета) · Каскадную таблицу стилей · Повторяемость · Угол поворота объекта относительно вертикальной оси Практически каждый из параметров форматирования может быть применен «условно», т.е. для каждого из параметров форматирования, справа от которого стоит кнопка « » можно задать формулу, в которой программируется условие форматирования и внешний вид объекта в зависимости от этого условия. На рисунке 1.17 представлено типовое окно настройки внешнего вида для объекта отчета типа «Field» (поле источника данных). Рисунок 1.17 Один из самых необходимых параметров форматирования объектов отчета, на котором следует остановиться подробнее, это параметр «Can Grow» (отмечен красным маркером на рисунке 1.17). Он актуален только для текстовых полей. Зачастую, в момент разработки отчета сложно спрогнозировать, сколько места на экране займет то или иное текстовое поле. Установка признака «Can Grow» для него, говорит CR о том, что при выводе отчета на печать следует позволить 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 20 ПАРУС-Предприятие 8 Пользовательские отчеты раздвигаться границам объекта в низ до тех пор, пока он не будет отображен полностью или до установленного значения строк (параметр «Maximum number of lines» правее признака «Can Grow»). Такие признаки в нашем отчете установлены для текстовых полей «AGNABBR» и «AGNNAME» секции «Details». Но в секции «Details» помимо этих полей присутствуют горизонтальные и вертикальные линии разметки таблицы. Если, например текстовое поле «AGNNAME», благодаря установке признака «Can Grow» будет размещено при печати на 2-с троках, то оно перекроет горизонтальную линию, размечающую нижнюю часть строки таблицы. Для того, что бы избежать таких ситуаций, для линий, окружающих текстовые поля с признаком «Can Grow» следует указывать признаки форматирования «Move to Bottom of Section when Printing» (сдвинуть вниз секции при печати, указывается для горизонтальных линий) и «Extend to Bottom of Section when Printing» (растянуть до низа секции при печати, указывается для вертикальных линий). На рисунке 1.18 представлены диалоговые окна форматирования горизонтальной и вертикальной линий, соответствующие признаки отмечены маркером. Рисунок 1.18 Таким образом, мы добились удовлетворяющего нас внешнего вида печатной формы. На этом этапе можно воспользоваться функцией предварительного просмотра отчета и увидеть его в работе, т.е. в том виде, в котором он будет сформирован на твердом носителе. Для этого следует выбрать пункт меню «View» > «Print Preview», после чего, справа от вкладки «Design», в которой мы проводили работы по настройке внешнего вида отчета, откроется вкладка «Preview», на которой отобразится отчет, наполненный данными (рисунок 1.19). 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 21 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.19 Параметры отчета Для того, что бы отчет мог быть максимально гибким, интерактивным и полезным CR позволяет настроить параметры для отчета. Параметры могут быть использованы, например, при отборе данных в отчет, в шапке отчета, если это необходимо, или в каких-либо расчетных формулах. Для того, чтобы добавить в отчет новый параметр следует выбрать ветку «Parameter Fields» в окне «Field Explorer», вызвать контекстное меню и выбрать в нем пункт «New...» (рисунок 1.20). Рисунок 1.20 В открывшемся диалоговом окне можно задать наименование параметра, тип его данных, приглашение к вводу параметра. Все эти характеристики параметра отчета будут автоматически считаны системой ПП «ПАРУС» при настройке отчета в разделе «Пользовательские отчеты». 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 22 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.21 В нашем примере мы должны отбирать в отчет тех контрагентов, которые подходят по мнемокоду согласно переданного параметра. Поэтому заведем параметр с именем «sagent_mnemo» и характеристикой «Текст промпта» (приглашение к вводу) – «Мнемокод контрагента» (рисунок 1.21). Для того, что бы сохранить новый параметр нажмите «ОК» в окне добавления параметра «Create New Parameter». Созданный Вами параметр отобразится в окне «Field Explorer» (рисунок 1.22). Рисунок 1.22 Теперь параметр готов для использования в отчете. Например, его можно переместить в секцию отчета «Details» и тогда его значение будет фигурировать на печатной форме и будет выдано столько раз, сколько записей источника данных отобразил отчет. Но для нашего примера использование параметра будет другим – по значению параметра мы будем проводить отбор данных в отчет. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 23 ПАРУС-Предприятие 8 Пользовательские отчеты Отбор данных отчета Для того, что бы отобразить в отчете не все данные источника, а лишь те, которые необходимы согласно поставленной задаче, или, например, значению параметра, следует воспользоваться мастером «Select Expert», доступным по пункту меню «Report» > «Select Expert». Если в отчете на момент вызова окна «Select Expert» ещё не было условий отбора, то CR отобразит окно выбора первого поля для задания условия отбора (рисунок 1.23). Рисунок 1.23 В нашем отчете должны отображаться только физические лица, поэтому в окне выбора поля отметим поле «AGNTYPE» и нажмем «ОК». Откроется окно мастера «Select Expert» (рисунок 1.24), в котором можно провести настройку характеристик отбора данных. Рисунок 1.24 Окно «Select Expert» разбито на вкладки. Каждая вкладка отвечает за отбор данных по тому или иному полю источника. Если необходимо добавить к условиям отбора ещё какое либо поле источника, то следует щелкнуть по самой правой вкладке «<New>». Для настройки отбора по какому-либо полю источника следует выбрать из выпадающего списка способ сравнения и значение (или параметр отчета) с которым будет сравниваться поле источника данных отчета. Выражения сравнения будут рассчитываться для каждой записи источника. Если результатом сравнения будет «Истина», то запись попадет в отчет, в противном случае – нет. Для нашего отчета необходимо, что бы поле «AGNTYPE» содержало значение «1» (т.е. признак физического лица). Поэтому на вкладке «V_AGNLIST.AGNTYPE» следует выбрать способ сравнения «is equal to» (т.е. «равняется»), а в появившемся поле для ввода значения указать «1» (рисунок 1.25). 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 24 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.25 Таким образом, мы показали CR, что в отчет должны попасть только те записи представления «V_AGNLIST», значение поля «AGNTYPE» которых, равняется «1». Возможности отбора у редактора отчетов CR весьма широки. Поддерживается масса вариантов отбора. От набора предустановленных операций сравнения (равно, неравно, больше, меньше, внутри диапазона и т.д.), до реализации произвольных пользовательских формул возвращающих «Истину» или «Ложь». Подробнее про возможности отбора можно узнать в специализированной литературе или справочной системе CR. Увидеть формулу отбора данных можно нажав кнопку «Show Formula» (рисунок 1.26). Рисунок 1.26 Здесь же, в коне «Select Expert» можно исправить формулу, если необходимо. Но удобнее делать это в специализированном окне «Formula Editor» (редактор формул), которое предназначено для разработки формул CR. Для вызова редактора формул следует нажать кнопку «Formula Editor...» окна «Select Expert» (рисунок 1.27). 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 25 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.27 Это стандартное окно для редактирования любых формул (в том числе и формулы отбора данных) CR. Подробнее с этим окном мы познакомимся в следующей главе. Сейчас наша задача модифицировать формулу отбора данных таких образом, что бы она удовлетворяла поставленной выше задаче на формирование отчета. Мы должны отображать полный список контрагентов если параметр «sagent_mnemo» не задан, или только тех, кто подходит по маске указанному в параметре значению. Поэтому формула отбора примет вид, показанный на рисунке 1.28. Рисунок 1.28 Таким образом, мы реализовали нашу первую формулу в CR. Следующая глава расскажет об этом механизме подробнее. Для того, что бы сохранить формулу отбора нажмите кнопку «Save and close» в верхнем левом углу окна «Record Selection Formula Editor» (она отмечена красным маркером на рисунке 1.28). После этого можно сохранить условия отбора данных, нажав «OK» в окне «Select Expert». Теперь можно попробовать параметры и условия отбора в работе. Для этого откройте окно предварительного просмотра отчета. Редактор CR выдаст окно запроса значений параметров (рисунок 1.29). Обратите внимание, в окне присутствует приглашение ко вводу данных, указанной Вами при настройке параметра через «Field Explorer». 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 26 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.29 Попробуйте не вводить значение параметра и нажать «OK». Отчет исполнится, и прежде чем отобразить данные CR отберет их согласно созданной Вами формуле (рисунок 1.30). Рисунок 1.30 Теперь закройте окно просмотра и откройте снова. На запрос о вводе параметров введите, например «Си*» (т.е. отобразить всех контрагентов, мнемокод которых начинается с «Си») и нажмите «OK» (рисунок 1.31). Содержимое отчета примет вид, показанный на рисунке 1.32. Рисунок 1.31 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 27 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 1.32 Таким образом, мы научились отбирать данные в источнике и сделали отчет более гибким и интерактивным. Формулы отчета Редактор отчетов CR позволяет Вам использовать в отчете формулы, вычисляемые при формировании отчета. Каждая из формул может быть довольно сложна алгоритмически. Формулы CR поддерживают объявление переменных, использование управляющих конструкций (в частности, оператора ветвления логики исполнения – IF, CASE), циклических конструкций (операторов FOR, WHILE и т.д.). Кроме того, в CR входят разнообразные функции для работы со строками (LENGTH, TRIM, LOWERCASE, UPPERCASE и т.д.), проведения математических операций (ABS, ROUND, SIN, COS и т.д.), преобразования данных. Так же набор этих функций может быть расширен за счет подключения пользовательских библиотек (набор функций CR расширен, например, библиотекой ПП «ПАРУС» – «u2lparus.dll», об этих функциях модно узнать в справке по системе управления ПАРУС). Т.е. при реализации формулы в CR в Вашем распоряжении, по сути, оказывается достаточно мощный инструмент для решения практически любых задач, связанных с вычислениями или преобразованиями данных источника. Все формулы CR реализуются в специальном редакторе – «Formula Editor» (рисунок 1.33). Каждая из формул должна возвращать определенное значение. Например, формула отбора данных – «Истину» («True») или «Ложь» («False»), формула форматирования цвета объекта отчета – цветовую константу, формула расчета суммы – числовое значение. В любом случае, значением формулы считается результат, рассчитанный в её последнем выражении. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 28 ПАРУС-Предприятие 8 Пользовательские отчеты 1 3 4 5 6 2 Рисунок 1.33 Для написания формул следует знать синтаксис, принятый в CR (либо синтаксис VB). Узнать про это можно в специализированной литературе. Но, даже не углубляясь в изучение синтаксиса формул CR, можно начать создавать собственные формулы. В этом поможет сам «Formula Editor». Окно редактора разбито на несколько секций (отмечены красным маркером). · Секция 1 – панель инструментов редактора формул. На панели присутствуют кнопки вызова массы функций, позволяющих облегчить разработку формулы. Отдельно стоит упомянуть кнопку « ». Нажав её можно проверить синтаксис написанной формулы. Если в ней есть ошибки, то CR укажет на место и ошибку в формуле. · Секция 2 – окно навигатора по формулам отчета. Здесь в древовидной структуре представлены все формулы отчета. Можно переключиться в любую из них, не закрывая окно редактора формул. · Секция 3 – дерево полей отчета. Если необходимо использоваться в формуле какое-либо поле источника данных, или параметр, или другую формулу, то необходимо просто найти это поле в данном дереве и дважды щелкнуть по нему. После этого синтаксически правильная ссылка на выбранное поле будет помещена в то место разрабатываемой формулы, в котором находится курсор ввода. · Секция 4 – дерево функций. Здесь перечислены все встроенные функции редактора CR, разбитые по категориям. Для того, что бы использовать функцию в формуле необходимо дважды щелкнуть по ней и её вызов будет размещен в формуле. · Секция 5 – дерево операторов CR. В этой секции вы можете найти любые операции доступные для использования в формуле, разбитые на категории. Здесь и операторы сравнения, операторы организации циклов и ветвления логики формулы, ключевые слова для объявления переменных и массивов и т.д. · Секция 6 – исходный код разрабатываемой формулы. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 29 ПАРУС-Предприятие 8 Пользовательские отчеты Таким образом, благодаря секциям 3, 4 и 5 можно разрабатывать формулы не заботясь о детальном изучении синтаксиса CR, а просто размещая нужные ссылки и ключевые слова в коде формулы, выбирая их в этих секциях. Тем не менее, увлекаться разработкой большого числа сложных формул в отчете не следует. Формулы CR достаточно сложно отлаживать и сопровождать. Кроме того они исполняются на терминале пользователя, а не на сервере, что может заметно снизить скорость печати. В идеальном варианте отчет CR для системы управления ПАРУС должен лишь правильно отобразить данные источника, которые удобнее подготовить в представлении Oracle или хранимой процедуре на языке PL/SQL, работающей не сервере БД. В следующих главах будет рассказано об особенностях функционирования отчетов CR в среде ПП «ПАРУС». Занятие 2. Пользовательские отчеты ПП «ПАРУС» на базе Crystal Reports Следует заметить, что ПП «ПАРУС» (далее – система) позволяет формировать отчетные формы в различных форматах. Это могут быть и печатные формы MS Excel, MS Word, выгрузки в простые текстовые файлы с форматированием, отчеты на базе шаблонов Crystal Reports и т.д. В рамках данного руководства рассматриваются только те моменты функционирования системы, которые связаны с последним из перечисленных типов отчетных форм – отчеты на базе Crystal Reports (далее – отчеты, пользовательские отчеты). Классификация печатных форм системы ПП «ПАРУС» обладает богатыми возможностями по формированию отчетности. Прежде чем познакомиться подробнее с разработкой пользовательских отчетов на базе Crystal Reports, следует определить их место среди общего числа выходных форм, генерируемых системой, а так же понять их назначение. Дл этого необходимо ознакомиться с классификацией печатных форм ПП «ПАРУС». Классификация печатных форм системы управления ПАРУС представлена в таблице ниже. В зависимости от назначения печатной формы Вы, как разработчик, имеете определенные ограничения, связанные с особенностями работы той или иной формы отчетности. Тип Шаблон документа Способ запуска Вручную, по пункту контекстного меню «Печать» > «Документ» Способ реализации MS Word MS Excel Crystal Reports Типовой отчет Вручную, по пункту контекстного меню «Печать» Crystal Reports Назначение Получение различных выходных печатных форм в зависимости от значения поля «Тип документа» того или иного учетного регистра системы. Шаблоны документов доступны из любого модуля системы по пункту меню «Словари» > «Документы» > «Шаблоны». Печать типовых отчетных форм (как правило, предусмотренных законодательством). Типовые отчеты доступны из модуля «Администратор» по пункту меню «Словари» > «Шаблоны типовых отчетов». Ограничения Невозможно задавать дополнительные параметры, кроме предусмотренных системой, невозможно вызвать процедуру подготовки данных отчета, кроме предусмотренной системой. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 30 ПАРУС-Предприятие 8 Пользовательский отчет Вручную, по пункту контекстного меню «Расширения» > «Пользовательские отчеты» Пользовательские отчеты MS Excel Crystal Reports Формирование любых печатных форм, требующихся заказчику для удовлетворения потребностей его бизнеспроцессов. Пользовательские отчеты доступны из любого модуля системы по пункту меню «Отчеты» > «Пользовательские отчеты». Отсутствуют. Разработчику предоставляется полная свобода выбора источника данных, алгоритмов сбора данных и расчета показателей, формы вывода на печать, набора входных параметров Назначение пользовательских отчетов Как видно из представленной выше таблицы пользовательские отчеты (далее ПО) предоставляют разработчику наибольшую свободу действий и способны удовлетворить практические любые потребности бизнеса. В этом состоит их основное назначение – представить информацию системы в удобном для анализа и принятия решения виде, а так же получить твердую копию данных системы. То есть ПО является самым гибким средством для работы с отчетами (с любыми формируемыми документами: ведомостями, выписками, реестрами и т.п.). ПО позволяют сформировать отчет по данным из БД системы, а затем: · просмотреть и распечатать полученный отчет · сохранить отчет в виде файла · конвертировать отчет в большинство распространенных форматов (PDF, DOC, XLS) ПО может быть сформирован: · в разделе системы «Пользовательские отчеты» при помощи действия «Печать». · в разделе системы, с которым связан ПО, по действию «Расширения» > «Пользовательские отчеты». Если для отчета предусмотрен ввод значений параметров формирования, то перед формированием отчета будет выведено окно для ввода этих значений, а затем – окно предварительного просмотра отчета перед печатью. Перед формированием ПО отчет должен быть настроен. Настройку проводят в разделе «Пользовательские отчеты» (доступен из главного меню любого модуля системы «Отчеты» > «Пользовательские отчеты», главное окно раздела представлено ниже, на рисунке 2.1). При необходимости, ее можно изменить в ходе использования ПО. Системой поддерживаются два типа ПО - Crystal Reports и Microsoft Excel. Напомним, что данное руководство рассматривает только вопросы формирования ПО с использованием Crystal Reports, но ниже в нескольких словах будут описаны принципы формирования отчетов при помощи Microsoft Excel. Правила формирования ПО задаются в виде описания его содержания и внешнего оформления. Описанию каждого отчета соответствует запись в разделе «Пользовательские отчеты». 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 31 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 2.1 Исходное описание ПО формируется при помощи приложения: · Crystal Report (далее CR) для одноименного типа ПО. Сохраняется в rpt-файле (шаблоне) · Microsoft Excel (далее Excel) для одноименного типа ПО. Сохраняется в xls-файле (шаблоне). Стандартный набор файлов-шаблонов включен в поставку системы. Если его окажется недостаточно, можно, используя CR или Excel, создать новый файл-шаблон (описание отчета), как уже было сказано выше. Каждый шаблон задает следующие характеристики отчета: · Источник данных отчета в БД системы (таблица, представление, процедура, возвращающая курсор) · Набор параметров отчета, влияющих на его данные и процесс его формирования (если требуется) · Алгоритмы обработки данных · Внешний вид отчета В общем виде процесс регистрации ПО в системе может выглядеть так: 1. Добавить в таблице «Отчеты» раздела «Пользовательские отчеты» (рисунок 2.1) запись о новом ПО. Примечание: Многие отчеты могут быть реализованы разработчиком Системы как пользовательские отчеты. Такие базовые отчеты входят в поставку Системы, регистрируются автоматически при ее установке, после которой сразу готовы к использованию. Для ПО типа Microsoft Excel до регистрации записи о ПО надо создать средствами Oracle хранимую процедуру, обязательную для данного типа ПО. 2. Для «наполнения» записи о ПО описанием отчета (данными о содержании и внешнем оформлении) надо выбрать нужную запись, задать команду «Загрузить из файла» и выбрать в появившемся окне подходящий файл-шаблон. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 32 ПАРУС-Предприятие 8 Пользовательские отчеты 3. В описании отчета может быть задана возможность ввода различных значений одного или нескольких параметров. Если для определенного ПО такая возможность реализована, то перед формированием отчета Система запросит у пользователя значения этих параметров. Список подобных параметров выводится в таблице «Параметры» раздела «Пользовательские отчеты» (рисунок 2.1) для выбранного отчета. Вы можете изменить текст запроса и способ ввода для каждого параметра, для этого следует выбрать запись параметра и выполнить для неё действие «Исправить». 4. Далее, вызовом действия «Связи с разделами», можно задать раздел системы, с которым связывается ПО. Впоследствии ПО может формироваться непосредственно в связанном разделе, в противном случае, формирование ПО возможно только в разделе «Пользовательские отчеты» (при помощи команды «Печать»). В разделах ниже, все эти действия будут описаны подробнее. Настройка и подключение пользовательских отчетов Работу с пользовательскими отчетами системы можно осуществлять из любого приложения системы, из раздела «Пользовательские отчеты». Раздел доступен в основном меню, путь «Отчеты» > «Пользовательские отчеты», на рисунке 2.1 (выше) представлен внешний вид раздела «Пользовательские отчеты». Окно раздела разбито на три части. Слева – список каталогов раздела. С его помощью можно систематизировать подключенные пользовательские отчеты, а так же разграничить пользователям доступ к ним (подробнее об этом можно узнать в документации по приложению «Администратор»). Верхняя правая часть – отражает список заголовков пользовательских отчетов, относящихся к выбранному в левой части окна каталогу. Нижняя правая часть раздела – список параметров выделенного пользовательского отчета. Все действия, которые требуется выполнять для регистрации и обслуживания пользовательских отчетов, доступны из контекстного меню основной части раздела (верхней правой). Для вызова контекстного меню следует щелкнуть в указанной части раздела правой кнопкой мыши. На рисунке 2.2 представлен внешний вид контекстного меню раздела «Пользовательские отчеты». 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 33 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 2.2 Помимо стандартных действий, характерных для любого типового раздела системы (добавить, размножить, исправить, удалить, отобрать и т.д.) для пользовательского отчета доступны действия: · Печать – вывод отчета на печать с запросом параметров (если заданы) и отображением окна предварительного просмотра. · Формы – отображает список пользовательских форм ввода параметров отчета, позволяет их создавать и редактировать. По умолчанию, если у пользовательского отчета есть визуализируемые (задаваемые пользователем явно) входные параметры, то система автоматически генерирует диалоговое окно для указания их значений (форму ввода параметров). Данный пункт контекстного меню позволяет создавать и настраивать формы самостоятельно, и назначать их определенным пользователям или ролям системы. · Связи с разделами – позволяет привязывать пользовательский отчет к целевым разделам. Если ПО не будет привязан к разделам, то работа с ним возможно только из раздела «Пользовательские отчеты» по команде «Печать». · Загрузить из файла – загрузка шаблона отчета, разработанного в редакторе Crystal Reports или в Excel в БД системы и сопоставление этого шаблона с заголовком пользовательского отчета. · Выгрузить в файл – выгрузка в дисковый файл шаблона отчета из БД системы. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 34 ПАРУС-Предприятие 8 Пользовательские отчеты · Начальная загрузка – загрузка в раздел набора типовых пользовательских отчетов из дистрибутива системы. Как правило, выполняется автоматически при создании или обновлении БД. Настройка (подключение) нового пользовательского отчета системы – комплексное действие, требующее проведение ряда операций в разделе «Пользовательские отчеты». Подключение пользовательского отчета, как уже было сказано выше, можно разбить на несколько простых шагов: · Регистрация заголовка пользовательского отчета · Загрузка шаблона ПО в БД системы · Настройка параметров пользовательского отчета · Привязка пользовательского отчета к разделу Теперь подробнее о каждом из этих шагов. Добавление нового пользовательского отчета (регистрация) осуществляется выбором пункта контекстного меню «Добавить», списка ПО (пункт контекстного меню «Размножить» позволяет зарегистрировать новый ПО на основе уже существующего). Форма добавления представлена на рисунке 2.3. Рисунок 2.3 Регистрация заголовка пользовательского отчета предполагает указание следующих параметров: · Мнемокод – краткое уникальное наименование пользовательского отчета. · Наименование – полное наименование пользовательского отчета, отражающее его назначение. · Тип – указывает на способ реализации шаблона пользовательского отчета. Возможные значения «Crystal Reports» или «Microsoft Excel». При указании типа «Microsoft Excel» – обязательно заполнение поля «Процедура». 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 35 ПАРУС-Предприятие 8 Пользовательские отчеты · Процедура – указывает на имя хранимой процедуры Oracle на языке PL/SQL, реализующей алгоритм формирования данных для регистрируемого пользовательского отчета. Процедура вызывается до отображения печатной формы отчета и как правило формирует записи в определенной таблице-источнике, из которой затем, шаблон отчета считывает данные (напрямую или через представление Oracle). Если процедура не указана, то предполагается что шаблон отчета в качестве источника использует уже готовые данные таблиц или представлений. После регистрации заголовка отчета следует провести загрузку шаблона, выбрав пункт контекстного меню «Загрузить из файла» (рисунок 2.2). После выбора этого действия система откроет стандартное окно выбора файла Windows, в котором следует указать на файл шаблона и нажать «Открыть». Система проведет загрузку шаблона в БД, и если в шаблоне отчета CR заданы параметры, то их список отразится в нижней части окна раздела «Пользовательские отчеты», в секции «Параметры». Если регистрируется пользовательский отчет типа «Microsoft Excel», то добавление параметров необходимо осуществлять вручную, функцией «Добавить». Каждый из параметров пользовательского отчета можно дополнительно настроить. Для этого необходимо вызвать форму исправления параметра (двойной щелчок левой кнопкой мыши на параметре в списке «Параметры», или пункт контекстного меню «Исправить», данного списка). Форма исправления параметра представлена на рисунке 2.4. Рисунок 2.4. На вкладке «Реквизиты» можно задавать следующие характеристики параметра пользовательского отчета: · Имя параметра отчета – имя отчета заданное в редакторе CR или произвольное уникальное имя, вводимое пользователем, если происходит настройка отчета типа «MS Excel». 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 36 ПАРУС-Предприятие 8 Пользовательские отчеты · Параметр хранимой процедуры – наименование параметра хранимой процедуры Oracle. Задается только в том случае, если в заголовке пользовательского отчета указана хранимая процедура Oracle, служащая для формирования данных отчета. По сути здесь производится сопоставление параметров шаблона отчета и параметров хранимой процедуры. Система, перед формированием отчета выдает на экран окно ввода параметров, затем, передает введенные параметры сначала в указанную хранимую процедуру, а после того как процедура завершила работу – в шаблон отчета. · Тип данных – отражает тип данных параметра (строка, число, дата и т.д.). Указание данной характеристики возможно только для параметров ПО на базе шаблонов MS Excel, в остальных случаях тип данных параметра определяется при его создании в редакторе отчетов CR. · Приглашение ко вводу – служит для указания текста, поясняющего вводимое значение параметра. Отображается на форме ввода параметров слева от элемента формы, служащего для ввода значения. · Порядок сортировки – порядок отображения параметра на форме ввода. · Обязательный для заполнения – данная характеристика обязывает пользователя указывать значение параметра перед исполнением пользовательского отчета. Ввод обязательных параметров отчета контролируется системой и на форме ввода параметров пользовательского отчета такие параметры помечаются специальным цветом, а кнопка «ОК» (обеспечивает исполнение отчета с указанным набором параметров), на форме ввода параметров, становится недоступной, пока не заполнены значения всех обязательных параметров. Помимо указания общих свойств параметров, на вкладке «Привязка», окна добавления или исправления параметра (рисунок 2.5) можно указать способ задания значения для параметра. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 37 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 2.5 Возможны следующие значения типа привязки: · Нет – перед запуском процедуры значение такого параметра вводится вручную. Например, для параметра типа «NUMBER» (число) – непосредственно число. · Документ/Учетный регистр/Словарь – позволяет указать существующий раздел системы в качестве источника значений для входного параметра. После указания раздела системы, к которому будет привязан параметр, на форме ввода параметров отчета для данного параметра будет сформирован интерфейсный элемент « », позволяющий открыть связанный словарь и выбрать из него необходимое значение для параметра. В случае указания этого способа привязки в форме редактирования доступны для заполнения поля: o Раздел - раздел, данные которого выведутся в окне выбора при задании значения редактируемого параметра. o Метод вызова - метод вызова окна выбора, то есть тот или иной элемент такого окна: например, дерево каталогов, главная таблица раздела, подчиненная таблица раздела. o Параметр - параметр метода вызова (регистрационный номер записи или каталога), значение которого будет передаваться в качестве значения редактируемого параметра. Обратите внимание: список параметров зависит от того, каков тип данных редактируемого параметра ПО. § Число, тогда параметр метода вызова – это регистрационный номер записи (если в качестве метода вызова задана таблица) или каталога (если в качестве метода вызова заданы каталоги раздела). § Строка, тогда параметр метода вызова – это мнемокоды или наименования записей выбранного раздела. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 38 ПАРУС-Предприятие 8 Пользовательские отчеты Если выбранный в поле «Разделы системы» параметр относится к подчиненной таблице раздела, то система предложит выбрать для него «Родительский параметр». Это необходимо, поскольку параметры подчиненной таблицы раздела не могут рассматриваться самостоятельно (без связи с параметрами его главной таблицы). Родительским может быть только параметр, уже указанный в списке параметров данного отчета и способный быть родительским для исходного по структуре связей базы данных Системы. Например, пусть в пользовательском отчете есть параметр ACC1, который нужно привязать к номеру аналитического счета. Номер аналитического счета не имеет смысла без указания номера счета. Если задать раздел «План счетов», метод вызова «План счетов (аналитические счета)» и параметр «Регистрационный номер записи аналитического счета», то Система предложит выбрать родительский параметр в поле «Родительский параметр». При нажатии кнопки «с тремя точками» в этом поле, появится окно выбора, содержащее список параметров текущего пользовательского отчета: выберите тот, который будет использован в качестве родительского. Так, если в списке параметров отчета есть параметр ACC, связанный с номером счета в этом же разделе, то именно он может стать родительским для параметра ACC1. Если же в отчете нет подобного параметра (связанного с номером счета), то, не создав его, нельзя корректно задать привязку ACC1 к номеру аналитического счета. · Дополнительный словарь – позволяет указать существующий дополнительный словарь системы в качестве источника значений для входного параметра. После указания дополнительного словаря системы, к которому будет привязан параметр, на форме ввода параметров отчета для данного параметра будет сформирован интерфейсный элемент « », позволяющий открыть связанный словарь и выбрать из него необходимое значение для параметра. · Организация – в качестве значения параметра автоматически используется указание на организацию, заданную при запуске сеанса работы с модулем системы (организации, с данными которой работает система при выполнении процедуры). Привязка возможна только к параметру типа «NUMBER» (число). Параметр передается неявно (пользователь не видит его на форме ввода данных, значение параметра система подставляет автоматически, в зависимости от контекста). · Идентификатор ведомости – в качестве значения параметра автоматически используется указание на вновь созданную ведомость, для которой выполняется отчет. Привязка возможна только к параметру типа «NUMBER» (число). Параметр передается неявно (пользователь не видит его на форме ввода данных, значение параметра система подставляет автоматически, в зависимости от контекста). 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 39 ПАРУС-Предприятие 8 Пользовательские отчеты · Идентификатор отмеченных записей. При выполнении отчета, имеющего параметр с таким типом привязки, отмеченные записи (или текущая, если ничего не отмечено) попадают в таблицу SELECTLIST, а идентификатор этих записей передается в сам параметр. При этом процедура формирования данных отчета вызывается один раз и должна считать список отмеченных записей из таблицы SELECTLIST. Привязка возможна только к параметру типа «NUMBER» (число). Параметр передается неявно (пользователь не видит его на форме ввода данных, значение параметра система подставляет автоматически, в зависимости от контекста). На вкладке «Значение по умолчанию», окна настройки параметра пользовательского отчета (рисунок 2.6) можно указать значение параметра, которое будет ему присвоено автоматически при отображении окна ввода параметров процедуры. Рисунок 2.6. Значение по умолчанию отобразится на форме ввода параметров отчета. При необходимости, в момент ввода параметров, пользователь сможет это значение переопределить. После того, как настроен заголовок пользовательского отчета, в БД системы загружен шаблон и настроены все параметры, можно осуществить привязку отчета к разделам системы (если привязка не требуется, то отчет можно исполнить непосредственно из раздела «Пользовательские отчеты», выбрав пункт контекстного меню «Печать», списка отчетов). Каждый пользовательский отчет может быть привязан к нескольким разделам системы. Привязка пользовательского отчета к разделу осуществляется выбором пункта «Связи с разделами» контекстного меню списка «Пользовательские отчеты». Появившееся диалоговое окно (рисунок 2.7) позволяет настраивать привязки. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 40 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 2.7 Для добавления новой связи с разделом следует вызвать форму добавления связи (пунктом контекстного меню или горячей клавишей). В появившемся окне добавления связи с разделом (рисунок 2.8), можно задавать следующие параметры связи: · Раздел системы – из списка разделов системы выбирается тот, к которому следует привязать пользовательский отчет, именно из этого раздела пользователь сможет вызывать отчет. · Наименование – наименование отчета в связанном разделе. Этот текст будет виден пользователю в качестве имени подключаемого дополнительного отчета штатного раздела. Рисунок 2.8 После того, как настройка отчета завершена, можно его использовать в работе. Пользовательские отчеты, связанные с разделами доступны в их контекстном меню – «Расширения» > «Пользовательские отчеты» (рисунок 2.9). 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 41 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 2.9 После выбора этого пункта контекстного меню система откроет список пользовательских отчетов, привязанных к разделу (рисунок 2.10). Рисунок 2.10 После выбора пользовательского отчета в списке, пользователь должен подтвердить выбор двойным щелчком мыши или нажатием кнопки «ОК». Затем появится форма ввода параметров отчета (если есть явные параметры, значения которых должны быть заданы пользователем). После ввода параметров, по нажатию кнопки «ОК», в окне ввода параметров, будет вызвана и исполнена с указанными параметрами хранимая процедура Oracle, указанная в заголовке отчета при его настройке (если процедура указана). Затем система откроет окно предварительного просмотра отчета, содержащее шаблон отчета с данными (рисунок 2.11). 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 42 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 2.11 Кроме того, система позволяет настроить вызов пользовательских отчетов непосредственно из контекстного меню раздела (рисунок 2.12), без обращения к списку пользовательских отчетов через ветку контекстного меню «Расширения». Рисунок 2.12 Для осуществления такой настройки необходимо вызвать окно настроек раздела, к которому подключен пользовательский отчет (из контекстного меню раздела, по пункту «Настройки»). Затем, переключиться в появившемся окне на вкладку «Действия» и найти в списке действий «Пользовательские отчеты» (рисунок 2.13). 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 43 ПАРУС-Предприятие 8 Пользовательские отчеты Рисунок 2.13 После этого в коне «Настройки» появится вкладка «Пользовательские отчеты». Следует переключиться на эту вкладку (рисунок 2.14). Рисунок 2.14 В списке подключенных к разделу пользовательских отчетов выбрать тот, вызов которого хотите настроить через пункт контекстного меню, и щелкнуть по нему дважды, левой кнопкой мыши и нажать «ОК», для сохранения настроек раздела. Значение признака «Использовать в меню» сменится с «Нет» на «Да», а контекстном меню раздела появится пункт, для вызова данного пользовательского отчета. Отключение вызова пользовательского отчета из контекстного меню раздела осуществляется аналогичным образом. 129366, г. Москва, ул. Ярославская, д. 10, корп. 4, тел. (495) 797-89-90/91, сайт: www.parus.ru 44