Как Вы уже догадались, и как было анонсировано в первой статье (с которой я также рекомендую ознакомиться), здесь будут рассмотрены настройки компоновки данных, которые являются неотъемлемой частью построения отчета на СКД. Вся работы с настройками компоновки осуществляется на закладке «Настройки» конструктора системы компоновки данных:
Оглавление
- Настройка полей сортировки
- Пользовательские поля
- Настройка отборов отчета
- Настройка условного оформления
- Другие настройки
- Вывод диаграмм в отчет
Первое, что хотелось бы сделать, это дать определение варианта отчета. И так, что же это такое?
Есть схема компоновки, в которой описано какие данные и каким образом они будут получены из базы, как они будут модифицированы и доработаны. А вот, в каком виде они будут представлены пользователю, какая структура, какие группировки и поля, в каком виде – все это определяется настройками компоновки. Причем, различных вариантов таких настроек может быть произвольное количество. Такие варианты настроек и принято считать вариантами отчета. Все они отображаются в левой части страницы с настройками. Самый первый вариант считается вариантом «по умолчанию». Настройки этого, основного варианта отчета выводятся при открытии отчета в пользовательском режиме.
Добавлять и сохранять новые варианты отчета можно в пользовательском режиме 1С. В отличие от самой схемы компоновки. Напомню, корректировать саму схему можно только в конфигураторе или режиме работы «толстого» клиента.
И так, начнем разбираться с настройками варианта отчета:
В правой верхней области страницы настроек задается структура варианта отчета. Все остальные настройки: параметры, поля, отборы, сортировка, оформление и прочие задаются в правой нижний части страницы:
Причем настройки можно задавать как на уровне всего отчета целиком, так и на уровне отдельной группировки:
В окне структуры настроек отображаются пиктограммы для всех уровней группировок. Эти пиктограммы показывают наличие настроек по тем или иным разделам (поля, отбор, сортировка, оформление, другие поля) для каждого уровня группировки отчета:
Структура отчета может содержать следующие элементы:
- Таблица – создается структура группировок по строкам и по колонкам (кросс таблица),
- Группировка – создается новая группировка строк,
- Диаграмма – создается структура для вывода диаграммы (точки, серии).
- Вложенный отчет – создается вложенный отчет на базе вложенной схемы СКД.
В зависимости от выбранного элемента структуры отличается дальнейшее ее заполнение. Например, для элемента структуры «Таблица», требуется указание хотя бы по одной группировки для строк и колонок. Для элемента структуры «Диаграмма» - требуется указание полей группировок для точек или для серий. Для элемента структуры «Вложенный отчет», можно задать дальше произвольную структуру, но по данным вложенной схемы. Для элемента структуры «Группировка» - произвольное поле группировки.
В каждой группировке можно добавлять несколько полей, которые будут выводиться на одном уровне структуры отчета. За исключением полей, для которых назначена роль «Период». Такие поля нельзя совмещать с другими полями (без роли «Период») на одном уровне группировки.
Группировка по ссылочным полям может быть настроена следующих видов:
- Иерархия – в структуре будут выведены все элементы и их иерархия,
- Без иерархии – в структуре будут выедены только элементы,
- Только иерархия – в структуре будет выведена только иерархия элементов.
На заметку. Технически группировка данных по иерархии выполняется с помощью дополнительного набора данный и дополнительными связями этого набора с основным набором и с самим собой.
Отдельно стоит поговорить про группировки по периодам. Для таких группировок можно реализовать дополнение по периоду. То-есть, будут выведены даты, на которые нет данных в регистрах. Дополнительно можно указать даты начала и окончания дополнения. Это могут быть фиксированные даты, поля компоновки (параметры отчета), или дополнение в рамках заданного периода (например, если реализованы вложенные группировки по периодам):
На заметку. При желании, можно реализовать настраиваемую периодичность отчета в зависимости от значения переданного параметра. Для этого необходимо откорректировать поле запроса (добавить конструкцию «ВЫБОР»), в которой в зависимости от значения параметра подставлять различные периоды (день, месяц, квартал, год):
ВЫБОР
КОГДА &Периодичность = 1
ТОГДА ПродажиОбороты.ПериодМесяц
КОГДА &Периодичность = 2
ТОГДА ПродажиОбороты.ПериодКвартал
КОГДА &Периодичность = 3
ТОГДА ПродажиОбороты.ПериодГод
КОНЕЦ КАК Период,
Также может потребоваться определить выражение представления для поля «Периодичность», для форматирования представления периода в зависимости от выбранной периодичности:
ВЫБОР
КОГДА &Периодичность = 1
ТОГДА Формат(Период, "ДФ='ММММ гггг ""г.""' ") //Периодичность - месяц
КОГДА &Периодичность = 2
ТОГДА Формат(Период,"ДФ='к ""квартал"" гггг ""г.""'" ) //Периодичность - квартал
КОГДА &Периодичность = 3
ТОГДА Формат(Период,"ДФ='гггг ""г.""'") //Периодичность - год
КОНЕЦ
Группировка - детальные записи
Если в группировке структуры отчета не указано ни одного поля, в данной группировке выводятся детальные записи. Причем есть такая особенность, если в полях детальных записей выводятся только одни ресурсы, все строки детальных записей группируются в одну. Получается итоговая группировка детальных записей. Для того, чтобы вывести все поля детальных записей необходимо добавить вывод любого поля, которое не является ресурсом.
На заметку. Если используется структура группировок «Таблица», и есть необходимость выводить итоги по колонкам не по всем, только по некоторым ресурсам, можно отключить стандартный вывод итогов для группировки колонок и добавить в структуру таблицы дополнительную группировку колонок «Детальные записи». Удалить Авто поле для этой группировки и выбрать ресурсы, для которых нужны итоги. Поскольку, в детальных записях будут только ресурсы, они будут свернуты до одной колонки, что нам и нужно:
Поля отчета могут быть следующих типов:
- Поля владельцы – основные поля отчета. Расположение таких полей в порядке их следования настройки компоновки.
- Поля реквизиты – поля, доступные через точку от полей владельцев. Расположение таких полей зависит от настройки «Расположение реквизитов».
- Ресурсы – поля указанные в схеме компоновке в качестве ресурсов. Расположение ресурсов зависит от настройки «Расположение ресурсов».
Список выбранных полей на уровне всего отчета определяет вывод полей в детальных записях. Выбранные поля на уровне группировки, относятся именно к той группировки, для которой они выбраны. На уровне группировки кроме полей ресурсов, можно выбрать только поля, подчиненные полю группировки пользовательские поля, которые зависят от поля группировки или произвольные текстовые пользовательские поля, системные поля и параметры.
С версии 1C 8.3.6 появилась возможность выводить для полей периодов выводить приведенные значения и части дат. Для этого необходимо развернуть поле с датой. Данные разбиты на три группы: даты начала, даты конца, части дат:
Есть возможность добавления группы полей и включение полей в группу. Дополнительно можно настроить расположение полей в группе: «Авто», «Горизонтально, «Вертикально», «В отдельной колонке» (группа будет перемещена правее всех остальных ресурсов), «Вместе»:
В отчет на СКД можно вывести параметры данных и специальные системные поля (это поля из группы «Системные поля»: номер по порядку, номер по порядку в группировке, уровень, уровень в группировке):
Поля числовых ресурсов содержат в себе ряд специальных вложенных полей: % общий, % в группировке, % в группировке иерархии (в данном элементе по иерархии), и ряд других. Это очень удобно для определения долей каких-либо значений в группе или в общем итоге:
Для выбранных в настройках компоновки полей можно указать заголовок используя контекстное меню контекстном меню:
На заметку. Если в заголовке указать пробел, заголовок не будет выводиться в шапке отчета. Есть поставить пробелы у всех полей заголовка и отключить оформление отчета, будет иллюзия отсутствия шапки отчета.
Для подчиненных группировок существует поле с названием «<Авто>»:
Это Авто поле, оно, по сути, скрывает в себе автоматически добавленные поля. При создании нового элемента структуры отчета или при добавлении Авто поля, для группировок автоматически добавляются все поля - ресурсы, и поля, которые можно вывести на текущем уровне группировки (кроме системных полей). Для детальных записей, добавляются все поля, указанные для отчета в целом. Авто поле можно развернуть (используя контекстного меню), список будет заполнен автоматически добавленными полями. Для возврата авто поля, необходимо удалить все поля и добавить новое Авто поле.
При отключении Авто поля, следует иметь в виду, что ресурс будет выведен в отчет в том случае, если он будет выбран хотя бы для одной из группировок либо будут группировки с указанием Авто поля.
Как было уже сказано в первой статье, поля, не выбранные в настройках компоновки, не будут включены в итоговый запрос макета компоновки.
Сортировка может быть настроена по полям всех типов: поля – владельцы, поля – реквизиты, ресурсы.
Так же как и для полей, сортировка может быть настроена как для всего отчета в целом, так и для отдельных группировок.
Для вложенных группировок, по умолчанию, так же как и для полей, используется Авто поле, которое можно развернуть и задать произвольную сортировку.
Следует помнить, что если для полей, для которых выполняется сортировка, в схеме компоновки указана настройка «Выражение упорядочивания», правила сортировки будут использоваться именно из заданного выражения.
Также, следует отметить, что сортировка указанная в настройках компоновки не включается в результирующий запрос макета компоновки. То-есть она выполняется уже на уровне СКД.
В настройках варианта отчета можно определить произвольные пользовательские поля. Пользовательские поля могут быть двух типов:
- Поле выбор – можно задать список выбора в зависимости от значений других реквизитов:
- Поле выражение – можно задать выражение на встроенном языке СКД для самого поля и для итогов по группировкам. В выражениях нельзя использовать другие пользовательские поля и функции общих модулей. Если указано выражение для итогов, поле будет помечено как ресурс, и по нему будут рассчитаны итоги по группировкам, согласно указанному выражению:
Пользовательские поля доступны для выбора в специальной группе «Пользовательские поля».
На соответствующей закладке настроек, можно указать произвольные отборы для отчета. В списке все отборы складываются по логическому И. Для использования сложных отборов, можно добавить группы, в которых указать другие объединения: ИЛИ, НЕ.
Отборы можно указывать как на уровне всего отчета в целом, так и на уровне группировок. Отбор на уровне отчета в целом накладываются на детальные записи. Отбор на уровне группировки работает только для текущей группировки (для выше стоящих группировок все выводится без изменения). Причем, если отбор выполняется по числовому полю, проверяются не все детальные записи, а итог по группировке.
Для отбора на уровне группировки можно установить дополнительную настройку «Применение». Значение этой настройки будет влиять на то, к какому типу записей будет применятся отбор. Варианты следующие:
- Обычное – (по умолчанию) отбор будет выполнен по подчиненным записям группировки. Сами элементы группировки и их иерархии будут выведены, при наличии вложенных записей (с учетом отбора).
- После группировки или для иерархии – отбор будет выполнен по самой группировке и по иерархии элементов группировки. То-есть, если на уроне иерархии отбор будет выполняться, а на уровне элементов нет, группировка по иерархии будет выведена. Отбор никак не будет влиять на подчиненные записи элементов группировки, они будут выведены полностью.
- Только иерархия – отбор будет применяться только к иерархическим записям элементов группировки. На уровне самих элементов группировки будут выведены все записи. Также будут выведены полностью все подчиненные записи элементов группировки.
Отбор на уровне всего отчета будет включен в итоговый запрос макета компоновки. Отбор на уровне группировки не включается в итоговый запрос, а выполняется уже после выборки данных из базы данных на уровне СКД.
Если указан отбор на уровне группировки, строка с указанием полей отбора будет выводиться в теле отчете. Для ее отключения необходимо указать параметр прочих настроек «ВыводитьОтбор = НеВыводить» для данной группировки.
Для удобства работы в конструкторе, отборы можно перетаскивать мышкой между различными группировками:
Настройка условного оформления
Условное оформление, также можно применять как для всего отчета в целом так и для каждой группировки отдельно.
Настройка условного оформления состоит из трех основных частей:
- Оформление – параметры оформляемого поля: цвет, шрифт, отступ ориентация и прочее.
- Условие – условие из элементов или групп элементов, связанных по логическому И, ИЛИ, НЕ (Для каждого условия или группы можно задать представление). Если условие не указано, оформление действует для всех строк отчета или группировки.
- Оформляемые поля – список полей, которые необходимо оформить. Если список полей не указан, оформление действует для всех полей.
С версии 1С 8.3.6 для условного оформления появилась дополнительная настройка «Область использования». По умолчанию, все области включены. Можно управлять видимостью условного оформления для следующих областей:
- В группировке – в итогах по группировкам (для всех уровней иерархии) и в самих полях группировки для последнего уровня групп,
- В иерархической группировке – только в иерархии полей группировки (в итогах по остальным полям не выводится),
- В общем итоге – в общем итоге отчета,
- В заголовке полей – в поле шапки отчета.
Следующие области имеет смысл использовать только в том случае, если оформляются все поля отчета:
- В заголовке – область заголовка отчета
- В параметрах – область параметров отчета,
- В отборе – область отборов отчета.
На заметку. Для параметра оформления «Текст» можно указать произвольную строку. В этом случае оформление будет применяться только для заголовков полей. Можно изменить тип параметра «Текст» на «Поле компоновки данных» и указать другое поле отчета, тем самым подменив одно поле другим:
Различные дополнительные настройки всего отчета в целом и отдельных группировок, расположены на закладке «Другие настройки». Состав этих настроек достаточно большой, и зависит от того для чего они применяются (отчет, группировка, детальные записи).
Назначение настроек в большинстве случаев интуитивно понятно. Рассмотрим некоторые из них:
Макет – указывается наименование типового макеты, который будет использоваться для отчета / группировки.
Расположение общих итогов по горизонтали / вертикали - возможность настроить расположение общих итоги по горизонтали и вертикали. Используется на уровне всего отчета. Варианты размещения: «Нет», «Начало», «Конец», «Начало и конец», «Авто».
Расположение общих итогов можно настроить и для вложенных группировок. Значение «Авто» для вложенных группировок означает, что итоги не будут выведены. Если на уровне вложенной группировки наложен отбор, итоговое значение по группировке будет с учетом этого отбора. Итоги по выше стоящим группировкам будут рассчитаны без учета этого отбора.
Фиксации слева, фиксация сверху – настройка фиксации полей отчета. Для значения «Авто», фиксируется шапка отчета сверху и поля группировок слева.
Авто позиция ресурсов – настройка положения ресурсов. По умолчанию ресурсы выводятся после остальных полей отчета, но это можно изменить.
Расположение ресурсов – определяет расположение ресурсов (вертикально или горизонтально).
Вариант использования группировки – применяется на уровне группировок «Детальные записи», для структуры отчета «Таблица». Позволяет вывести вместо детальных записей, дополнительные поля по группировкам. Например: если детальные записи выводятся для колонок, можно вывести дополнительные поля группировок по строкам, и наоборот. Дополнительные поля выводятся в конце, после итогов.
Тип макета – определяет расположение полей в группировке (горизонтально, вертикальное или авто). Задается только на уровне группировок для структуры отчета «Список». Значение «Авто» наследует тип макета от вложенных группировок.
Расположение итогов, Расположение группировок – настройка определяет расположение групповых полей и итогов по группировкам относительно самих групп.
Расположение полей группировок – настройка определяет расположение полей в группировках. Варианты расположения:
- Вместе – группировки выводятся в одной колонке,
- Отдельно – группировки выводятся в разных колонках, значения группировок верхнего уровня дублируются на нижних уровнях,
- Отдельно и только в итогах - группировки выводятся в разных колонках, значения группировок выводятся только один раз на уровне итогов по данной группировке.
Расположение реквизитов – настройка расположения полей, подчиненных основным полям отчета. Возможные значения:
- Вместе – расположение всех реквизитов в одной колонке, отдельно от основных полей,
- Отдельно – расположение всех полей отдельно,
- Вместе с владельцем – расположение вместе с владельцем в одной колонке,
- В специальной позиции – расположение всех реквизитов в одной колонке, которая расположена правее всех остальных полей, но перед ресурсами.
Выводить параметры, выводить отбор, выводить заголовок – настройка вывода в отчет параметров, отборов, заголовка.
Тип диаграммы – группа настроек, необходимых для настройки диаграмм.
Для вывода диаграммы в отчет на СКД, обязательно должны быть определены ресурсы, и измерения, в разрезе которых необходимо разворачивать значения этих ресурсов.
По сути диаграмма – это отражение значений ресурса или нескольких ресурсов в одном или двух измерениях (точки и серии).
Структура диаграммы состоит из следующих сущностей:
Точки – это объекты, для которых необходимо получить значения.
Серии – это дополнительный разрез, по которому необходимо разделять точки в диаграмме.
Значения – это ресурсы, определяющие значения серий в точках. Ресурсов может быть несколько. Расположение ресурсов, если их больше одного, зависит от использования точек и серий в диаграмме, а также параметра других настроек «Расположение ресурсов в диаграмме». По умолчанию расположение ресурсов следующее:
- Если точки не используются в диаграмме, различные ресурсы располагаются в разных точках.
- Если точки используются в диаграмме, ресурсы располагаются в сериях.
За вид диаграммы отвечает параметр других настроек «Тип диаграммы».
Дополнительно можно задать настройки, которые применимы для всех видов диаграмм: состав подписей, окантовка, шрифт, размещение легенды и другие.
Если в качестве серий или точек диаграмм выбраны периоды, как и для обычных группировок, можно указать дополнение дат. Данные будут выведены для всех периодов в рамках указанного диапазона.
В зависимости от типа диаграммы можно указать дополнительные настройки, которые характерны только для этого типа:
- Круговая диаграмма – ражим раздвижения.
- Гистограмма – отображать таблицу данных, градиент.
- График – режим сглаживания.
На заметку. Для типа диаграммы «График», отключить вывод маркеров (точки на графике, которые определяют значения ресурсов) на уровне настроек нельзя. Это можно сделать только программным путем, перебирая серии, и устанавливая для каждой значение маркера «ТипМаркераДиаграммы.Нет».
Цвета серий диаграммы система назначает автоматически. Назначить произвольные цвета также можно только программным путем, перебирая серии в цикле.
Ну что же, с настройками вариантов отчетов, наверно все. Прошу прощения за чересчур компактное представление материала. Его очень много, а хотелось уместить все в одной статье. Хотел еще включить в статью работу с пользовательскими настройками, но потом решил все-таки выделить эту тему отдельно, так что ждите скорого продолжения.
Для ознакомления с первой статьей можно перейти по ссылке: