Настройка отчета в 1С

Всем привет, зачастила я что-то… Декрет, тупею
На этот раз надо перенести часть функционала из УНФ 1.5 в УТ для Беларуси 3.1. А именно механизм создания тегов (табличная часть, один реквизит тег — справочник) для Контрагентов и отбор по ним в форме списка. Только в УТ это реализуется для справочника Партнеры (в данной настройке связаны с Контрагентами).
Вроде как все перенесла аналогично УНФ, с соответствующими корректировками. В форме элемента теги добавляются. Проблема с отбором в форме списка. Он срабатывает только если выбрать команду «Установить стандартные настройки» в «все действия», либо если клацнуть на любом столбце списка (для сортировки по выбранному полю, именно по шапке). И то на раз, при следующей отборе — опять надо выполнить одно из действий.
Что я делала: очищала все отборы при установке своих — пользовательские, фиксированные — не помогло.
Прописывала программную сортировку после установки своих отборов (или что там вызывается, если клацнуть по столбцу в шапке?) — тоже не помогло.
Всякие ЭтаФорма.Список.Обновить(), ЭтаФорма.ОбновитьОтображениеДанных() — не помогает.
Кстати, пробовала даже от балды прописать любой отбор, без участия тегов, просто посмотреть, сработает ли, может проблема в коде из УНФ — тоже срабатывает при вышеперечисленных манипуляциях.
Я уже даже не знаю, где там что настроено в этой форме…
Платформа 8.3.5.1443, форма Партнеров — ФормаСпискаБезПолнотекстовогоПоиска, на случай, если у кого есть аналогичная УТ.

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

Оглавление

  1. Варианты отчетов
  2. Описание структуры отчета
  • Группировка по периодам
  • Группировка — детальные записи
  1. Настройка полей отчета
  • Авто поле
  1. Настройка полей сортировки
  2. Пользовательские поля
  3. Настройка отборов отчета
  4. Настройка условного оформления
  5. Другие настройки
  6. Вывод диаграмм в отчет

Варианты отчетов

Первое, что хотелось бы сделать, это дать определение варианта отчета. И так, что же это такое?

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

Добавлять и сохранять новые варианты отчета можно в пользовательском режиме 1С. В отличие от самой схемы компоновки. Напомню, корректировать саму схему можно только в конфигураторе или режиме работы «толстого» клиента.

И так, начнем разбираться с настройками варианта отчета:

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

Причем настройки можно задавать как на уровне всего отчета целиком, так и на уровне отдельной группировки:

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

Описание структуры отчета

Структура отчета может содержать следующие элементы:

  • Таблица – создается структура группировок по строкам и по колонкам (кросс таблица),
  • Группировка – создается новая группировка строк,
  • Диаграмма – создается структура для вывода диаграммы (точки, серии).
  • Вложенный отчет – создается вложенный отчет на базе сложенной схемы СКД.

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

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

Группировка по ссылочным полям может быть настроена следующих видов:

  • Иерархия – в структуре будут выведены все элементы и их иерархия,
  • Без иерархии – в структуре будут выедены только элементы,
  • Только иерархия – в структуре будет выведена только иерархия элементов.

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

Группировка по периодам

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

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

ВЫБОР КОГДА &Периодичность = 1 ТОГДА ПродажиОбороты.ПериодМесяц КОГДА &Периодичность = 2 ТОГДА ПродажиОбороты.ПериодКвартал КОГДА &Периодичность = 3 ТОГДА ПродажиОбороты.ПериодГод КОНЕЦ КАК Период,

Также может потребоваться определить выражение представления для поля «Периодичность», для форматирования представления периода в зависимости от выбранной периодичности:

ВЫБОР КОГДА &Периодичность = 1 ТОГДА Формат(Период, «ДФ=’ММММ гггг «»г.»»‘ «) //Периодичность — месяц КОГДА &Периодичность = 2 ТОГДА Формат(Период,»ДФ=’к «»квартал»» гггг «»г.»»‘» ) //Периодичность — квартал КОГДА &Периодичность = 3 ТОГДА Формат(Период,»ДФ=’гггг «»г.»»‘») //Периодичность — год КОНЕЦ

