Компонент «Конструктор отчетов»

Отчет - это результат запроса в базу на выдачу определенных (заданных в конструкторе отчетов) данных. Проще говоря, отчет - это средство для просмотра данных (только для просмотра!), удовлетворяющих конкретным условиям. Внешний вид отчета - таблица, ее структура задается в конструкторе отчетов, причем ни количество условий (фильтров), ни количество запрашиваемых данных (источников значений) системой не ограничиваются. Форма - аналогичное отчету средство для ввода данных в систему.

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

Создание нового отчета

Открываем меню «Отчет - Новый отчет»

_images/a19.png

И попадаем на страницу конструктора отчетов.

_images/a20.png

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

В поле «Название» вводим название будущего отчета. Под ним он будет существовать в системе

_images/a21.png

Заголовки строк и столбцов

В отчетах и формах есть заголовки строк, заголовки столбцов и внешние фильтры.

Заголовки столбцов и строк могут быть трех типов:

  • источники: показатель, значение которого выводится в ячейке отчета,
  • фильтры: некоторые условия на объект, например - условие равенства показателя определенному значению,
  • оформительские: отображаются в заголовках отчета, но не влияют на содержимое соответствующих ячеек.

У каждой ячейки должен быть один и только один источник значений, таким образом источники для отчета могут располагаться либо только в заголовках строк, либо только в заголовках столбцов, либо один источник на весь отчет. По умолчанию устанавливается «Значение из заголовка столбцов», пользователь может выбрать другой вариант - «Значение из заголовка строк» или «Значение из показателя»:

_images/a22.png

Добавление заголовка-источника данных

Источники данных добавляются по нажатию на кнопку «Добавить источник» в поле «заголовки столбцов» (или строк), или выбираем его в отдельном поле в верхней панели меню (если был выбран вариант источника данных «значения из показателя»).

_images/a26.png

Во всплывающем окне в поле «Значение» начинаем вводить название показателя и выбираем нужный из выпадающего списка.

_images/a27.png

В поле «Название» можно ввести название, под которым источник будет отображаться в системе. По умолчанию это название совпадает с названием показателя.

Чек-бокс «Параметр» делает источник параметром, его сможет изменять пользователь при просмотре отчета (или заполнении формы). После сохранения источника-параметра по кнопке «Задать множество значений параметра» можно ограничить, из каких показателей пользователь будет выбирать источник значений в данном отчете.

Чек-бокс «брать значение из фильтров» позволяет выводить значения показателей-источников по цепочке, применяя значения фильтров к первому элементу цепочки.

Допустим, есть справочник «Организации» и соответствующий ему показатель «Организация». Для элементов справочника «Организации» определен признак «Адрес».

_images/a27-3.png

Если в отчете задан фильтр по показателю «Организация», и в одном из столбцов отчета нужно вывести адреса организаций, то при задании показателя-источника можно записать выражение вида «показатель по цепочке»: «Организация.Адрес» и выбрать опцию «брать значение из фильтров»:

_images/a27-1.png

В отчет будут выведены адреса, указанные в справочнике «Организации»:

_images/a27-2.png

Чек-бокс «не учитывать при пропуске пустых». В настройках отчета есть возможность пропускать пустые строки (кнопка «Настройки» в конструкторе). Если у источника поставить галочку «не учитывать при пропуске пустых» и в отчете включить настройку пропускать пустые строки, то строка, в которой значение у этого источника есть, а у всех остальных нету, так же не будет выведена в отчет, как будто она пустая.

Чек-бокс «компактное представление заголовков» имеет смысл только для заголовков строк. Заголовок с таким свойством, если у него есть заголовки-потомки, отображается слева от них, без возможности сворачивания заголовков под него.

vkzk.png

Вид отчета с компактными заголовками:

vkz.png

Чек-бокс «показывать горизонтальные диаграммы» имеет смысл только для заголовков столбцов. Вместо числовых значений в ячейках этого столбца будут отображаться горизонтальные столбики столбиковой диаграммы, высота столбика пропорциональна доле значения в ячейке от максимального значения в данном столбце. При наведении курсора на ячейку со столбиком появится подсказка со значением показателя в данной ячейке и вычисленным % от максимума.

Пример отчета с горизонтальной столбиковой диаграммой:

