Универсальный отчет в 1 с 8.3. Как пользоваться универсальным отчетом. Отчет по документам продажи

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

Для такого глубокого анализа данных либо для создания собственного отчета в программе 1С 8.3 существует «Универсальный отчет». Его возможности я и собираюсь рассмотреть в данной статье.

Общее описание универсального отчета в 1С 8.3

Для начала разберемся, где найти универсальный отчет? Если зайти в меню «Отчеты», а потом нажать ссылку «Универсальный отчет», мы увидим вот такое окно:

Вкратце пройдемся по его элементам управления.

С верхней строчкой закончили.

  • Ниже самая интересная кнопка – это «Показать настройки». Здесь лучше показать на примере.

Инструкция по настройке универсального отчета 1С 8.3

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

Получите 267 видеоуроков по 1С бесплатно:

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

Чтобы получить наименования материалов, выберем группировку по 1-му субконто. Именно в нем хранится наименование, точнее, ссылка на номенклатуру.

Переходим на закладку «Отборы»:

Здесь нам нужно указать, что мы хотим видеть только счет 10.01.

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

Нажмем кнопку сформировать и посмотрим, что у нас получилось:

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

Заходим опять в настройки и сразу — на закладку «Показатели»:

Убираем флажки с тех колонок, которые нам выводить не надо.

На закладке «Сформировать» можно указать поле, по которому будет происходить сортировка. Я, например, хочу, чтобы у меня материалы вышли по алфавиту:


Ключевые слова: Универсальный отчет, Общий отчет, ОтчетОстаткиИОбороты, ОтчетСписокКроссТаблица, Остатки и Обороты, Список кросс / таблица

Большинство отчетов построены на одних и тех же базовых принципах. Самый быстрый способ разработать отчет это воспользоваться встроенным в платформу конструктором «Конструктор выходных форм». Однако, при разработке (или доработке) типовой конфигурации перед программистами ставится требование по унификации программного кода, а также форм справочников, документов и выходных форм отчетов. Поэтому в типовых конфигурациях часто используемый программный код выносят в общие модули, а для унификации выходных форм отчетов используют специальные «универсальные» отчеты.
Все множество отчетов в типовых конфигурациях можно разделить на отчеты формируемые на основании общих отчетов, когда все функции по формированию выходной формы и настроек передаются во внешний модуль общего отчета и сформированные с использованием построителя, когда все функции формирующие выходную форму содержатся в модуле объекта.
В УТ и УПП существуют два общих отчета: «Отчет остатки и обороты (ОтчетОстаткиИОбороты)» и «Отчет список кросс таблица (ОтчетСписокКроссТаблица)». Первый «Отчет остатки и обороты (ОтчетОстаткиИОбороты)» предназначен для формирования линейных отчетов типа «Начальный остаток – Приход – Расход – Конечный остаток», при этом группировки выводятся по строкам. Второй отчет «Список / кросс таблица (ОтчетСписокКроссТаблица)» предназначен для вывода кросс таблиц, когда группировки разворачиваются не только по строкам, но и по столбцам.

Структура универсальных отчетов

Рассмотрим реквизиты, элементы формы и процедуры модулей универсальных отчетов. Состав реквизитов, функций у отчетов несколько отличаются, поэтому отличия «Список / кросс таблица (ОтчетСписокКроссТаблица)» от «Отчет остатки и обороты (ОтчетОстаткиИОбороты)» будем приводить ниже описания общих реквизитов, функций, элементов формы.
Реквизиты универсального отчета:
  • «ИмяРегистра» - строка, наименование регистра накопления из которого получаем данные
    «ДатаНач» – дата, с которой начинается выборка данных
  • «ДатаКон» – дата, по которую производится выборка данных. Т.е. период формирования отчетов с «ДатаНач» по «ДатаКонк»

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

  • «СохраненныеНастройки» – структура, в который помещаются настройки, которые сохраняются при закрытии отчета и восстанавливаются при последующем открытии
  • «РаскрашиватьИзмерения» – булево, установка данного реквизита в Истина указывает на то что нужно при выводе строк группировок и полей их раскрашивать для лучшего представления информации на экране

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

  • «ВыводитьИтогиПоВсемУровням» – булево, для некоторых группировок можно специально запретить выводить цифры по показателям, данный реквизит снимает данный запрет
  • «ПоказыватьЗаголовок» – булево, указывает выводить или не выводить заголовок на экран (регулируется кнопкой «Заголовок» на форме отчета)

  • Табличная часть «Показатели» - содержит в себе список выводимых на экран показателей

  • В отчете «Список кросс / таблица (ОтчетСписокКроссТаблица)»:
  • «Использовать интервальные группировки (ИспользоватьИнтервальныеГруппировки)» - булево, указывает на возможность выводить данные по интервалам периодов
  • Табличная часть «Интервалы» - содержит в себе список интервалов