Группировка — детальные записи

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

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

Настройка полей отчета

Поля отчета могут быть следующих типов:

  • Поля владельцы – основные поля отчета. Расположение таких полей в порядке их следования настройки компоновки.
  • Поля реквизиты – поля, доступные через точку от полей владельцев. Расположение таких полей зависит от настройки «Расположение реквизитов».
  • Ресурсы – поля указанные в схеме компоновке в качестве ресурсов. Расположение ресурсов зависит от настройки «Расположение ресурсов».

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

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

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

В отчет на СКД можно вывести параметры данных и специальные системные поля (это поля из группы «Системные поля»: номер по порядку, номер по порядку в группировке, уровень, уровень в группировке):

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

Для выбранных в настройках компоновки полей можно указать заголовок используя контекстное меню контекстном меню:

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

Авто поле

Для подчиненных группировок существует поле с названием «<Авто>»:

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

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

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

Настройка полей сортировки

Сортировка может быть настроена по полям всех типов: поля – владельцы, поля – реквизиты, ресурсы.

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

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

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

Также, следует отметить, что сортировка указанная в настройках компоновки не включается в результирующий запрос макета компоновки. То-есть она выполняется уже на уровне СКД.

Пользовательские поля

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

  • Поле выбор – можно задать список выбора в зависимости от значений других реквизитов:

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

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

Настройка отборов отчета

На соответствующей закладке настроек, можно указать произвольные отборы для отчета. В списке все отборы складываются по логическому И. Для использования сложных отборов, можно добавить группы, в которых указать другие объединения: ИЛИ, НЕ.

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

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

  • Обычное – (по умолчанию) отбор будет выполнен по подчиненным записям группировки. Сами элементы группировки и их иерархии будут выведены, при наличии вложенных записей (с учетом отбора).
  • После группировки или для иерархии – отбор будет выполнен по самой группировке и по иерархии элементов группировки. То-есть, если на уроне иерархии отбор будет выполняться, а на уровне элементов нет, группировка по иерархии будет выведена. Отбор никак не будет влиять на подчиненные записи элементов группировки, они будут выведены полностью.
  • Только иерархия – отбор будет применяться только к иерархическим записям элементов группировки. На уровне самих элементов группировки будут выведены все записи. Также будут выведены полностью все подчиненные записи элементов группировки.

Отбор на уровне всего отчета будет включен в итоговый запрос макета компоновки. Отбор на уровне группировки не включается в итоговый запрос, а выполняется уже после выборки данных из базы данных на уровне СКД.

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

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

Настройка условного оформления

Условное оформление, также можно применять как для всего отчета в целом так и для каждой группировки отдельно.

Настройка условного оформления состоит из трех основных частей:

  • Оформление – параметры оформляемого поля: цвет, шрифт, отступ ориентация и прочее.
  • Условие – условие из элементов или групп элементов, связанных по логическому И, ИЛИ, НЕ (Для каждого условия или группы можно задать представление). Если условие не указано, оформление действует для всех строк отчета или группировки.
  • Оформляемые поля – список полей, которые необходимо оформить. Если список полей не указан, оформление действует для всех полей.

С версии 1С 8.3.6 для условного оформления появилась дополнительная настройка «Область использования». По умолчанию, все области включены. Можно управлять видимостью условного оформления для следующих областей:

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

Следующие области имеет смысл использовать только в том случае, если оформляются все поля отчета:

  • В заголовке – область заголовка отчета
  • В параметрах – область параметров отчета,
  • В отборе – область отборов отчета.

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

Другие настройки

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

Назначение настроек в большинстве случаев интуитивно понятно. Рассмотрим некоторые из них:

Макет – указывается наименование типового макеты, который будет использоваться для отчета / группировки.

Расположение общих итогов по горизонтали / вертикали — возможность настроить расположение общих итоги по горизонтали и вертикали. Используется на уровне всего отчета. Варианты размещения: «Нет», «Начало», «Конец», «Начало и конец», «Авто».

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