_images/a27a.png

Чек-бокс «текст с переносами строк». Если у источника стоит галочка в чек-боксе «текст с переносами строк», высота строки автоматически подбирается таким образом, чтобы текст в ячейке с этим показателем был виден целиком. При этом текст в других ячейках, где не указана опция «текст с переносами строк», может отображаться не полностью.

Функции чек-боксов «группировочный» и «уникальный» реализованы в отчето-реестрах (см. подраздел Отчето-реестры).

После выбора нужных опций нажимаем кнопку «Ок» для сохранения настроек.

Добавление заголовка-фильтра

Чтобы создать заголовок-фильтр, нажмите кнопку «Добавить фильтр».

_images/a28.png

Вводим название показателя и выбираем его значение

_images/a29.png

Если в качестве фильтра используется показатель типа «Древовидный справочник», нет необходимости добавлять по отдельности каждый из элементов справочника. При повторном открытии такого фильтра появляется возможность добавить детей. Тогда в область, куда добавляются фильтры, добавятся в виде отдельных фильтров все непосредственные потомки (дети) указанного значения показателя из справочника. Они будут сгруппированы под своим родителем.

_images/a29-5.png

Либо можно выбрать один из чекбоксов «Автоматически добавлять» - детей или все поддерево целиком. Тогда ни дети, ни поддерево не будут отображаться в конструкторе в виде отдельных фильтров, но они будут автоматически добавляться при построении отчетов и будут группироваться под своих родителей.

_images/a30.png

Если в качестве фильтра используется показатель типа «Справочник», при повторном открытии фильтра с этим показателем появляется кнопка «Добавить все элементы справочника». По нажатию на нее в заголовки строк/столбцов будут добавлены в виде отдельных фильтров все элементы выбранного справочника.

Как и при создании источника, здесь можно задать название заголовка, сделать фильтр параметром, включить компактное представление заголовков, перенос текста, показ горизонтальных диаграмм.

Опция «Применять фильтр ко вложенным заголовкам» в окне настройки фильтра позволяет объединить через «И» фильтр-родитель и фильтры потомки. Если эта опция не выбрана, то фильтр-родитель является просто группировочным заголовком для фильтров-потомков.

Так же, как фильтры на исходные данные, фильтры в заголовках строк и столбцов можно создать по цепочке. Однако, корректно работать это будет лишь в отчето-реестрах). Во всех остальных случаях система сообщит, что вы пытаетесь построить отчет со сложным фильтром, выдаст ошибку.

При создании фильтров-заголовков строк или столбцов можно применять не только равенство показателя какому-то значению, но и другие функции. Выбираются они из выпадающего списка по стрелочке в строке «Фильтр».

_images/filtrs.png

Фильтр «Один из» извлекает объекты, у которых значение признака равно одному из выбранных. Если при этом фильтр отмечен как параметр, тогда при просмотре отчета можно будет выбрать несколько значений показателя для фильтрации данных в отчете.

Допустим, введены данные о бюджете организаций в разрезе организаций (показатель «Организационная структура») и филиалов (показатель «Филиал организации»):

_images/one_of1.PNG

Нужно вывести в отчет общую сумму бюджета организации «Организация 1» в выбранных филиалах.

Создадим сводный показатель «Сумма бюджета», значение которого вычисляется как сумма значений показателя «Бюджет организации» по всем объектам, удовлетворяющим заданным фильтрам. Зададим в отчете фильтр «Филиал организации один из» как параметр, выберем нужные филиалы:

_images/one_of3.PNG

Получим общую сумму бюджета по 3-м выбранным филиалам:

_images/one_of4.PNG

Фильтр «Любое» извлекает все объекты, у которых данный признак имеется (не важно, какое именно значение принимает этот признак).

Допустим, введены данные о бюджете организаций в разрезе организаций (показатель «Организационная структура») и филиалов (показатель «Филиал организации»):

_images/any1.PNG

В отчет необходимо вывести общую сумму бюджета выбранной организации по всем ее филиалам. Выведем в отчет сводный показатель «Сумма бюджета», значение которого вычисляется как сумма значений показателя «Бюджет организации» по всем объектам, удовлетворяющим заданным фильтрам. Зададим в отчете фильтр-параметр «Организация» и фильтр «Филиал организации любое»:

