Как заменить вариант отчета по умолчанию сразу для всех пользователей в 1С

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

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

Выясняем причину: почему простая замена не работает

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

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

Способ 1. Управление видимостью через панель отчетов

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

  1. Перейдем в раздел НСИ и администрирование — Настройка печатных форм, отчетов и обработок.
  2. Откроем гиперссылку Отчеты.
  3. В открывшемся списке найдем нужный нам отчет (например, «Продажи по номенклатуре»).
  4. Развернем список доступных вариантов этого отчета.
  5. Проанализируем список: найдем «стандартный» вариант, который нам больше не нужен.
  6. Нажмем правую кнопку мыши и выберем Изменить (или просто снимем галочку в колонке «Видимый» для всех разделов).
  7. Для нового (вашего) варианта, наоборот, убедимся, что флажки видимости проставлены в нужных разделах интерфейса.

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

Способ 2. Очистка настроек пользователей

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

  1. Зайдем в НСИ и администрирование — Настройки пользователей и прав.
  2. Выберем пункт Персональные настройки пользователей — Очистка настроек.
  3. В появившемся окне выберем Все пользователи (или конкретный список).
  4. Переключимся в режим Выбрать настройки.
  5. В дереве настроек найдем раздел Варианты отчетов.
  6. Найдем наш злополучный отчет и выделим его галочкой.
  7. Нажмем кнопку Очистить.

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

Способ 3. Копирование настроек от «эталонного» пользователя

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

Проанализируем порядок действий:

  1. Заходим под собой, открываем нужный отчет, выбираем правильный вариант и закрываем его. Теперь в вашем кэше этот вариант — последний выбранный.
  2. Идем в Администрирование — Настройки пользователей и прав — Копирование настроек.
  3. В поле От кого выбираем себя.
  4. В поле Кому выбираем Всем пользователям.
  5. Выбираем Скопировать только выбранные настройки.
  6. Нажимаем кнопку Выбрать, переходим на закладку Настройки отчетов.
  7. Находим наш отчет и отмечаем его. Обратите внимание, что нужно копировать именно «настройки отчетов», а не «настройки форм».

Способ 4. Программный метод (для разработчиков)

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

Рассмотрим пример кода, который работает с ХранилищеСистемныхНастроек. В данном случае мы обращаемся к ключу, по которому БСП хранит последний выбранный вариант:


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

Где ИмяОтчета — это имя объекта метаданных (например, "ПродажиПоНоменклатуре"), а КлючВарианта — уникальный идентификатор вашего нового варианта (его можно подсмотреть в справочнике «Варианты отчетов»).

Работа с регистром «Варианты отчетов»

Не забываем, что в системе существует регистр сведений (или справочник в новых версиях БСП) Варианты отчетов. Выясним, как он влияет на ситуацию. В нем есть реквизит По умолчанию (или логика определения основного варианта через приоритет). Если вы создали новый вариант, обязательно убедитесь, что в этом регистре:

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

Итоги

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

  1. Сделайте его видимым и основным в справочнике «Варианты отчетов».
  2. Обязательно очистите «Настройки отчетов» для всех пользователей через стандартную обработку Очистка настроек.
  3. Если нужно гарантировать результат — используйте Копирование настроек от эталонного пользователя.

Теперь вы обладаете полным арсеналом средств для управления вариантами отчетов и сможете обеспечить единообразие работы всех сотрудников в базе 1С.

← На главную