Формы универсального отчета:
«ФормаОсновная» – основная форма вывода данных.
Реквизиты «ФормаОсновная»:
  • «ОтчетОбъект» - основной объект отчета, ссылка на «ОтчетОстаткиИОбороты» или «ОтчетСписокКроссТаблица»

  • В модуле формы, содержатся следующие переменные:
  • «ВысотаЗаголовка» - число, количество строк в заголовке, данная переменная используется для, когда нужно скрыть/отобразить заголовок отчета в табличном документе
  • «ИдентификаторОкнаРасшифровки»

  • «ФормаНастройки» - ссылка, на форму настройки
  • «НеЗаполнятьНастройкиПриОткрытии» - булево, переменная используется, когда не нужно заполнять начальные настройки отчета. При первом открытии переменная равна ЛОЖЬ, при расшифровке отчета переменная будет установлена в ИСТИНА

  • «СтруктураСвязиЭлементовСДанными» - структура, содержит данные указание каким элементам формы соответствуют реквизиты отчета

  • Элементы формы «ФормаОсновная»:
  • «КоманднаяПанельФормы» – содержит управляющие кнопки формы:
    o Меню «Подменю» (Действия) – содержит список возможных действий формы
    o Кнопка «Сформировать» – при нажатии формирует отчет
    o Кнопка «Отбор» – открывает/закрывает панель отбора
    o Кнопка «Заголовок» – открывает/закрывает в табличной части строки с заголовком отчета
    o Кнопка «Настройка» - открывает форму настроек отчета
    o Кнопки «ВосстановитьНастройки», «СохранитьНастройки» - сохраняют и восстанавливают настройки отчета
    o Кнопка «Справка (Действие1)» – вызывает справку по отчету
  • «Период с: (ДатаНач)», «по: (ДатаКон)» - поле ввода, ввод даты начала/окончания выбора данных для отчета

  • «Раздел учета (ИмяРегистра)» - поле выбора, наименование регистра по которому формируется отчет
  • «ПанельОтбор» - панель, на которой помещаются элементы для реализации механизма быстрого доступа к отборам отчета

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

  • «ПриОткрытии» - обработчик события при открытии формы
  • «ОбновитьОтчет» - процедура формирует отчет и обновляет табличный документ «ДокументРезультат»

  • «ОтобразитьОтбор» - отобразить/скрыть панель формы отбора
  • «ЗаполнитьОбъектПоДиалогу» - заполняет реквизиты отчета по реквизитам формы

  • «ЗаполнитьДиалогПоОбъекту» - заполнение реквизитов формы по реквизитам отчета
  • «ВыводЗаголовка» - вывод заголовка отчета

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

  • «ПередСохранениемЗначений» - обработчик – события формы, выполняется при закрытии формы и сохранении значений из реквизита СохраненныеНастройки
  • «ОбработкаОповещения» - обработчик оповещения

  • «КнопкаНастройкаПериодаНажатие», «ПолеНастройки1ПриИзменении», «ПолеНастройкиС1ПриИзменении», «ПолеНастройкиПо1ПриИзменении», «ПолеВидаСравнения1ПриИзменении» - обработчики событий элементов формы
  • «ДокументРезультатОбработкаРасшифровки» - обработчик события "Обработка расшифровки" поля табличного документа «ДокументРезультат»

«ФормаНастройка» - форма предназначенная для настройки отчета, вызывается при нажатии кнопки «Настройка» в основной форме отчета.
Реквизиты «ФормаНастройка»:
  • «ОтчетОбъект» - отчет, ссылка на «ОтчетОстаткиИОбороты» или «ОтчетСписокКроссТаблица»


  • «ВызывающийОтчет» - тип произвольный
  • «ИнтервальнаяГруппировка» - тип строка

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

Элементы «ФормаНастройка»:
«Панель отчета (ПанельОтчета)» содержит следующие закладки:
Закладка «Общие» содержит элементы:
  • «Период с: (ДатаНач)», «по: (ДатаКон)» - поле ввода, дата начала и окончания выборки данных из отчета. Данные связаны с реквизитами отчета «ДатаНач» и «ДатаКон»

  • «Раздел учета (ИмяРегистра)» - поле выбора, данные элемента связаны с реквизитом отчета «ИмяРегистра», содержит имя регистра по которому формируется отчет. Если «ФормаНастройки» вызывается из внешнего отчета, тогда это поле недоступно для просмотра и изменения
  • «Использовать свойства и категории (ИспользоватьСвойстваИКатегории)» - флажок, устанавливает флаг использования свойств и категорий объектов, данные этого флажка связаны с данными реквизита отчета «ИспользоватьСвойстваИКатегории»

  • «Раскрашивать измерения (РаскрашиватьИзмерения)» - флажок, данные связаны с реквизитами отчета «РаскрашиватьИзмерения», если флажок установлен тогда уровни группировок выводимы в табличный документ будут выделены цветами
  • «Выводить итоги по всем уровням (ВыводитьИтогиПоВсемУровням)» - флажок, если установлен, тогда в табличный документ выводятся итоги по всем уровням группировок, связан с реквизитом отчета «ВыводитьИтогиПоВсемУровням»

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

  • В отчете «Список / кросс-таблица (ОтчетСписокКроссТаблица)»:
  • «Период (ДатаНач)» - поле ввода даты, предназначено для выбора периода. Видимость данного поля регулируется переменной модуля «мРежимВводаПериода», в зависимости от значения данной переменной в данном поле можно выбирать период с шагом день, месяц, квартал, год
Закладка «Группировки»:
  • «ИзмеренияСтроки (ПостроительОтчета.ИзмеренияСтроки)» - тип ИзмеренияПостроителяОтчета, измерения, откладываемые по строкам отчета

  • В отчете «Список / кросс таблица (ОтчетСписокКроссТаблица)»:
  • «ИзмеренияКолонки (ПостроительОтчета. ИзмеренияКолонки)» - тип ИзмеренияПостроителяОтчета, измерения, откладываемые по колонкам отчета

  • В отчете «Список / кросс таблица (ОтчетСписокКроссТаблица)»: если реквизит
  • «ИспользоватьИнтервальныеГруппировки» установлен в «Истина», тогда становится доступным закладка