_images/any2.PNG

Выбрав в качестве параметра организацию «Организация 1», получим сумму бюджета по всем филиалам выбранной организации:

_images/any3.PNG

Фильтр «Отсутствует» извлекает все объекты, у которых данный признак не задан (отсутствует).

Допустим, введены данные о бюджете организаций в разрезе организаций (показатель «Организационная структура») и филиалов (показатель «Филиал организации»):

_images/any1.PNG

Пусть в отчет нужно вывести сумму бюджета выбранной организации, не распределенную по филиалам. Выведем в отчет сводный показатель «Сумма бюджета», значение которого вычисляется как сумма значений показателя «Бюджет организации» по всем объектам, удовлетворяющим заданным фильтрам. Зададим в отчете фильтр-параметр «Организация» и фильтр «Филиал организации отсутствует»:

_images/no2.png

Выбрав в качестве параметра организацию «Организация 1», получим сумму бюджета выбранной организации, не распределенную по филиалам:

_images/no3.png

Фильтр «Задание формулой» позволяет задать заголовок отчета формулой. Это возможно и для внешнего фильтра отчета, и для фильтра на исходные данные. Подробно про различные виды формул написано в разделе Компонент «Формулы для задания фильтров».

Кроме того, как при работе с реестрами, в случае с фильтрами-периодами есть возможность строить отчеты и формы с привязкой к текущей дате (текущему месяцу, году и т.д.), чтобы не менять постоянно параметры их отображения. Для этого нужно при добавлении фильтра-периода в качестве типа периода указать «Текущий …» (в зависимости от того, какой период нужен - неделя, месяц или другой). В следующем поле можно указать сдвиг этого периода относительно настоящего момента («Текущий месяц» -1 - это предыдущий месяц и т.д.).

Также в заголовках строк или столбцов (в отличие от внешних фильтров отчета) возможно задание относительных периодов с помощью формул на заголовки (см. подраздел Формулы для работы с периодами).

Фильтры на исходные данные

Кроме задания обычных фильтров на весь отчет, можно задавать также и фильтры на исходные данные (другими словами - дополнительные условия, которые используются для отбора исходных данных и не участвуют в процессе разбора формул). Для задания дополнительных условий в конструкторе отчетов предусмотрено выпадающее меню по стрелочке «Доп. условия» рядом с кнопкой «Фильтры».

_images/a153.png

Интерфейс аналогичен добавлению фильтров. Однако в фильтрах на исходные данные возможно применение неравенств для числовых показателей, либо сложных фильтров, описывающих цепочку показателей. Для создания цепочки показателей, после выбора основного показателя, необходимо под полем, где он указан, нажать на иконку «Добавить следующий показатель цепочки» и в выпадающем списке выбрать нужный показатель.

_images/a154.png

Например, пусть в системе заведен справочник городов, и соответствующий показатель «Город», ссылающийся на данный справочник. Допустим, каждая запись (элемент) справочника городов имеет определенный показатель «Мэр», ссылающийся на справочник людей, с определенными фамилиями, именами и отчествами. И пусть числовой показатель «Численность населения» собирается в разрезе городов, т.е. каждый объект, имеющий определенный показатель «Численность населения», имеет соответствующий признак «Город». Тогда мы можем задать фильтр «Город.Мэр.Фамилия = Петров», и этому фильтру будут удовлетворять только следующие объекты:

  • у объекта должен быть определен показатель «Город»,
  • значение показателя «Город» должно быть объектом, у которого определен показатель «Мэр»,
  • значение показателя «Мэр» должно быть объектом, у которого определен показатель «Фамилия»,
  • значение показателя «Фамилия» должно быть равно строке «Петров».

И если мы построим отчет с таким фильтром на исходные данные и с источником «Численность населения», в него попадут только данные о населении в городах, где мэр имеет фамилию «Петров».

Иерархическая структура отчета

Из заголовков строк (и заголовков столбцов) можно формировать иерархическую структуру, т.е. переносить их друг под друга с помощью drag-and-drop. Свернуть-развернуть уровни заголовков можно при помощи иконки «+» или «-» рядом с названием заголовка.

_images/a30-5.png

