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