Фиксации слева, фиксация сверху – настройка фиксации полей отчета. Для значения «Авто», фиксируется шапка отчета сверху и поля группировок слева.

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

Расположение ресурсов – определяет расположение ресурсов (вертикально или горизонтально).

Вариант использования группировки – применяется на уровне группировок «Детальные записи», для структуры отчета «Таблица». Позволяет вывести вместо детальных записей, дополнительные поля по группировкам. Например: если детальные записи выводятся для колонок, можно вывести дополнительные поля группировок по строкам, и наоборот. Дополнительные поля выводятся в конце, после итогов.

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

Расположение итогов, Расположение группировок – настройка определяет расположение групповых полей и итогов по группировкам относительно самих групп.

Расположение полей группировок – настройка определяет расположение полей в группировках. Варианты расположения:

  • Вместе – группировки выводятся в одной колонке,
  • Отдельно – группировки выводятся в разных колонках, значения группировок верхнего уровня дублируются на нижних уровнях,
  • Отдельно и только в итогах — группировки выводятся в разных колонках, значения группировок выводятся только один раз на уровне итогов по данной группировке.

Расположение реквизитов – настройка расположения полей, подчиненных основным полям отчета. Возможные значения:

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

Выводить параметры, выводить отбор, выводить заголовок – настройка вывода в отчет параметров, отборов, заголовка.

Тип диаграммы – группа настроек, необходимых для настройки диаграмм.

Вывод диаграмм в отчет

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

По сути диаграмма – это отражение значений ресурса или нескольких ресурсов в одном или двух измерениях (точки и серии).

Структура диаграммы состоит из следующих сущностей:

Точки – это объекты, для которых необходимо получить значения.

Серии – это дополнительный разрез, по которому необходимо разделять точки в диаграмме.

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

  • Если точки не используются в диаграмме, различные ресурсы располагаются в разных точках.
  • Если точки используются в диаграмме, ресурсы располагаются в сериях.

За вид диаграммы отвечает параметр других настроек «Тип диаграммы».

Дополнительно можно задать настройки, которые применимы для всех видов диаграмм: состав подписей, окантовка, шрифт, размещение легенды и другие.

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

В зависимости от типа диаграммы можно указать дополнительные настройки, которые характерны только для этого типа:

  • Круговая диаграмма – ражим раздвижения.
  • Гистограмма – отображать таблицу данных, градиент.
  • График – режим сглаживания.

На заметку. Для типа диаграммы «График», отключить вывод маркеров (точки на графике, которые определяют значения ресурсов) на уровне настроек нельзя. Это можно сделать только программным путем, перебирая серии, и устанавливая для каждой значение маркера «ТипМаркераДиаграммы.Нет».

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

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

Для ознакомления с первой статьей можно перейти по ссылке:

  • СКД – основные понятия и элементы
Назначение отчетов
Вывод секций
Присоединить секцию
Пересечение секций
Звонок в компьютерный магазин:
— Мы тут у вас монитор приобрели, а он ничего не печатает.

Назначение отчетов

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

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

У любого отчета в системе 1С есть экранная форма — Диалог, который пользователь видит на экране. В диалоге пользователь обычно задает параметры формирования отчета, например, период времени. Также у отчета обычно есть одна или несколько бумажных форм — Таблиц. С помощью таблиц отчет печатается на бумаге. Алгоритм формирования отчета записывается в модуле отчета на встроенном языке 1С. Например, для кадрового отчета «Сотрудники, принятые за период» нужна экранная форма с двумя полями Начало и Окончание. Оба поля будут иметь тип «дата». Модуль отчета должен выбрать из справочника Сотрудники нужных людей и вывести их в таблицу.

Секции

Фирма 1С предоставила мощный инструмент формирования отчетов — Секции. Секция — это область таблицы, предназначенная для многократного вывода. Например, в отчете по сотрудникам будет секция «Сотрудник», которую нужно будет выводить для каждого сотрудника. Секции могут быть горизонтальными или вертикальными. Можно также выводить пересечения горизонтальных и вертикальных секций.