В случае, если на одну строку (столбец) нужно наложить больше одного фильтра, можно либо создать два и сгруппировать их друг под друга, либо, по повторному нажатию на уже созданный фильтр, в окне настройки фильтра появится кнопка «Добавить еще фильтр». Все созданные таким образом фильтры будут объединены через «И» и к данным в ячейке будут применены все они.

_images/a30-7.png

Несколько фильтров в одном заголовке

Если в одном заголовке строк таблицы задается комбинация нескольких фильтров, система автоматически вставляет в заголовок строку - перечень заголовков каждого из фильтров комбинации (с разделителем «запятая»). В случае, если фильтр задан «цепочкой» показателей, в заголовок строки вставляется идентификатор показателя, последнего в «цепочке».

Если, например, в заголовке строки отчета заданы 2 фильтра: «Представитель организации = Иванов И.И.» и «Активна организация? = Да»

_images/filter_id1.PNG

то в в заголовке отчета получим строку «Иванов И.И., Да».

_images/filter_id2.PNG

Если нужно в заголовок строки выводить только значение показателя «Представитель организации», в поле «Название» указывается идентификатор (id) этого показателя в фигурных скобках:

_images/filter_id3.PNG

Отчет будет выглядеть следующим образом:

_images/filter_id4.PNG

Возможна вставка значения показателя в любом месте текстовой строки названия, например:

_images/filter_id5.PNG

При этом получим заголовок:

_images/filter_id6.PNG

При задании нескольких фильтров в одном заголовке строки можно вставлять несколько идентификаторов в различных местах текста заголовка, например:

_images/filter_id7.png

Заголовок будет выглядеть так:

_images/filter_id8.png

Обратите внимание:

В случае, если фильтр задан «цепочкой» показателей (например, «Организация.Представитель организации»), в название подставляется идентификатор последнего в «цепочке» показателя (в данном случае - показателя «Представитель организации»).

При задании нескольких фильтров в одном заголовке строки важно, чтобы все фильтры были заданы единообразно: или все фильтры заданы прямым равенством, или все фильтры заданы формулами (подробнее см. раздел Компонент «Формулы для задания фильтров» ).

Оформительские заголовки строк и столбцов

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

Для работы с оформительскими заголовками используются те же кнопки «Добавить фильтр», «Добавить источник», что и для фильтров и источников. При создании оформительского заголовка во всплывающем окне добавления заголовка значение показателя для источника или фильтра не выбирается, а вводится только текстовая строка - название строки/столбца.

_images/a30-2.png

Для удаления/сброса настроек фильтра/источника/оформительского заголовка нужно нажать на кнопку «Удалить»/»Сбросить» в окне настройки фильтра/источника. Обратите внимание, что при удалении группировочного заголовка будут удалены и все сгруппированные под него элементы.

_images/a30-3.png

Копирование заголовков

После того, как один или несколько заголовков строк или столбцов уже созданы, они доступны для копирования.

Для копирования нужно нажать на заголовок и в показавшемся окошке его редактирования нажать на кнопку «Копировать». После этого в списке заголовков строк (или столбцов, если копировался заголовок столбца) создастся такой же заголовок. Копируются полностью все настройки, галки, формулы и т.п. При необходимости кнопку можно нажать не закрывая окно редактирования заголовка столько раз, сколько необходимо создать копий заголовка.

Если заголовок был вложенным в другой, то копия создастся также вложенной под родителя копируемого. Если в заголовке были вложенные заголовки, то копируется вся группа вложенных заголовков.

Данная опция позволяет быстро строить однотипные блоки заголовков, меняя, например, только значения справочника родительского заголовка, или период.

Нужно быть внимательным при копировании заголовков-параметров, содержащих метку, и заголовков с относительными периодами.

Внешние фильтры отчета

Внешние фильтры отчета или формы аналогичны внешним фильтрам реестра (см. подраздел Внешние фильтры реестра) за исключением того, что их нельзя объединять между собой через логическое «ИЛИ» - только через «И».

Так же, как и фильтры реестра, их можно делать параметрами и изменять при просмотре отчета или при заполнении формы.

Аналогично настраиваются и фильтры на исходные данные.

Настройки отчета

Если необходимо строить большой отчет, можно добавить несколько настроек для удобной работы пользователя с ним. Делается это по нажатию на кнопку «Настройки»

