Как правильно копировать и сохранять варианты отчетов в 1С:ERP?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Промышленность, строительство и АПК
← На главную

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

Разбираемся в архитектуре: отчет против варианта отчета

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

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

Как сохранить и перенести настройки варианта отчета

Если вам нужно перенести настройки отчета, которые вы видите у пользователя, следуйте этим шагам:

  1. Откройте нужный отчет в режиме 1С:Предприятие в той базе, где эти настройки уже существуют.
  2. В меню управления отчетом (обычно кнопка «Еще» или значок настроек) выберите пункт «Сохранить настройки».
  3. Система предложит сохранить настройки в файл формата .xml.
  4. Перейдите в целевую базу (куда нужно перенести настройки), откройте там эту же внешнюю обработку (или отчет).
  5. В меню настроек выберите пункт «Загрузить настройки» и укажите сохраненный ранее файл.

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

Программное управление вариантами отчета

Иногда возникает необходимость задавать параметры отчета программно, например, при открытии или при добавлении новых пользователей. Рассмотрим, как это можно реализовать с помощью кода 1С.

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


// Пример программного поиска и установки варианта отчета
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ЭтотОбъект.АналитическийОтчет = Справочники.ПроизвольныеОтчеты.НайтиПоКоду("000000000001");
    ЭтотОбъект.НаименованиеВарианта = "МойВариантОтчета";

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |   СохраненныеНастройки.Ссылка
        |ИЗ
        |   Справочник.СохраненныеНастройки КАК СохраненныеНастройки
        |ГДЕ
        |   СохраненныеНастройки.Наименование = &Наименование
        |   И СохраненныеНастройки.НастраиваемыйОбъект = &НастраиваемыйОбъект";

    Запрос.УстановитьПараметр("Наименование", ЭтотОбъект.НаименованиеВарианта);
    Запрос.УстановитьПараметр("НастраиваемыйОбъект", ЭтотОбъект.АналитическийОтчет);

    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();

    Если Выборка.Следующий() Тогда
        ЭтотОбъект.ВариантОтчета = Выборка.Ссылка;
    КонецЕсли;
КонецПроцедуры

Почему в разных базах отчеты выглядят по-разному?

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

Рекомендация: Для анализа логики отчета всегда начинайте с открытия Схемы компоновки данных в Конфигураторе. Там вы увидите все доступные поля и запросы. Если же вам нужно понять, как отчет настроен именно «для пользователя», открывайте его в Предприятии, переходите в панель настроек (кнопка «Расширенный») и изучайте структуру группировок и отборов, которые были применены в конкретном варианте.

← На главную