Поведение сформированного отчета

В системе 1С:Предприятие отчеты могут быть вполне активными объектами. Это означает, что щелкнув например, на сотруднике можно открыть форму этого сотрудника или сформировать более детальный отчет только по этому сотруднику. Это очень удобно для бухгалтеров, которые от сводных отчетов могут перейти к более детальным и узнать, откуда взялась каждая сумма, вплоть до конкретной проводки. Для этого предназначены свойства ячейки Расшифровка и процедура ОбработкаЯчейкиТаблицы.

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

Основы программирования

Ссылка на объект Таблица
Для работы с таблицей требуется сначала создать ссылку на объект Таблица. Если таблица не одна, то следует указать нужную таблицу.

Таб = СоздатьОбъект(«Таблица»);
или
Таб = СоздатьОбъект(«Таблица»);
Таб.ИсходнаяТаблица(«НужныйОтчет»);

<вывод секций таблицы>

Таб.Показать(); //показать таблицу на экране

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

Таб.ВывестиСекцию(«Шапка»);
Пока …
……..Таб.ВывестиСекцию(«Сотр»);
КонецЦикла;
Таб.ВывестиСекцию(«Подвал»);

Присоединить секцию
Присоединить секцию — означает прицепить ее к таблице справа.

Таб.ВывестиСекцию(«НомерПП»);
Для Месяц = 1 По 12 Цикл
…….Таб.ПрисоединитьСекцию(«Месяц»);
КонецЦикла;
Таб.Показать()

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

(10) вот как раз если средствами СКД косяк и проявляется, ибо в обычных формах и обычных отчетах такого не замечал (хотя может просто только не попадал). В СКД все несколько сложнее. Приблизительный шаблон действий:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь; КомпановщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпановки=КомпановщикМакета.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных,КомпоновщикНастроек.Настройки); ПроцессорКомпоновки=Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпановки); ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.НачатьВывод(); ЭлементРезультата=ПроцессорКомпоновки.Следующий(); ПервыйЛистВыведен=Ложь; Пока ЭлементРезультата<>Неопределено Цикл Если ЭлементРезультата.ЗначенияПараметров.Количество()>0 Тогда Если ПервыйЛистВыведен Тогда ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц(); Иначе ПервыйЛистВыведен=Истина; КонецЕсли; КонецЕсли; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); ЭлементРезультата=ПроцессорКомпоновки.Следующий(); КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); Так например я выводил печать группировки на отдельном листе. В цикле вывода необходимо анализировать что когда делать. Да геморно. Скорее всего после вывода всего отчета нужно искать нужные области и группировать

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

В этой статье мы рассмотрим основные принципы настройки отчетов на примере программы «1С:Управление торговлей, ред. 10.3».  

Формы настройки отчетов 1С

Практически любой отчет имеет свою собственную форму настройки. Открыть ее можно с помощью кнопки «Настройка» на форме отчета.

Форму настройки можно смотреть в двух вариантах: стандартном и расширенном.

Пример стандартной формы настройки:

📌 Реклама Отключить

Пример расширенной формы настройки:

Рассмотрим стандартную форму настройки, так как она удобнее и проще.  

Стандартная форма настройки в отчетах 1С

Стандартная форма настройки содержит несколько окон для ввода настроек:

  • Показатели
  • Группировки строк
  • Группировки колонок
  • Отборы

Также здесь есть настройка периода и некоторые другие опции.

Рассмотрим влияние каждой настройки отчета на примере ведомости по товарам на складах.

Меню: Отчеты – Запасы (склад) – Ведомость по товарам на складах

Прежде всего нужно понять, для чего служит отчет и какую информацию в нем можно получить. Например, ведомость по товарам на складах содержит данные об остатках товаров на складах компании.

📌 Реклама Отключить

Для начала попробуем сформировать отчет без каких-либо настроек. Т.е. уберем все флаги в показателях, удалим все группировки, снимем настройку периода и другие флаги.

В результате такой настройки мы получим пустой и абсолютно бесполезный отчет:

Таким образом, если мы не указываем программе каким образом выводить данные, она их не выводит!

Выбор данных для построения отчета

Какие именно данные можно вывести в отчете определяется в таблице показателей.

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

📌 Реклама Отключить

Для ведомости по товарам на складах показателями являются:

  • Начальный остаток (в базовых единицах)
  • Приход (в базовых единицах)
  • Расход (в базовых единицах)
  • Конечный остаток (в базовых единицах)
  • Оборот (в базовых единицах)
  • Начальный остаток (в единицах отчетов)
  • И т.д.

Для отчета «Продажи» показатели иные:

  • Количество
  • Сумма продажи
  • Сумма продажи без скидок
  • И т.д.

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

В нашем отчете мы отметим показатели:

📌 Реклама Отключить

В результате получим следующий отчет:

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

Почему? – Потому что она не знает, в какой детализации мы хотим вывести данные.

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

Указание способа детализации данных в отчетах

Для указания способа детализации данных служат:

  • Группировки строк
  • Группировки колонок
  • Флаг «Выводить общие итоги»
  • Флаг «Выводить детальные записи»

Выводить общие итоги для отчета

Если вы хотите посмотреть данные отчета без какой-либо детализации, просто поставьте флаг «Выводить общие итоги»: 📌 Реклама Отключить

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

Таким образом мы узнали, что за все время пользования базой на наши склады поступило 12085 товаров, было продано/списано 1545 товаров, а текущий складской остаток – 10540. Хотя обычно этой информации недостаточно.

Группировки строк в отчетах

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

Добавим в группировки строк «Склад». Для этого нажмем кнопку «Добавить» и в окне выбора поля отметим «Склад»:

📌 Реклама Отключить

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

Отчет примет следующий вид:

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

Например, добавим группировку «Номенклатура»:

Получим следующий отчет:

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

📌 Реклама Отключить

Сначала отображается информация по товару, а внутри расшифровка по складу:

Тип группировки

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

Тип может принимать следующие значения:

  • Элементы – отображение детализации только по элементам.
  • Иерархия – детализация по группам и элементам справочника.
  • Только иерархия – детализация только по группам.

В качестве примера можно указать у номенклатуры тип группировки «Иерархия». 📌 Реклама Отключить

Тогда отчет примет следующий вид:

Мы видим информацию сначала по складу, потом по группам товаров, потом по самим товарам.

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

Группировки колонок

Группировки колонок имеют на отчет такое же влияние, как и группировки строк. Но с одним важным отличием – детализация отчета в этом случае делается не «вниз», а «направо».

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

📌 Реклама Отключить

Полученный отчет:

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

Группировки колонок чаще всего используют для одного (максимум двух) показателей, а в качестве самой группировки используют справочник с небольшим количеством значений. Иначе отчет получается слишком широким и его сложно анализировать/печатать.  

Ограничение данных, выводимых в отчете

Помимо придания отчету нужного вида, очень часто бывает необходимо ограничить состав выводимых данных. Хотя бы потому, что при большом объеме данных сложно найти какую-то конкретную строку. Например, мы хотим посмотреть остаток по товару «Телевизор JVC». Без дополнительных настроек найти остаток по товару достаточно сложно. 📌 Реклама Отключить

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

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

Отборы

В нашем примере с телевизором нужно поставить отбор на номенклатуру, выводимую в отчете:

Ставим флаг напротив отбора «Номенклатура», тип сравнения оставляем «Равно», а в качестве значения выбираем сам товар.

Полученный отчет позволяет быстрее найти нужную информацию:

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

📌 Реклама Отключить

Важно: стандартные отборы доступны и без открытия формы настройки. Для их отображения нужно нажать кнопку «Быстрые отборы» на форме отчета.

Типы сравнения в отборах

В отборах важно выбрать правильный тип сравнения.