_images/a152.png

После этого открывается маленькое окошко с набором чек-боксов:

  • Выбор параметров до открытия отчета - перед открытием отчета на экран будет выводиться всплывающее окно, в котором можно будет задать параметры отчета, что позволит сразу загружать отчет с необходимыми параметрами, а не ждать сначала загрузки отчета с параметрами по умолчанию.
  • Составной отчет - строит отчет, состоящий из отдельных уже существующих отчетов. Данные в новом отчете при этом не вычисляются, а берутся из отчетов, являющихся составными частями того отчета, что мы создаем.
  • Без переносов в заголовках строк - текст в заголовках строк не будет переноситься на новые строки в рамках одной ячейки,
  • Пропускать пустые строки - в отчете не будут выводиться пустые строки,
  • Пропускать пустые столбцы - аналогично пропуску пустых строк, но при активной данной настройке в отчете пропускаются все пустые столбцы. Актуально для отчета из большого числа столбцов, у которого не во всех столбцах есть данные (например, ряд периодов с разреженными данными).
  • Фиксировать боковик - при скроллинге фиксирует заголовки строк и заголовки столбцов - облегчает просмотр отчетов с большим массивом данных,
  • Скрывать заголовки строк нижнего уровня - заголовки строк самого нижнего уровня отрисовываются без названий заголовков.
  • Разрешить просмотр скрытых значений - при наличии в структуре отчета (формулы и автодобавления элементов в заголовках, выбор в параметрах) справочника со скрытыми устаревшими значениями, которые по умолчанию не показываются, в отчете с данной опцией такие элементы можно будет отобразить. В окне выбора параметров появится галочка «Показывать устаревшие элементы?», если ее активировать и пересчитать отчет - будут видны устаревшие элементы.
  • Кэшировать отчет - при активной данной настройке, отчет, построенный однажды, кэшируется. Т.е. при повторном открытии отчета не происходит нового запроса в базу, не пересчитываются расчетные значения, а показываются все значения ровно в том виде, которые посчитались и показались при первом открытии отчета. Кэш хранится 30 дней, после этого периода отчет необходимо будет перестроить. Кэш общий для всех пользователей системы (если построил один пользователь, для другого этот отчет покажется из кэша). Если у отчета есть параметры, то кэш хранится для каждой комбинации параметров, которая была хотя бы раз построена хотя бы одним пользователем. Кэш сбрасывается перестроением отчета в конструкторе, по галке «не использовать кэш» в окне параметров отчета (эта галочка автоматически появляется в окне параметров при активной данной настройке) и при перезапуске системы администратором.
  • Подсказка для формы параметров - текст, внесенный в данное поле, покажется в окне выбора параметров на странице просмотре отчета/формы/реестра.

Также есть дополнительная настройка для форм (и реестров - см. раздел Настройки реестра):

  • Скрывать фильтры - форма с включенной данной настройкой показывается без фильтров, обычно расположенных под заголовками столбцов. Данная настройка удобна для форм, которые заполняются пользователями, которым не нужен полный функционал, а необходимо лишь ввести данные, например, для форм, участвующих в сборе.

Для активации каждой из настроек достаточно поставить галочку напротив нужной настройки. После выбора необходимых параметров нужно нажать кнопку «ОК» и сохранить отчет.

_images/a151.png

Предварительный просмотр, сохранение, удаление отчета

Для сохранения отчета или формы нужно нажать соответствующую кнопку в левом верхнем углу рабочей области экрана.

_images/a33.png

Если необходимо создание формы, аналогичной отчету, или копии отчета (формы), нужно выбрать нужный пункт в выпадающем меню рядом с кнопкой «Сохранить». Тут же можно начать строить новую форму или отчет.

_images/a34.png

Сохранение отчета необходимо при любом изменении структуры отчета, а так же при изменении параметров высоты/ширины заголовков и сортировки в предпросмотре.

Так же, как в конструкторе реестров, в конструкторе отчетов и форм есть функция предварительного просмотра - выполняется по кнопке «Обновить».

_images/a35-1.png

Если нужно удалить отчет или форму - нажмите на кнопку «Удалить» в правом верхнем углу рабочей области.

Чтобы перейти к просмотру отчета, нужно нажать на иконку «Просмотреть отчет» справа от кнопки «Настройки» в верхней строке меню.

_images/a35.png

Для перехода к заполнению формы - в том же месте аналогичная иконка «Заполнить форму».

Возникновение расслоения в ячейке отчета или формы

В простейшем случае в каждой ячейке отчета будет выводиться значение, полученное следующим образом: все объекты системы отсеиваются согласно фильтрам и условию определенности источника, после этого должен остаться один объект, у которого определен источник, значение источника как раз будет выведено в ячейку отчета. Если же в результате отсева объектов по фильтрам получилось более одного объекта, подходящего в одну ячейку, получается расслоение отчета в этой ячейке (она подкрашивается оранжевым, при клике левой кнопкой мыши по ней можно узнать подробную информацию).

_images/a124.png

Если у источника, соответствующего конкретной ячейке, заданы некоторые параметры агрегации или формулы вычисления, система параллельно с поиском подходящего объекта, описанным в простейшем случае, производит вычисления по формуле и признакам агрегации. В результате этих вычислений мы получаем виртуальный объект (не хранящийся в базе), с соответствующим набором признаков, который может удовлетворять всем условиям, установленным заголовками столбцов, строк и внешними фильтрами.

Исключением из расслоения является ситуация, когда в ячейку попадает ровно два объекта - виртуальный и реальный, тогда это воспринимается как корректировка вычисленного значения, отображается значение источника в реальном объекте, ячейка подкрашивается желтым, а вычисленное значение можно увидеть во всплывающей подсказке.

_images/a123.png

При построении отчета (или формы) нужно помнить о возможности возникновения расслоений в ячейках, если структура отчета (формы) недостаточно хорошо продумана.

Описание способов устранения расслоений см. в подразделе Расслоения.

Отчето-реестры

В системе существует так же возможность построения отчето-реестров. Отчеты в виде реестров нужны, например, если вы точно не знаете, для каких значений аналитических признаков нужно построить таблицу, и нужно показать все те, для которых есть значения.

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

Для корректного построения отчето-реестра необходимо хотя бы один из источников-заголовков сделать уникальным (им может быть показатель с типом значения справочник, древовидный справочник или период). При этом источник со значением по цепочке быть уникальным не может. При этом, в отчето-реесте должен быть хотя бы один обязательный источник кроме уникального.

Обратите внимание, что в отчето-реестре будут выводиться только объекты, для которых определены значения всех обязательных в отчете источников. Поэтому если вы не уверены, что у нужного объекта есть значения для всех показателей, не забудьте проставить галочку «Не учитывать при пропуске пустых строк» при создании такого источника.

Функция чек-бокса «группировочный» реализована в отчето-реестрах. Если есть два показателя (два столбца в отчето-реестре) - «Существо» и «Имя», по которым перечисляются все животные на ферме (Корова Муренка, Корова Буренка, Корова Маруся, Собака Дуся, Собака Ритуся и Собака Бобик), то, чтобы 3 раза не повторять одно и то же название (Собака и корова) вы можете сделать источник «Существо» группировочным и под него свернутся все животные такого типа.

Чек-бокс «уникальный» так же имеет смысл лишь отчето-реестрах (и в простых реестрах). С его помощью задается уникальный ключ, который не будет повторяться в отчете. В ключе должно участвовать не менее двух источников.

Составные отчеты

Также в системе существует возможность создания составных отчетов. Это отчет, состоящий из отдельных уже существующих отчетов. Данные в новом отчете при этом не вычисляются, а берутся из отчетов, являющихся составными частями того отчета, что мы создаем. В конструкторе составного отчета же задается только структура заголовков столбцов и строк и их названия.

Для создания составного отчета нужно сначала создать все его будущие части (отдельные отчеты, которые будут «вложены» в составной отчет). Создать новый отчет в конструкторе, в настройках отчета отметить галочкой чек-бокс «Составной отчет», задать структуру заголовков отчета.

После этого нужно открыть отчет на предпросмотр (по кнопке «Обновить» в конструкторе отчетов) и указать верхние левые ячейки каждого из отчетов, которые должны составлять большой отчет. Для этого нужно кликнуть по нужной ячейке и в появившемся всплывающем окне из списка всех существующих в системе отчетов выбрать тот, который должен в ней начинаться. Все изменения нужно сохранить.

Отчеты-части не должны выходить за границы составного отчета и не должны пересекаться между собой, иначе отчет не будет построен, система выдаст ошибку.

Все ячейки, для которых не указаны отчеты, которые должны там отображаться, останутся пустыми.

Обратите внимание: у вложенных отчетов не надо устанавливать фильтры на параметры отчета (например, формулами вида self.obj(id1)=obj(id2)), т.к. значение параметра выбирается в головном составном отчете. Если будут заданы такие фильтры на параметры вложенных отчетов, система выдаст сообщение: «Ошибка при загрузке отчета».

Создание отчета из xlsx-шаблона

В системе существует возможность создания отчета со всеми необходимыми для него показателями по шаблону из файла xlsx. Для этого нужно в адресной строке ввести URL: /rdesigner/ . Откроется страница создания отчета.

_images/a155.png

Все поля на этой странице являются обязательными. Нужно ввести название будущего отчета, пройдя по кнопке «Обзор» - выбрать файл, на основе которого необходимо построить отчет. К файлу есть несколько требований:

  • Файл должен быть в формате xlsx.
  • В отчете должны быть заголовки строк и столбцов. Система строит классический отчет, поэтому реестр создать нельзя.
  • Отчет должен содержать только числовые данные.
  • Заголовки должны содержать только текстовые даные.
  • В отчете в файле могут находиться группировочные заголовки строк. Они не должны быть обобщающими на всю таблицу, не должны содержать данных.
  • В отчете в файле могут находиться группировочные заголовки столбцов.

Необходимо задать три ячейки для формирования отчета:

  • верхняя левая ячейка заголовков,
  • верхняя левая ячейка данных,
  • нижняя правая ячейка данных (чтобы система могла определить границы отчета, который необходимо создать).

Обозначения ячеек (например, A1, C17, D23 и т.п.) вводятся на латинице.

Когда все заполнено, нужно нажать кнопку «Создать отчет».

_images/a155-5.png

После этого открывается страница конструктора отчета, на которой представлена структура созданного по шаблону отчета.

_images/a156.png

Из заголовков строк и столбцов создается 2 древовидных справочника по строкам и по столбцам отчета:

  • Древовидный справочник с названием: «Заголовки строк» + «Название отчета»,
  • Древовидный справочник с названием: «Заголовки столбцов» + «Название отчета».

Создаются 2 показателя на эти древовидные справочники:

  • Показатель типа «Древовидный справочник» с названием: «Заголовки строк» + «Название отчета»,
  • Показатель типа «Древовидный справочник» с названием: «Заголовки столбцов» + «Название отчета»,

Создается показатель - источник данных на весь отчет:

  • Показатель типа «Число» с названием: «Источник значений» + «Название отчета».

Если в загружаемом отчете содержались числовые данные, они запишутся в показатель «Источник значений» и будут отображены. Данные других типов приведут к возникновению ошибки.

По правой кнопке мыши на заголовках строк или столбцов, можно, как обычно, перейти к просмотру паспорта показателя

_images/a158.png

А оттуда - к просмотру и дальше - к редактированию - древовидного справочника, откуда берет значения показатель.

_images/a159.png

Обратите внимание:

  1. При создании нового отчета по xlsx-шаблону, даже если заголовки с строках и столбцах совпадают с уже существующими в системе показателями, или с элементами справочников для уже созданных отчетов, в системе все равно будут сконструированы новые справочники для этих показателей. Установить соответствие между новыми и уже существующими показателями или справочниками при настройке xlsx-шаблона невозможно.
  2. Группировочные строки выводятся в виде одного элемента древовидного справочника, название которого записано через точку: «Группировочная строка.Вложенный заголовок».
  3. Группировочные столбцы выводятся в виде одного элемента, название которого записано через точку: «Группировочный столбец.Вложенный заголовок».
  4. Количество элементов по строкам и столбцам равно количеству вложенных заголовков столбцов и строк.

Пример отчета с группировочными заголовками строк и столбцов:

В MS Excel:

_images/a157-1.png

В системе:

_images/a157.png

При необходимости использования конкретных данных из отчета при определенных значениях фильтров в других отчетах, следует создать новый показатель с формулой (см. раздел Компонент «Редактор формул»).