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

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

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

Подготовка среды и создание объекта метаданных

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

Найдите в дереве метаданных ветку Отчеты. Щелкните правой кнопкой мыши и выберите пункт «Добавить». В появившемся окне введите имя нового объекта, например, ОтчетПоПродажамМенеджеров. Синоним задайте более понятный для пользователя, например, «Анализ продаж по менеджерам».

После создания объекта откроется форма редактирования. Здесь важно сразу настроить основные свойства. Вкладка Макеты пока пуста, но именно здесь будет храниться визуальная структура. Перейдите на вкладку Компоновка данных, так как современный механизм построения отчетов базируется именно на СКД.

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

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

📊 Какой режим 1С вы используете чаще всего?
Конфигуратор
Предприятие (пользователь)
Тонкий клиент
Веб-клиент

Настройка схемы компоновки данных (СКД)

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

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

Пример простого запроса может выглядеть так:

ВЫБРАТЬ

СправочникНоменклатура.Наименование КАК Товар,

РегистрНакопленияПродажи.Количество КАК Количество,

РегистрНакопленияПродажи.Сумма КАК Сумма

ИЗ

РегистрНакопления.Продажи.Обороты(,, , ) КАК РегистрНакопленияПродажи

ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура

ПО РегистрНакопленияПродажи.Номенклатура = СправочникНоменклатура.Ссылка

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

💡

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

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

Конфигурирование полей и параметров отчета

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

Добавьте новый параметр, например, Период. Укажите тип Стандартный период. Это позволит выбирать «Этот месяц», «Квартал» или произвольные даты. Также часто требуется параметр Организация или Склад.

В тексте запроса эти параметры должны быть связаны с условиями отбора. Синтаксис выглядит следующим образом:

ГДЕ

РегистрНакопленияПродажи.Период МЕЖДУ &НачалоПериода И &КонецПериода

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

Параметр Тип значения Использование в запросе Обязательность
НачалоПериода Дата &НачалоПериода Да
КонецПериода Дата &КонецПериода Да
ВыбраннаяОрганизация СправочникСсылка.Организации &ВыбраннаяОрганизация Нет
ПоказыватьНулевыеОстатки Булево Условие в ГДЕ Нет

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

Настройка структуры и группировок

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

Добавьте группировку Товар в строки. Затем добавьте вложенную группировку Склад. Это позволит увидеть продажи каждого товара в разрезе конкретных мест хранения. Для колонок можно добавить группировку по Периодам, если нужен анализ в динамике.

☑️ Проверка структуры отчета

Выполнено: 0 / 5

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

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

⚠️ Внимание: Избегайте создания слишком глубокой вложенности группировок (более 3-4 уровней). Это затрудняет восприятие информации пользователем и может замедлить отрисовку отчета в интерфейсе.

Доработка логики через модуль объекта

Иногда возможностей одной лишь СКД недостаточно. В таких случаях используется модуль объекта отчета. Перейдите в форму редактирования отчета и откройте вкладку Модуль.

Здесь можно написать код на встроенном языке 1С. Чаще всего используется процедура ПриСформироватьНаСервере или обработка параметров перед формированием. Это позволяет реализовать сложную логику расчетов.

Пример кода для динамического изменения заголовка:

&НаСервере

Процедура ПриСформироватьНаСервере(Отчет, ТабличныйДокумент, ПараметрыКомпоновки, ПараметрыВыбора, ИнформацияОВыполнении)

// Получаем текущую дату

ТекущаяДата = ТекущаяДата();

// Формируем динамический заголовок

Отчет.КомпоновщикНастроек.ПараметрыДанных.Параметры.Вставить("ЗаголовокОтчета",

"Отчет сформирован: " + Формат(ТекущаяДата, "ДФ='dd.MM.yyyy'"));

КонецПроцедуры

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

Зачем нужен модуль формы?

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

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

Тестирование и публикация отчета

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

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

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

💡

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

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

⚠️ Внимание: Интерфейс и возможности конструктора отчетов могут незначительно отличаться в зависимости от версии платформы 1С (8.2, 8.3, 8.3.20+) и типа интерфейса (Такси, Обычный). Всегда сверяйте функционал с документацией к вашей конкретной версии платформы.

Часто задаваемые вопросы (FAQ)

Можно ли создать отчет без знания языка запросов 1С?

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

Почему отчет формируется слишком долго?

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

Как передать созданный отчет другому пользователю?

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

Можно ли использовать в отчете данные из нескольких информационных баз?

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

Что делать, если в отчете не отображаются некоторые документы?

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