Как скопировать индивидуальные настройки формы документа «Увольнение» другим пользователям в 1С:Предприятие 8.3

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

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

Способ 1. Стандартный механизм копирования настроек через администрирование

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

Разберем по шагам, как запустить этот процесс:

  1. Перейдем в раздел меню «Администрирование».
  2. В открывшемся окне выберем пункт «Настройка пользователей и прав».
  3. Развернем группу параметров «Персональные настройки пользователей» и перейдем по гиперссылке «Копирование настроек».
  4. В появившемся диалоговом окне нам необходимо заполнить ключевые параметры:
    • Кому копировать: выберем конкретного пользователя или сразу список сотрудников (например, весь отдел кадров), которым мы хотим передать измененный интерфейс.
    • Что копировать: установим переключатель в положение «Выбранные настройки».
  5. В списке доступных настроек найдем требуемый объект. На этом этапе у многих администраторов возникает ступор, так как в списке могут отображаться схожие элементы. Проанализируем эту ситуацию подробнее ниже.

Важная деталь: Различие между «Увольнение» и «Увольнения»

При выборе настроек для копирования в списке объектов метаданных вы можете обнаружить две очень похожие строчки: одна в единственном числе («Увольнение»), другая во множественном («Увольнения»). Выясним причину такого дублирования:

Для нашей задачи (перенос положения кнопок командной панели внутри документа) выбираем строчку в единственном числе — «Увольнение».

Почему копирование настроек может «не работать»: Главный нюанс с активными сеансами

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

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

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

  1. Попросите целевых пользователей закрыть программу 1С.
  2. Убедитесь через «Активные пользователи» (в консоли кластера или в самой программе), что их сеансы завершены.
  3. Выполните процедуру копирования настроек.
  4. Попросите пользователей снова запустить 1С — изменения вступят в силу.

Способ 2. Предварительная очистка кэша и старых настроек

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

  1. В том же подразделе настроек пользователей перейдите по ссылке «Очистка настроек».
  2. Выберите нужного пользователя.
  3. Найдите в списке форму документа Документ.Увольнение.Форма.ФормаДокумента.
  4. Нажмите кнопку «Очистить».
  5. Только после этого запускайте процедуру копирования новых настроек.

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

%userprofile%\AppData\Local\1C\1Cv8 и %userprofile%\AppData\Roaming\1C\1Cv8 (удалению подлежат папки с длинными шестнадцатеричными именами-идентификаторами баз).

Способ 3. Использование механизма «Общих настроек форм»

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

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

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

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

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

Рассмотрим пример кода, который выполняет копирование настроек формы документа от одного пользователя к другому:


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

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

Способ 5. Самый надежный метод — создание Расширения конфигурации

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

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

Рассмотрим алгоритм создания такого расширения:

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

&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    
    // Проверяем, обладает ли текущий пользователь ролью Кадровик
    Если РольДоступна("Доступ ККадровымДокументам") Тогда
        // Скрываем ненужные элементы или перемещаем кнопки на командной панели программно
        Элементы.ГруппаКоманднаяПанельВажныеКнопки.Видимость = Ложь;
    КонецЕсли;
    
КонецПроцедуры

Преимущества использования расширения:

Таким образом, для быстрого решения разовой задачи отлично подойдет стандартный механизм копирования настроек через меню «Администрирование». Главное — не забывать о завершении активных сеансов пользователей и правильном выборе объекта («Увольнение» для формы документа и «Увольнения» для формы списка). Если же изменения формы масштабны и критичны для бизнес-процесса компании, лучшим выбором станет создание небольшого расширения конфигурации.

← На главную