Возможны следующие варианты:

  • Равно – отчет выведется только по указанному значению.
  • Не равно – отчет выведется по всем значениям, кроме указанного в настройке. Например можно посмотреть остатки по всем складам, кроме главного.
  • В списке – в качестве значения указывается список из нескольких элементов, данные выводятся по всем значениям из списка. Например, можно посмотреть остатки по трем интересующим покупателя моделям вентилятора.
  • Не в списке – в качестве значения указывается список значений, данные выводятся по всем значениям, которые не принадлежат этому списку.
  • В группе – используется для иерархических справочников. В отчете будет информация только по элементам входящим в указанную группу (например, по всем товарам, входящим в группу «Компьютеры»).
  • Не в группе – используется для иерархических справочников. В отчете будет информация по всем элементам, кроме входящих в указанную группу (например, всем товарам, не входящим в группу «Компьютеры»).
  • В группе из списка – выбирается список из нескольких групп, показываются данные по всем элементам, входящим в перечисленные группы
  • Не в группе из списка – выбирается список из нескольких групп, показываются данные по всем элементам, не входящим в перечисленные группы
  • Меньше, меньше или равно, больше, больше или равно – математические операции сравнения для чисел. Например, можно посмотреть все товары, остаток которых больше 10 шт.
  • Интервалы (><,<=>, <>=,<= >=) – используются для проверки вхождения значения в указанные интервалы. Используется для дат и чисел.

Настройка периода

Для ограничения периода выводимых данных используется настройка периода. Период можно настраивать как в форме отчета, так и в форме настроек. 📌 Реклама Отключить

Например, если мы хотим посмотреть движения товаров на складе за 2011 год, то установим период с 01.01.2011 по 31.12.2011.

В результате мы увидим:

  • Начальный остаток на 01.01.2011
  • Приход товаров за 2011 год
  • Расход товаров за 2011 год
  • Конечный остаток на 31.12.2011 (на конец дня)  

Общие рекомендации при настройке отчетов в 1С

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

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

📌 Реклама Отключить

  1. Представьте конечный вид отчета (мысленно или на бумаге)
  2. Выберите отчет, в котором вы можете получить необходимую информацию
  3. Сделайте настройки отчета, ответив на следующие вопросы:
  4. Какие именно данные мы хотим получить из отчета? (выбираем показатели)
  5. Нужна ли настройка периода? Отчет будет формироваться за весь период или за какой-то конкретный интервал времени? За какой? (устанавливаем период)
  6. В каких разрезах нужно получить указанные данные? (указываем группировки строк и колонок)
  7. Нужны ли какие-то другие ограничения? (устанавливаем отборы)  

Примеры настроек

Пример 1 – Поступления товаров на склад по месяцам

Предположим нам нужно получить отчет, отражающий поступления товаров на главный склад по месяцам за 2011 год. Отчет должен иметь следующий вид:

📌 Реклама Отключить

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

Далее ответим на вопросы:

Вопрос Ответ
Какие именно данные мы хотим получить из отчета? Нас интересует приход товара на склад. В качестве показателя выберем «Количество (в базовых единицах) – Приход»
Нужна ли настройка периода? Отчет будет формироваться за весь период или за какой-то конкретный интервал времени? За какой? Отчет нужно сформировать за 2011 год. Ставим период с 01.01.2011 по 31.12.2011
В каких разрезах нужно получить указанные данные? Данные нужны в разрезе каждого товара (группировка строк) и месяца (группировка колонки)
Нужны ли какие-то другие ограничения? Да, дополнительно нужно ограничить склад – только главный. Устанавливаем отбор по складу с типом сравнения «Равно».

Сделаем соответствующие настройки: 📌 Реклама Отключить

Примечание: если в каком-то месяце товары не поступали, этот месяц в результате не выводится. То же самое по товарам – если товар не поступал ни разу за год, он не показывается в отчете.

Пример 2 – Продажи дистрибьюторам

Нам нужно получить список наших дистрибьюторов, а также количество и сумму из покупок в $ (примечание: доллар является нашей управленческой валютой).

Отчет должен иметь следующий вид:

Для получения данной информации мы можем использовать отчет «Продажи».

📌 Реклама Отключить

Далее ответим на вопросы:

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

Сделаем соответствующие настройки: 📌 Реклама Отключить

Полученный отчет:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *