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