К статье
Практический материал

Отчеты и Аналитика · 11 мин

Как добавить вариант отчета в справочник вариантов отчетов в 1С

Как добавить вариант отчета в справочник «Варианты отчетов» в 1С: через конфигуратор, программно и через настройки отчета. Разбор ошибок и проверка результата.

Справочник «Варианты отчетов» — центральный элемент подсистемы «Варианты отчетов» из Библиотеки стандартных подсистем (БСП), которая используется практически во всех типовых конфигурациях: УТ, ERP, Бухгалтерия предприятия, ЗУП. Именно в этом справочнике хранятся пользовательские и предопределенные варианты отчетов, которые отображаются в панелях отчетов и доступны пользователям через интерфейс.

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

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

Как устроен справочник «Варианты отчетов»

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

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

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

Добавление варианта из формы отчета в пользовательском режиме

Самый простой способ не требует доступа к конфигуратору. Откройте отчет, настройте нужные отборы, группировки и поля через кнопку «Настройки», затем нажмите «Еще» → «Сохранить вариант отчета» (в некоторых конфигурациях — «Сохранить настройки» или «Сохранить как»). В диалоге укажите наименование и доступность: «Только для меня» или «Для всех пользователей».

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

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

Сохранение варианта из формы отчета
  1. 1
    Откройте отчет и задайте нужные отборы и структуру через «Настройки»
  2. 2
    Нажмите «Еще» → «Сохранить вариант отчета»
  3. 3
    Введите наименование и выберите доступность: только для себя или для всех
  4. 4
    Откройте карточку варианта и командой «Разместить в разделах» укажите нужные разделы панели отчетов
  5. 5
    Проверьте, что вариант появился в панели отчетов и открывается с сохраненными настройками

Добавление предопределенного варианта в конфигураторе

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

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

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

bsl
Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт
	НастройкиОтчета.ОпределитьНастройкиФормы = Истина;
	ОписаниеВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ПродажиПоМесяцам");
	ОписаниеВарианта.Наименование = НСтр("ru = 'Продажи по месяцам'");
	ОписаниеВарианта.Описание = НСтр("ru = 'Динамика продаж в разрезе месяцев'");
	ОписаниеВарианта.Включен = Истина;
КонецПроцедуры

Программное создание элемента справочника

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

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

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

Размещение варианта в панели отчетов

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

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

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

Проверка результата и типичные проблемы

После добавления варианта проверьте три вещи: элемент есть в справочнике «Варианты отчетов» с правильной связкой «Отчет + КлючВарианта», вариант размещен в нужном разделе панели отчетов, отчет открывается по этому варианту именно с сохраненными настройками. Если хотя бы один пункт не выполняется — проблема локализуется быстро.

Наиболее частая жалоба — «вариант пропал после обновления». Причины: вариант был предопределенным, и его ключ изменили в конфигурации; обработчики обновления завершились с ошибкой; очистились служебные регистры. Вторая типичная ситуация — вариант есть в справочнике, но не виден пользователю: проверьте размещение, права на отчет и признак «ПометкаУдаления» у элемента справочника.

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

Контрольные точки

Как проверить результат

Элемент в справочнике «Варианты отчетов»
Норма

Заполнены Отчет, КлючВарианта, Наименование; нет пометки удаления

Тревожный признак

Дубли по ключу у одного отчета или пустой реквизит Отчет

Видимость в панели отчетов
Норма

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

Тревожный признак

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

Поведение после обновления
Норма

Предопределенный вариант не дублируется и не пропадает

Тревожный признак

После обновления появляются дубли или вариант исчезает

Типичные ошибки
01
Ручное изменение ключа предопределенного варианта — после обновления создается дубль с исходным ключом
02
Сохранение варианта без размещения в разделах — пользователь не находит отчет в панели
03
Описание варианта в модуле без создания варианта в СКД — ОписаниеВарианта возвращает пустое значение
04
Программное создание элемента без проверки существования — дубли ключей и непредсказуемое открытие отчета

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

Можно ли добавить вариант отчета без доступа к конфигуратору?

Да. Для этого достаточно прав на запуск отчета и сохранение вариантов: откройте отчет, настройте его и используйте команду «Сохранить вариант отчета» в меню «Еще». Элемент справочника создастся автоматически. Ограничить эту возможность можно настройкой прав профилей групп доступа.

Почему сохраненный вариант не виден другим пользователям?

Проверьте три условия: при сохранении выбрана доступность «Для всех пользователей», а не «Только для меня»; вариант размещен в разделе панели отчетов, доступном этим пользователям; у пользователей есть права на сам отчет. Чаще всего причина — доступность «только для автора».

Чем отличается пользовательский вариант от предопределенного?

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

Что делать, если после обновления появились дубли вариантов?

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

Как перенести вариант отчета в другую базу?

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

Можно ли добавить вариант для внешнего отчета?

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

Итог

Что важно запомнить

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