Данная статья описывает пример создания отчета с использованием системы компоновки данных 1С:Предприятия 8.1. Отчет создается в демонстрационной конфигурации "Примеры 8.1", которая расположена на диске ИТС.
Дистрибутив конфигурации находится в каталоге \1CITS\EXE\Demo81 (копировать дистрибутив конфигурации)
В этой статье будет рассмотрен пример создания отчета по остаткам номенклатуры на складах.
Для создания отчета выберем в дереве конфигурации ветвь "Отчеты" и вызовем контекстное меню. В появившемся контекстном меню выберем команду "Добавить".
В появившейся форме введем в поле ввода "Имя" имя отчета: "ОстаткиНоменклатуры". После этого перейдем к созданию схемы компоновки данных.
Схема компоновки данных - это описание отчета, при помощи которого платформа позволит вводить настройки и получать результат. Для открытия и создания схемы компоновки нажмем кнопку "Открыть схему компоновки данных".
Так как у отчета, который мы создаем, еще не установлена основная схема компоновки данных, система 1С:Предприятие предложит создать новую схему компоновки данных и отобразит диалог, в котором будет предложено ввести имя схемы компоновки. Оставим имя, установленное по умолчанию.
Отметим, что схема компоновки данных, с точки зрения конфигурации, является макетом, поэтому система 1С:Предприятие 8 предлагает стандартный диалог конструктора макета. В этом диалоге по умолчанию выбран тип макета "Схема компоновки данных", а другие типы макетов недоступны для выбора.
После нажатия кнопки "Готово", система 1С:Предприятие откроет конструктор схемы компоновки данных, который позволяет создавать и редактировать схемы компоновки данных. Форма конструктора схемы компоновки данных выглядит следующим образом:
Первым шагом при создании новой схемы компоновки данных является добавление набора данных, из которого будут получены данные. В нашем случае данные будут получены при помощи запроса, поэтому добавим набор данных - запрос.
Для этого нажмем на кнопку "Добавить набор данных", которая расположена в командной панели на закладке "Наборы данных". В открывшемся меню выберем пункт "Добавить набор данных - запрос":
Конструктор добавит в схему компоновки набор данных - запрос.
Теперь для этого набора данных нужно ввести текст запроса, с помощью которого будут получены данные. Текст запроса можно ввести с клавиатуры прямо в поле "Запрос", или воспользоваться конструктором запроса, который позволяет создавать и редактировать запросы визуальными средствами.
Рассмотрим вариант создания текста запроса с помощью конструктора. Для вызова конструктора запроса нажмем кнопку "Конструктор запроса...":
Конструктор запроса позволяет создавать и редактировать запросы любой сложности и является весьма мощным инструментом. Форма конструктора запроса выглядит следующим образом:
Отчет, который мы создаем, будет получать данные из регистра накопления "УчетНакопления", поскольку именно в нем в демонстрационной базе хранятся остатки номенклатуры по складам.
Найдем в дереве базы данных, в ветке "РегистрыНакопления", таблицу "УчетНоменклатуры.Остатки" (имя "Остатки" после точки в данном случае указывает, что мы будем обращаться к виртуальной таблице остатков, которая и предоставит нам остатки в разрезе каждой номенклатуры на каждом складе). Двойной щелчок на таблице приведет к тому, что таблица будет помещена в табличное поле "Таблицы". В этом поле отображаются все таблицы, из которых будут получаться данные запроса.
Раскрыв таблицу "УчетНакопленияОстатки" мы увидим, какие поля мы можем получать из нее. В данном случае нас интересуют все поля, поэтому просто сделаем двойной щелчок по таблице и конструктор запроса поместит все поля таблицы в выбранные поля.
На этом создание запроса завершено - мы создали запрос, который будет получать данные из таблицы остатков.
Нажмем кнопку ОК для завершения работы конструктора запроса.
Текст запроса, который был создан с помощью конструктора, система 1С:Предприятие 8 поместит в поле "Запрос". Это поле представляет собой текстовый редактор, в котором можно вручную отредактировать существующий запрос. Кроме того, можно снова вызвать конструктор запроса и отредактировать запрос при помощи него.
Обратим внимание на список полей, который система 1С:Предприятие 8 заполнила в верхней части конструктора запроса. В нем отображаются поля, которые доступны у текущего набора данных. В нашем случае система 1С:Предприятие заполнила данный список автоматически, из текста запроса, и нет необходимости в его настройке вручную.
Следующим шагом, который необходимо выполнить, является указание ресурсов. Ресурсы - это поля набора данных, по которым будет происходить агрегация значений.
Для указания ресурсов перейдем на закладку "Ресурсы". На этой закладке в левой части мы видим список полей, которые допускается использовать в качестве ресурсов. В правой части расположено табличное поле, содержащее выражения для расчета ресурсов.
Нам необходимо рассчитать суммы по полю "КоличествоОстаток".
Найдем это поле в списке доступных полей и дважды щелкнем по нему. В правом табличном поле появится строка, содержащая формулу для расчета итога по полю "КоличествоОстаток". В нашем случае это "Сумма(КоличествоОборот)". Эта формула означает, что для итоговых записей отчета значение поля "КоличествоОстаток" будет вычисляться как сумма поля "КоличествоОстаток" для всех строк участвующих в данной итоговой записи.
Отметим, что имеется возможность добавить все доступные числовые поля в список ресурсов нажатием на кнопку ">>". Это удобно, когда имеется большое количество полей - ресурсов.
Теперь нужно создать настройки отчета по умолчанию, т.е. настройки которые будет использовать пользователь при старте отчета в режиме 1С:Предприятие.
Для этого перейдем на закладку "Настройки". На этой закладке находится несколько табличных полей для детального редактирования различных настроек компоновки данных. Для того, чтобы создать настройки воспользуемся конструктором настроек компоновки, который вызовем при помощи соответствующей команды, расположенной в правой командной панели.
Конструктор настроек компоновки данных позволяет шаг за шагом создать типовые настройки отчета.
На первом шаге в конструкторе указывается тип отчета, который необходимо создать. Нас интересует таблица, поэтому установим соответствующий переключатель и нажмем кнопку "Далее >".
На следующем шаге предлагается выбрать поля, значения которых будут выведены в отчет. Для того, чтобы выбрать сразу все поля, нажмем кнопку ">>". Конструктор поместит все поля в список выбранных полей, расположенный в правой части.
Нажмем кнопку "Далее >".
На следующем шаге нужно указать, по каким полям следует группировать строки и колонки таблицы. Мы хотим видеть в строках номенклатуру, а в колонках склад. Будем действовать соответственно - перетащим при помощи мыши поле "Номенклатура" в табличное поле строк, а поле "Склад" в табличное поле колонок.
Нажмем кнопку "Далее >".
На следующем шаге нам будет предложено выбрать поля, по которым нужно упорядочивать. Мы не будем выбирать поля упорядочивания, а доверим системе 1С:Предприятие 8 самой решать как будет упорядочиваться отчет.
Нажмем кнопку "ОК" для завершения работы конструктора.
Созданные конструктором настройки система 1С:Предприятие 8 помещает в настройки схемы компоновки данных. Если в дальнейшем нам понадобится их изменить, мы сможем доработать их произвольным образом при помощи табличных полей или же снова воспользоваться конструктором.
На этом работа со схемой компоновки закончена, мы сделали все, что хотели: создали запрос, указали формулы для расчета ресурсов, создали настройки по умолчанию. Закроем конструктор.
После закрытия конструктора мы вернемся в форму отчета. В форме видно, что конфигуратор создал схему компоновки и установил ее в качестве основной схемы компоновки нашего отчета.
На этом работа по созданию отчета завершена. Посмотрим, как работает наш отчет в режиме 1С:Предприятие.
Запустим систему 1С:Предприятие, нажав F5. На вопрос системы о необходимости обновить конфигурацию базы данных ответим утвердительно.
В открывшемся окне 1С:Предприятия выберем в главном меню пункты Операции->Отчет.
В появившемся списке отчетов выберем наш отчет - "Остатки номенклатуры" и нажмем кнопку ОК.
На экране отобразится форма отчета. В верхней части формы расположена командная панель отчета. Все остальное пространство занимает табличный документ, в который будет выводиться результат отчета.
Выполним отчет, нажав на кнопку "Сформировать". Платформа начнет формирование отчета. При выполнении отчета в строке состояния системы 1С:Предприятие 8 отображается процент выведенного результата.
Если необходимо отменить вывод отчета, можно воспользоваться комбинацией клавиш Ctrl+Break.
Система выведет результат в табличный документ. Результат будет выглядеть, например, так:
При необходимости мы можем изменить настройки отчета, созданные нами по умолчанию.
Для этого можно воспользоваться конструктором настроек, или формой настроек. Вызвать их мы можем при помощи командной панели отчета.
Конструктор настроек в режиме 1С:Предприятие ничем не отличается от конструктора, которым мы пользовались при создании настроек по умолчанию в режиме Конфигуратор.
Форма же настроек в режиме 1С:Предприятие очень похожа на настройки из конструктора схемы компоновки данных:
Таким образом, выполнив несколько несложных шагов, мы создали отчет, который отображает нужную нам информацию, и обеспечили возможность гибкой настройки отчета пользователем в случае, если ему это понадобится.
В этой статье мы рассмотрели основные этапы, которые нужно пройти при создании отчета. Безусловно, это только начало знакомства с системой компоновки данных т.к. система компоновки предоставляет весьма много возможностей для получения, агрегации, оформления данных.
Для дальнейшего практического изучения системы компоновки можно обратиться к другим отчетам из демонстрационной конфигурации "Примеры 8.1". Информацию об устройстве системы компоновки данных можно найти в документации системы 1С:Предприятие 8.