«Интервалы группировок»:
  • «Наименование (ИнтервальноеПоле)» - поле выбора. При открытии формы заполняется теми измерениями из коллекции «ПостроительОтчета.ДоступныеПоля» у кторых наименование начинается на «ИН»

  • «ОтобранныеИнтервалы» - таблица значений. При изменении «Наименование (ИнтервальноеПоле)» заполняется список выбранных интервалов
Закладка «Отбор»:
  • «Отбор (ПостроительОтчета.Отбор» - тип Отбор. Отбор построителя отчетов

Закладка «Поля»:
  • «ВыбранныеПоля (ПостроительОтчета.ВыбранныеПоля)» - тип ПоляПостроителяОтчетов. Поля для вывода в отчет

  • «Выводить дополнительные поля в отдельной колонке (ВыводитьДополнительныеПоляВОтдельнойКолонке)» - флажок, при установке выводит поля в отдельных колонках
Закладка «Сортировка»:
  • «Порядок (ПостроительОтчета.Порядок)» - тип Порядок. Сортировка группировок в отчете

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

  • «ПередОткрытием» - обработчик события "Перед открытием" формы отчета
  • «ИмяРегистраПриИзменении», «КнопкаНастройкаПериодаНажатие», «ОсновныеДействияФормыОК», «ИспользоватьСвойстваИКатегорииПриИзменении», «КоманднаяПанельСписокПоказателейУстановитьВсе», «КоманднаяПанельСписокПоказателейСнятьВсе», «ОтборЗначениеНачалоВыбора», «ОтборПередУдалением», «ДатаНачПриИзменении», «ДатаКонПриИзменении» - обработчики событий соответствующего элемента формы

  • В модуле формы также инициализируется переменная СписокРегистров (функция ПолучитьСписокРегистровОстатков) и указывается как список для выбора элемента формы «Раздел учета (ИмяРегистра)»

  • В отчете «Список / кросс таблица (ОтчетСписокКроссТаблица)»:
  • «ОтобратьИнтервалы» - процедура формируем список отобранных интервалов в реквизите «ОтобранныеИнтервалы», вызывается при изменении поля выбора «Наименование (ИнтервальноеПоле)»
  • «ВставитьИнтервалыПоИмени» - процедура вызывается перед формированием отчета, заполняет табличную часть «Интервалы»

  • «КнопкаНастройкаПериодаНажатие» - обработчик нажатия кнопки настройки периода
  • «ПлюсПериодНажатие», «МинусПериодНажатие» - обработчик нажатия кнопки «+», «-» периода

  • «ИнтервальноеПолеПриИзменении», «ОтобранныеИнтервалыПослеУдаления», «ОтобранныеИнтервалыПриОкончанииРедактирования», «ОтобранныеИнтервалыВГраницаПриИзменении» - обработчики событий элементов закладки «Интервалы группировок»

  • В модуле формы инициализируется поле выбора «ИнтервальноеПоле».
Модуль объекта отчета:
Переменные модуля, которые влияют на формирования отчета:
  • «мТаблицаПоказатели» - таблица значений, содержит все возможные показатели, по-умолчанию заполняется показателями из табличной части «Показатели»

  • «НП» - настройка периода, используется при вызове «КнопкаНастройкиПериода»
  • «мСоответствиеНазначений» - соответствие, содержащая назначения свойств и категорий именам

  • «мСтруктураСвязиПоказателейИИзмерений» - соответсвие, содержит связь показателей и измерений. Используется когда нужно выводить значения определенных показателей только в строках с определенными группировками
  • «мМассивШиринКолонок» - массив ширин колонок табличного документа для сохранения между формированиями отчета. Используется при обновлении отчета, для того чтобы сохранять ширину колонок, в том числе и ту которую установил пользователь

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

  • «мВыбиратьИмяРегистра» - булево, признак выбора (изменения) имени регистра (вида отчета), влияет на видимость элемента формы настройки «Раздел учета (ИмяРегистра)»
  • «мВыбиратьИспользованиеСвойств» - булево, признак выбора (изменения) флажка использования свойств и категорий

  • «СтруктураФорматаПолей» - структура, хранит формат полей примитивных типов, используется для форматирования полей типа дата в строковом представлении
  • «мСтруктураДляОтбораПоКатегориям» - структура, предназначена для связи отборов Построителя с категориями из соединяемых таблиц

  • В отчете «Список / кросс таблица (ОтчетСписокКроссТаблица)»:
  • «мСтруктураНевыводимыхГруппировок» - структура, хранит список тех группировок, которые не надо выводить. Применяется в тех случаях, когда нужно пропускать итоги, например Номенклатура - Характеристика - Серия: итоги по номенклатуре не нужны, нужно только для всех трех
  • «СоответствиеТиповИнтервальныхПолей» - соответствие

Процедуры и функции модуля отчета:
  • «ЗаполнитьНачальныеНастройки» - процедура заполняет начальные настройки отчета. Вызывается в модуле формы отчета перед открытием формы (обработчик события «ПередОткрытием»)

  • «ОбработкаРасшифровкиСтандартногоОтчета» - процедура, вызывается обработчиком события "Обработка расшифровки" поля табличного документа «ДокументРезультат»
  • «ЗаполнитьПоляОсновногоРеквизита» - процедура, вызывается при инициализации основной формы отчет (модуль формы)

  • «Настроить» - процедура, настраивает отчет по переданной структуре параметров, вызывается при расшифровке отчета
  • «ПолучитьПостроительОтчета» - функция, возвращает построитель отчета

  • «ПолучитьОсновнуюФорму» - функция, возвращает основную форму отчета
  • «СформироватьСтруктуруДляСохраненияНастроек» - процедура, формирует структуру «СохраненныеНастройки» для сохранения параметров отчета. Вызывается перед сохранением настроек в обработчике события «ПередСохранениемЗначений». Структура состоит из таких полей:
    o «ИмяРегистра» – содержит имя регистра
    o «НастройкиПостроителя» - содержит настройки построителя: доступные поля, отборы, порядок и т.д.
    o «Показатели» - табличная часть «Показатели»
    o «ИспользоватьСвойстваИКатегории» - признак использования свойств и категорий
    o «ВыводитьДополнительныеПоляВОтдельнойКолонке» - признак вывода дополнительных полей в отдельной колонке
    o «ВыводитьИтогиПоВсемУровням» - выводить итоги по всем уровням
    o «ВыводитьПоказателиВСтроку» - выводить показатели в строку
    o «РаскрашиватьИзмерения» - раскрашивать измерения
    o «ЗаголовокПомечен» - показывать или скрывать заголовок
  • «ВосстановитьНастройкиИзСтруктуры» - процедура, заполняет из структуры настроек общие параметры отчетов. Вызывается после восстановления настроек в обработчике события «ПослеВосстановленияЗначений»

  • «СформироватьОтчет» - выполняет запрос и формирует табличный документ-результат отчета

  • В отчете «Список / кросс таблица (ОтчетСписокКроссТаблица)»:
  • «ЗаполнитьПоказатели» - процедура, заполняет специальную таблицу «мТаблицаПоказатели». Вызывается в процедуре «ЗаполнитьНачальныеНастройки», перед открытием отчета
  • «СформироватьЗаголовок» - процедура, формирует табличку-заголовок

  • «ВывестиКолонкуШапки» - процедура, выводит шапку таблицы
  • «ВывестиПоказатели» - процедура, выводит показатели в строку отчета

  • «ПолучитьПоказатели» - процедура, получает значения показателей для вывода в таблицу
  • «ВывестиСтроку» - выводит строку отчета

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

  • «ШапкаТаблицыОбщая» - содержит ячейки в которые выводятся заголовки столбцов таблицы. Данная секция включает в себя такие вертикальные секции: «Поле» - выводятся наименование группировок и дополнительных полей, «НачальныйОстаток» - показатели начального остатка, «Приход» - показатели прихода, «Расход» - показатели расхода, «КонечныйОстаток» - показатели конечного остатка. Также в секцию входят горизонтальные субсекции: «ШапкаТаблицы» - включает в себя одну строку ячеек «Поле», «Начальный остаток», «Приход», «Расход», «Конечный остаток», «ШапкаТаблицыНиз» - выводит наименование дополнительных полей. Если нет нужды выводить дополнительные поля выводится только секция «ШапкаТаблицы»
  • «Подвал» - горизонтальная секция, используется как завершающая секция при выводе таблицы, данных не выводит, но содержит сплошную линию, завршая тем самым окантовку таблицы сполшными линиями

  • «СтрокаИерархии» - горизонтальная секция выводится только в случае если способ вывода группировки справочников «по иерархии», выводит группу элементов справочника
  • «Строка» - горизонтальная секция, выводить строку группировки

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

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

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

  • «Группировка» - горизонтальная секция, содержит ячейки с перечислением группировок выводимых в отчет
В отчете «Список кросс / таблица (ОтчетСписокКроссТаблица)» содержатся следующие макеты:
«Макет» - является макетом для вывода информации в табличный документ «ДокументРезультат», состоит из тех же секций что и макет отчета «Отчет остатки и обороты (ОстаткиИОбороты)» за тем исключением, что вертикальные секции «НачальныйОстаток», «Приход», «Расход», «КонечныйОстаток» заменены секцией «Показатель» и добавлена горизонтальная секция «ШапкаТаблицыСтрока» для вывода наименований группировок в строке.

Построение пользовательских выходных форм на основании универсальных (общих) отчетов

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

Основная форма

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

  • «Период с: (ДатаНач)», «по: (ДатаКон)» или «На дату: (ДатаКон)» - поле ввода дата, данные связаны с реквизитами общего отчета «ДатаНач» или «ДатаКон»
  • «Панель отборов (ПанельОтбор)» - панель, на которую помещаются элементы для быстрого отбора. Для настройки отбора нужно три элемента формы флажок, поле выбора и поле ввода, наименование каждого элемента начинается с определенного названия плюс имя отбора так как он должен быть задан в построителе отчета:
    o «ФлажокНастройки…» - флажок связанный с реквизитом отборов «Использование», при установке данного флажка в построителе отчетов будет включен соответствующий отбор
    o «ПолеВидаСравнения…» - поле выбора, связан с реквизитом отборов «ВидСравнения», содержит способ сравнения значения отбора с отбираемыми значениями
    o «ПолеНастройки…» - поле ввода, связан с реквизитом отборов «Значение», содержит значение по которому осуществляется фильтрация

  • Пример использования:
    Установить отбор по измерению «Номенклатура». Добавляем на панель отборов три элемента формы, называем их следующим образом: флажок «ФлажокНастройкиНоменклатура», поле выбора «ПолеВидаСравненияНоменклатура», поле ввода «ПолеНастройкиНоменклатура». Проверяем что в обработчике события формы «ПередОткрытием» выполняется процедура «УстановитьСвязьПолейБыстрогоОтбораНаФорме», которая связывает элементы формы с данными отбора построителя отчетов. Все. Если в данных отчета есть отбор «Номенклатура», то управлять отбором мы сможем на панели отборов, не вызывая форму настройки отчетов.
  • «Табличный документ (ДокументРезультат)» - собственно табличный документ куда выводятся данные отчета
При первом открытии пользовательского отчета происходит создание экземпляра объекта «ОбщийОтчет». Нужно четко понимать, что в рамках пользовательского отчета мы оперируем двумя объектами «ОбщийОтчет» - экземпляр объекта общего отчета и «ЭтотОтчет» - экземпляр объекта пользовательского отчета.
Т.е., если нужно вызвать процедуру модуля пользовательского отчета «ЗаполнитьНачальныеНастройки()», то пишем такую конструкцию «ЭтотОтчет.ЗаполнитьНачальныеНастройки()», а чтобы вызвать процедуру общего отчета «ЗаполнитьПоляОсновногоРеквизита()», пишем «ОбщийОтчет. ЗаполнитьПоляОсновногоРеквизита()». Заметим, что в модуле формы для вызова процедур общего отчета просто указать имя процедуры, а в модуле объекта пользовательского отчета нужно писать «ОбщийОтчет.» и название процедуры.
Пример использования пользовательского отчета из справочника «Контрагенты»:
Контрагент = ЭлементыФормы.СправочникСписок.ТекущиеДанные.Ссылка; Отчет = Отчеты.ВедомостьВзаиморасчетыСКонтрагентами.Создать(); Форма = Отчет.ПолучитьФорму(); Форма.ЭтотОтчет.ЗаполнитьНачальныеНастройки(); Форма.ЭтотОтчет.ОбщийОтчет.ПостроительОтчета.Отбор["Контрагент "].Использование = Истина; Форма.ЭтотОтчет.ОбщийОтчет.ПостроительОтчета.Отбор["Контрагент "].Значение = Контрагент; Если Контрагент.ЭтоГруппа Тогда Форма.ЭтотОтчет.ОбщийОтчет.ПостроительОтчета.Отбор["Контрагент "].ВидСравнения = ВидСравнения.ВИерархии; Иначе Форма.ЭтотОтчет.ОбщийОтчет.ПостроительОтчета.Отбор["Контрагент "].ВидСравнения = ВидСравнения.Равно; КонецЕсли; Форма.ОбновитьОтчет(); Форма.Открыть();
Перечислим основные процедуры и функции основной формы пользовательского отчета:
  • При инициализации формы выполняется процедура «ЗаполнитьПоляОсновногоРеквизита», которая заполняет поля и реквизиты основного объекта формы. Также устанавливаются переменные формы

  • «ОбновлениеОтображения» - процедура, обработчик обновления данных формы
  • Перед открытием формы вызывается процедура модуля пользовательского отчета «ЗаполнитьНачальныеНастройки», выполняется восстановление значений параметров формы и связь между элементами формы и отборами построителя отчетов: «УстановитьСвязьПолейБыстрогоОтбораНаФорме»

  • «ПриОткрытии» - процедура-обработчик события при открытии формы

  • Сохранение и восстановление параметров отчета осуществляется следующими процедурами:
  • «ПослеВосстановленияЗначений» - процедура-обработчик события после восстановления сохраненных значений, вызывает процедуру модуля отчета «ВосстановитьНастройкиИзСтруктуры»
  • «ПередСохранениемЗначений» - процедура-обработчик события перед сохранением значений, вызывает функцию модуля отчета «СформироватьСтруктуруДляСохраненияНастроек», в которой формируется структура сохраненных настроек и присваивается реквизиту «СохраненыеНастройки»

  • Во всех отчетах основанных на ОиО или СКТ сохранение параметров настроек реализовано следующим образом. В свойствах формы указывается «Сохранять значения» и в списке «Сохраняемые значения» выбирается реквизит «СохраненныеНастройки». В обработчик события «Перед сохранением значений», «После восстановления значений» вставляют код, который вызывает процедуры модуля общего отчета: «СформироватьСтруктуруДляСохраненияНастроек» для сохранения настроек и «ВосстановитьНастройкиИзСтруктуры» для восстановления настроек отчета. Структура настроек уже описывалась в разделе про универсальные отчета
    Пример использования:
    После формирования отчета пользователи могут настраивают ширину колонок табличного документа (нажимая Ctrl +позиционируя ширину курсором мыши). В общих отчетах массив ширин колонок хранится в переменой мМассивШиринКолонок, при обновлении отчета ширина колонок настраивается исходя из данных которые хранятся в этом массиве. Задача состоит в том, чтобы при закрытии отчета сохранять массив ширин колонок, а после открытии отчета восстанавливать ширины колонок, так как это было задано пользователем перед закрытием. Для этого в обработчик события перед сохранением значений формы «ПередСохранениемЗначений» в структуре «СохраненныеНастройки», добавляем массив, который сформирован следующим образом:
// Запоминать следует, если документ не Если ЭлементыФормы.ДокументРезультат.ВысотаТаблицы > 0 Тогда пустой Для Сч=1 По ЭлементыФормы.ДокументРезультат.ШиринаТаблицы Цикл МассивШиринКолонок.Добавить(ЭлементыФормы.ДокументРезультат.Область(1 ,Сч).ШиринаКолонки); КонецЦикла; КонецЕсли; СохраненныеНастройки.Вставить("МассивШиринКолонок ", МассивШиринКолонок);
В процедуре-обработчике «ПослеВосстановленияЗначений», вносим следующий код:
ЭтотОтчет.ВосстановитьНастройкиИзСтруктуры(СохраненныеНастройки, ПоказыватьЗаголовок); СохраненныеНастройки.Свойство("МассивШиринКолонок ", ОбщийОтчет.мМассивШиринКолонок); // Восстанавливаем массив ширин колонок
  • «ПриЗакрытии» - процедура-обработчик события при закрытии формы. В данную процедуру, обычно, добавляют функции сохранения параметров формы
  • «ОбработкаОповещения» - процедура-обработчик сообщений. Используется для обновления элементов отбора на форме, в случае, если изменились настройки отборов в построителе отчета при вызове формы настройки

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

    • «УправлениеПараметрамиОтображенияЭлементовФормы» - управляет пометками кнопок на панели инструментов

    • «ОбновитьОтчет» - обновляет таблицу отчета, вызывается при нажатии кнопки «Сформировать», а также когда нужно убрать / задать заголовок отчета (кнопка «Заголовок»), в последнем случае выводится только заголовок отчета В процедуре помещается вызов процедуры модуля отчета «СформироватьОтчет»
    • «ВыводЗаголовка» - процедура – управляет выводом заголовка, вызывает из модуля отчета процедуру «СформироватьОтчет»

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

    Модуль отчета

    Рассмотрим модуль пользовательского отчета. Наиболее важная процедура модуля отчета «ЗаполнитьНачальныеНастройки», данная процедура вызывается перед открытием формы и содержит команды, которые настраивают список показателей, группировок, отборы и порядок, которые будут присутствовать в отчете:
    • Инициализация переменных:
      «СтруктураПредставлениеПолей» - структура, в которую заносятся представления полей, где ключ – имя показателя/группировки/поля из источника данных, а значение текстовое представление показателя/группировки/поля.
      Пример использования:
      СтруктураПредставлениеПолей.Вставить("ХарактеристикаНоменклатуры ", "Характеристика номенклатуры "); СтруктураПредставлениеПолей.Вставить("ДокументОснование ", "Документ-основание ");
      «МассивОтбора» - массив отбора, массив в который включаем отборы, которые присутствуют в настройках отчета по-умолчанию.
      Пример использования:
      Добавляем два отбора по номенклатуре и складу, эти отборы можно связать с элементами в панели отборов основной формы. При внесении элементов быстрого доступа к отборам на форме отчета, в настройках отчета желательно добавлять имена этих отборов в «МассивОтбора»
      МассивОтбора.Добавить("Номенклатура "); МассивОтбора.Добавить("Склад ");
    • Параметры отчета:
      «ОбщийОтчет.ИмяРегистра» - если отчет формируем на основании определенного регистра, тогда указываем имя этого регистра.
      «ОбщийОтчет.мНазваниеОтчета» - название отчета, которое будет выводится в заголовок табличного документа.
      Пример использования:
      ОбщийОтчет.ИмяРегистра = "ТоварыНаСкладах "; ОбщийОтчет.мНазваниеОтчета = "Анализ доступности товаров на складах ";
    • Запрос для построителя отчета:
      В отчетах предусмотрено формирование текста запроса для построителя на основании трех источников: метаданных регистра, макета и напрямую присваивать текст запроса построителю отчетов.
      - Запроса на основании метаданных регистра
      Если мы указали наименование регистра в «ОбщийОтчет.ИмяРегистра», то вызвав процедуру «ЗаполнитьНачальныеНастройкиПоМетаданнымРегистра» мы можем заполнить настройки построителя запроса и реквизиты общего отчета
      Пример использования:
      Формирует текст запроса к регистру «ТоварыНаСкладах» и заполняет настройками реквизиты общего отчета:
      ОбщийОтчет.ИмяРегистра = "ТоварыНаСкладах "; ЗаполнитьНачальныеНастройкиПоМетаданнымРегистра(СтруктураПредставлениеПолей, МассивОтбора, ОбщийОтчет, "СписокКроссТаблица ");
      - Запроса на основании макета
      Как уже описывалось в разделе «Структура универсальных отчетов», параметры настройки отчета можно указывать в специально разработанном макете. Удобство макета в том что можно регулировать вывод показателей, группировок и полей не прибегая к построению запроса через конструктор.
      Пример использования:
      ПостроительОтчета = ОбщийОтчет.ПостроительОтчета; ЗаполнитьНачальныеНастройкиПоМакету(ПолучитьМакет("ПараметрыОтчетовТоварыОрганизаций "), СтруктураПредставлениеПолей, МассивОтбора, ОбщийОтчет, "СписокКроссТаблица ");
      - Указание запроса как источник данных построителя отчетов
      Использую универсальные отчеты для формирования пользовательских выходных форм, можно составить свой запрос и указать его текст как источник для построителя отчетов. Данный метод очень удобен тем, что можно строить запросы, какой угодно сложности и структуре.
      Пример использования:
      ПостроительОтчета.Текст = "ВЫБРАТЬ | ПродажиОбороты.Номенклатура КАК Номенклатура, | ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот |{ВЫБРАТЬ | Номенклатура.*, | ПродажиОбороты.ХарактеристикаНоменклатуры.* |//СВОЙСТВА |} |ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон,) КАК ПродажиОбороты |//СОЕДИНЕНИЯ |СГРУППИРОВАТЬ ПО | ПродажиОбороты.Номеклатура |//СГРУППИРОВАТЬПО |{ГДЕ | ПродажиОбороты.Номенклатура.*, | ПродажиОбороты.ХарактеристикаНоменклатуры.* |//СВОЙСТВА |//КАТЕГОРИИ |} |{УПОРЯДОЧИТЬ ПО | Номенклатура.*, | ПродажиОбороты.ХарактеристикаНоменклатуры.* |//СВОЙСТВА |} |ИТОГИ | СУММА(СтоимостьОборот) |ПО | ОБЩИЕ, | Номенклатура |{ИТОГИ ПО | ПродажиОбороты.Номенклатура.*, | ПродажиОбороты.ХарактеристикаНоменклатуры.* |//СВОЙСТВА |} "
      При формировании запросов, следует соблюдать несколько правил:
      o В запросе можно указать два предопределенных параметра: «ДатаНач» и «ДатаКон», в которые передается значение соответствующих реквизитов отчета. Данные параметры используются для ограничения выборок из данных по периоду.
      o В отчете всегда должны присутствовать общие итоги: «ИТОГИ … ПО ОБЩИЕ»
      o Для того, чтобы можно было управлять настройками отчета из формы настройки, нужно обязательно указывать соответствующие настройки для построителя отчетов, в фигурных кавычках «{» и «}» или на закладке «Построитель» конструктора запросов.
      o В запросе можно указать специальные директивы: «//СВОЙСТВА», «//КАТЕГОРИИ», «//СОЕДИНЕНИЯ», «//СГРУППИРОВАТЬПО». Далее с помощью процедуры «ДобавитьВТекстСвойстваИКатегории» в запрос добавляются выборки полей свойств, категорий объектов.
      Пример использования:
      В запросе, приведенном выше директивой «//СВОЙСТВА» мы указываем на, то что в текст запроса нужно добавить выборку, группировку и условия по свойствам объектов, «//КАТЕГОРИИ» - добавляем условие по категориям, а с помощью «//СОЕДИНЕНИЯ» мы обеспечиваем соединения с регистром сведений «ЗначенияСвойствОбъектов», «//СГРУППИРОВАТЬПО» - группируем по выбранным свойствам объектов
    • Процедуры заполнения полей построителя отчета:
      После того как был сформирован запрос, нужно заполнить соответствующие реквизиты построителя отчетов и общего отчета.
      В массиве «МассивОтбора» вносим массив отборов, для заполнения отборов в построителе отчетов используем процедуру «ЗаполнитьОтбор».
      Если мы планируем использовать свойства и категории мы должны добавить выполнить процедуру «ДобавитьВТекстСвойстваИКатегории».
      Пример использования:
      ДобавитьВТекстСвойстваИКатегории(ТаблицаПолей, Текст, СтруктураПредставлениеПолей, мСоответствиеНазначений, СтруктураПараметры, ТекстИсточникиСведений="", ТекстПоляКатегорий="", ТекстПоляСвойств="", ТекстПоляСгруппироватьПо = "", ЗаменятьСвойства = "//СВОЙСТВА", ЗаменятьКатегории = "//КАТЕГОРИИ", ЗаменятьСоединения = "//СОЕДИНЕНИЯ", ЗаменятьСгруппироватьПо = "//СГРУППИРОВАТЬПО", ИдентификаторыПараметровДляОтборовПоКатегориям = "") Экспорт
      Для заполнения представлений полей «ЗаполнитьПредставленияПолей», также можно воспользоваться процедурой «ЗаполнитьПредставление».
      Пример использования:
      ЗаполнитьПредставление("Номенклатура ", "Номенклатура ", ИСТИНА, ИСТИНА); ЗаполнитьПредставление("ХарактеристикаНоменклатуры ", "Характеристика номенклатуры ", ЛОЖЬ, ЛОЖЬ);
    • Дополнительные процедуры по настройке отчета:
      «ОчиститьДополнительныеПоляПостроителя» - обязательная процедура, удаляет показатели, группировки из реквизита «ПостроительОтчета.ВыбранныеПоля»
      «ОбщийОтчет.ВыводитьПоказателиВСтроку = Истина» - выводит показатели в строку
      «мСтруктураСвязиПоказателейИИзмерений» - заполнить структуру связи показателей и измерений
      Пример использования:
      Нужно выводить показатель «КоличествоОстаток» только для измерения «Номенклатура» и «ХарактеристаНоменклатуры»:
      ОбщийОтчет.мСтруктураСвязиПоказателейИИзмерений.Вставить("КоличествоОстаток ", Новый Структура(«Номенклатура,ХарактеристикаНоменклатуры»));
      Если нужно выводить все итоги независимо от настройки структуры «мСтруктураСвязиПоказателейИИзмерений» устанавливаем следующий реквизит:
      ОбщийОтчет.ВыводитьИтогиПоВсемУровням = Истина
      Если нужно пропустить некоторые группировки, тогда следуют заполнить структуру «мСтруктураНевыводимыхГруппировок».
      Пример использования:
      Нужно выводить измерения «ХарактеристикаНоменклатуры» вместе с измерением «Номенклатура», для этого добавляем следующий вызов функции
      ОбщийОтчет.мСтруктураНевыводимыхГруппировок.Вставить("Номенклатура ",Новый Структура("ХарактеристикаНоменклатуры "));
      В результате в отчет будет выведены измерения разделенные запятой: «Номенклатура, Характеристика номенклатуры»

    • Другие процедуры модуля пользовательского отчета аналогичны процедурам универсальных отчетов b описанны в разделе «Универсальные отчеты». На что стоит обратить внимание так это на параметры в запросе, перед формированием отчета (процедура «СформироватьОтчет») следует указать эти параметры для построителя отчета:
      Пример использования:
      ПостроительОтчета.Параметры.Вставить(ИмяПараметра,ЗначениеПараметра);

    Заключение

    Использовать ОиО и СКТ для формирования пользовательских выходных форм достаточно просто, если правильно составить в конструкторе запрос и передать его построителю, мы получим готовый отчет. Также, большой плюс использования общих отчетов, это унификация вывода данных на форму отчета, гибкие настройки группировок, отборов и сортировки, представления измерний и показателей.
    Практика показывает, что 90% функционала для формирования любой пользовательской формы реализовано в универсальных отчетах, также можно брать за основу уже готовые типовые отчеты и "дорабатывать" их под требования заказчиков.

    Список ссылок

    Ниже приведем список некоторых ссылок на статьи "Книги знаний" (

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

    В качестве примера я создам два отчета: отчет по документам реализации и отчет по затратам предприятия.

    Откроем форму универсального отчета (раздел Администрирование ):


    В верхней части находится панель настроек, а в нижней табличное поле для вывода данных:


    Отчет по документам продажи

    Приступим к настройке отчета по документам реализации. Выберем период:

    В следующей поле укажем, что отчет будет строиться по документам:



    В следующей поле нужно выбрать источник данных в документе (перечислены табличные части документа + Основные данные - это реквизиты шапки). Давайте выберем данные из табличной части Товары , чтобы получить данные и о проданной номенклатуре:


    Нажимаем внизу Завершить и сформировать :


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

    Выбираем расширенный вид настроек:


    Переходим на закладку Структура :


    Здесь видим единственную группировку детальные записи - именно в ней выводятся все данные:


    Кликнем на ней два раза и в открывшейся форме выберем поле организация (это реквизит не табличной части Товары, а документа, поэтому поле будет выглядеть так: Ссылка.Организация ):


    Нажимаем Закрыть и Сформировать :


    Теперь для организаций давайте добавим вложенную группировку по контрагентам (выделим группировку по организации, нажмем Добавить и выберем вложенное поле Контрагент у поля Ссылка ):


    Отчет видоизменился:


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


    Теперь пропавшие данные вернулись в отчет:


    Для настройки перечня колонок перейдем в настройки на закладку Поля и сортировка :

    Поотключаем галки у ненужных полей и переформируем отчет:


    Теперь число колонок уменьшилось.

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

    Отчет по затратам

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

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

    В нашем примере это будут обороты. Переходим в настройки, закладка Структура:


    Добавляем верхнюю группировку по организации и подчиненную по субконто1 (это будут статьи затрат). На закладке Поля и сортировки устанавливаем только признак использования поля Субконто оборот Дт :


    Справа в таблице сортировки нажимаем Добавить и выбираем наименование организации и субконто1, тип - по возрастанию:


    На первой закладке добавим отбор по счетам:


    Нажимаем Закрыть и сформировать :


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


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

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

    Отправить эту статью на мою почту

    В типовых конфигурациях 1с для получения таблиц по внесенным в программу данным предназначен Универсальный отчет. Он представляет собой механизм, позволяющий простому пользователю, не обладающими навыками программирования, построить отчет по любым объектам системы.

    В этой статье мы разберем основные настройки Универсального отчета 1С и приведем пример его формирования.

    Универсальный отчет 1С находится в раздела НСИ и администрирование → Печатные формы, отчеты и обработки.

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

    Для более детальной настройки необходимо открыть окно Настройки и установить Расширенный вид.

    На первой закладке представлены Параметры и Отборы. Параметры мы уже рассмотрели, они заданы по умолчанию и удалению не подлежат. Универсальный отчет 1С может включать различные отборы. Добавление новых выполняется по команде Добавить и выбора Поля из предложенного списка. Перечень полей зависит от выбранных значений параметров. Например, если вы выбрали регистр сведений ABC/XYZ классификация клиентов, то и добавить в отбор сможете только реквизиты этого регистра.

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

    Для уточнения значения отбора ему можно присвоить понятное обозначение введя его в колонке Заголовок

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

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

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

    А теперь для примера настроим Универсальный отчет 1С.

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

    1. Устанавливаем параметры:

     Тип объекта – документ;

     Объект – заказ клиента;

     Имя таблицы – товары.

    2. Добавляем отборы:

     Вариант обеспечения - Равно - К обеспечению;

     Для добавления Группы номенклатуры надо развернуть реквизиты Номенклатуры нажав на + и выбрав поле Группа. Так как товары могут относиться к двум различным группам в колонке Условие надо выбрать вид сравнения В списке и в колонке Значение подобрать нужные группы.

     Дата отгрузки - Меньше или равно – Дата на конец текущей недели. Если настроенный вариант планируется использовать и в последующие периоды, то для удобства данный отбор надо добавить в шапку.

     Для того чтобы в таблицу не попадали товары заказов, помеченных на удаление добавляем отбор по полю Ссылка.Пометка удаления - Равно – Нет.

    3. Настраиваем поля

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