Объект 1С «Отчеты»

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

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

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

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

Отличие внешних отчетов от встроенных:

  • нельзя обратиться к внешнему отчету «по имени», в отличие от встроенного отчета.

Отличия отчета от обработки:

  • отчеты нужны для отображения информации, а обработки — для изменения информации;
  • в отчетах можно указать Основную схему компоновки данных (СКД) и указать настройки для сохранения параметров отчетов.
В общем случае, для разработки отчетов используется конструктор СКД, что позволяет создавать отчеты без программирования. В то же время, отчет может быть построен полностью программно, с использованием объектов встроенного языка. 
Рисунок

Программная реализация отчета 1С

[свернуть]

Создание отчета на основе Системы компоновки данных (СКД)

Система компоновки данных представляет собой механизм, основанный на декларативном описании отчетов и предназначенный:

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

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

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

СКД имеет очень гибкий и функциональный конструктор, который позволяет описать :

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

Создание отчета на основе Системы компоновки данных (СКД)

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

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

Предопределенные варианты задаются в конструкторе СКД на закладке «Настройки»:

Рисунки

Выбор варианта СКД. Интерфейс «Формы в закладках»:

Выбор варианта СКД. Интерфейс "Формы в закладках"

Выбор варианта СКД. Интерфейс «Такси»:

Выбор варианта СКД. Интерфейс "Такси"

[свернуть]

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

Свойствах элемента пользовательских настроек

Настройка СКД 1С

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

Настройка системы компоновки данных 1С

[свернуть]

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

Настройка полей отчетов в системе компоновки данных 1С

Схема компоновки данных 1С

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

Схема компоновки данных может содержать:

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

В режиме 1С:Предприятие система автоматически, на основании схемы компоновки данных, содержащейся в отчете, может создать форму отчета и форму настроек отчета.

Конструктор настроек компоновки данных

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

Назначение конструктора настроек компоновки данных:

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

[свернуть]

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

Особенности использования системы компоновки данных:

  1. При использовании в системе компоновки данных диаграммы можно включить в выходную форму любое количество диаграмм без ограничения.
  2. В общем случае, текст запроса не подразумевает наложение условия на какую-то одну группу выводимых данных. Поэтому условия из отбора, установленного для группировки и указанного в настройках системы компоновки данных, в текст запроса не помещаются.
  3. В языке выражений системы компоновки данных можно использовать собственные функции (и при интерактивной, и при программной работе с системой компоновки данных). Функции должны быть описаны с ключевым словом «Экспорт» и расположены в любом общем модуле.
  4. Колонка в отчете, значение которой будет вычисляться по некоторым выражениям с использованием полей исходного набора данных, может быть создано в окне конструктора схемы компоновки (здесь рисунки):
    • в разделе «Вычисляемые поля»;
    • в разделе «Настройки» на закладке «Пользовательские поля».
  5. Параметр схемы компоновки данных может быть создан:
    • автоматически, на основании текста запроса;
    • интерактивно, в окне конструктора схемы компоновки данных в разделе «Параметры»;
    • программным образом.
  6. Результат вывода отчета представляется в виде, похожем на электронную таблицу, в каком элементе управления «Поле табличного документа».
  7. Настроить связь между полями внешней и вложенной схем можно:
    • в поле табличного документа;
    • в настройках внешней схемы.
  8. При настройке наборов данных в схеме компоновки данных установленный флаг «Автозаполнение» означает:
    • поля списка выборки запроса верхнего уровня становятся доступными для отбора, порядка, выбора, группировки (за исключением полей ряда типов);
    • поля виртуальных таблиц, на которые можно наложить условия в параметрах этих таблиц становятся доступными для отбора;
    • параметры виртуальных таблиц становятся доступными параметрами.

Создание отчета с помощью конструктора выходной формы

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

ВАЖНО! Конструктор доступен только для обычных форм.

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

Механизм основан на объекте встроенного языка 1С — ПостроительОтчета.

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.