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