Как скопировать настройки варианта внешнего отчета другому пользователю в 1С:Управление торговлей 11

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей IT и автоматизация бизнеса
← На главную

В типовых конфигурациях 1С на базе Библиотеки стандартных подсистем (БСП), таких как «1С:Управление торговлей 11», предусмотрен удобный инструмент копирования пользовательских настроек (раздел Администрирование → Настройки пользователей и прав → Персональные настройки отчетов). Однако администраторы и пользователи часто сталкиваются с ситуацией, когда отчеты, подключенные через справочник ДополнительныеОтчетыИОбработки, отсутствуют в списке доступных для копирования отчетов.

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

Почему внешние отчеты не отображаются в типовом копировании настроек

Проанализируем архитектуру подсистемы БСП «Варианты отчетов» и «Копирование настроек пользователей». Штатная обработка копирования настроек работает исключительно с объектами коллекции Метаданные.Отчеты, то есть со встроенными в конфигурацию отчетами. Внешние отчеты, загруженные в информационную базу как элементы справочника дополнительных отчетов, не являются частью дерева метаданных конфигурации.

При сохранении настроек внешнего отчета платформа 1С использует специализированные ключи вида ВнешнийОтчет.<ИмяОтчета> или идентификаторы из справочника, сохраняя данные в системные хранилища. Типовой интерфейс администрирования настроек исключает подобные ключи из общего списка выбора.

Способ 1. Предоставление общего доступа к варианту отчета

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

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

Способ 2. Экспорт и импорт настроек через файл

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

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

Способ 3. Регистрация отчета через общий модуль конфигурации

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

Посмотрим на пример добавления отчета в экспортную процедуру НастроитьВариантыОтчетов:


Процедура НастроитьВариантыОтчетов(Настройки) Экспорт
    
    // Получаем описание настроек для нашего отчета
    // Если отчет встроен в метаданные или подключается на уровне конфигурации:
    НастройкиОтчета = ВариантыОтчетов.ОписаниеНастроек(Настройки, Метаданные.Отчеты.НашВнешнийОтчет);
    НастройкиОтчета.Поиск.КлючевыеСлова = НСтр("ru = 'продажи, валовая прибыль, внешние'");
    
КонецПроцедуры

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

Способ 4. Программный перенос настроек через хранилища 1С

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

Рассмотрим код для чтения и записи пользовательских настроек внешнего отчета:


Процедура СкопироватьНастройкиВнешнегоОтчета(ИмяВнешнегоОтчета, ПользовательИсточник, ПользовательПриемник)
    
    КлючОбъекта = "ВнешнийОтчет." + ИмяВнешнегоОтчета;
    
    // Получаем список сохраненных настроек пользователя-источника
    СписокНастроек = ХранилищеПользовательскихНастроекОтчетов.ПолучитьСписок(КлючОбъекта, ПользовательИсточник);
    
    Для Каждого ЭлементСписка Из СписокНастроек Цикл
        КлючНастроек = ЭлементСписка.Значение;
        
        // Загружаем настройки источника
        Настройки = ХранилищеПользовательскихНастроекОтчетов.Загрузить(КлючОбъекта, КлючНастроек, , ПользовательИсточник);
        
        // Сохраняем настройки в профиль пользователя-приемника
        Если Настройки <> Неопределено Тогда
            ХранилищеПользовательскихНастроекОтчетов.Сохранить(КлючОбъекта, КлючНастроек, Настройки, , ПользовательПриемник);
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры

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

Способ 5. Перенос отчета в расширение конфигурации

Наиболее современным и рекомендуемым способом для сохранения типовой конфигурации на полной поддержке является перенос внешнего отчета в Расширение конфигурации:

  1. Создадим новое расширение конфигурации с назначением Адаптация или Дополнение.
  2. Добавим внешний отчет в дерево метаданных созданного расширения в ветку Отчеты.
  3. Поскольку отчет становится полноценным объектом метаданных, подсистема БСП автоматически начинает обрабатывать его варианты и настройки.
  4. После применения расширения отчет появится в типовом интерфейсе Администрирование → Настройки пользователей и прав, и его параметры можно будет штатно копировать между пользователями.
← На главную