При администрировании, обновлении или отладке программ на платформе «1С:Предприятие 8.3» (особенно современных конфигураций, таких как 1С:Документооборот, 1С:ERP, 1С:Управление торговлей) специалисты часто сталкиваются с неприятной ситуацией. После создания учетной записи в Конфигураторе для последующего запуска под ней сеанса отладки система выдает предупреждение: «Не зарегистрирован в списке пользователей» и закрывает программу. Попытки повторного входа ни к чему не приводят.
В этой статье мы подробно разберем архитектурные причины этой ошибки, выясним, почему прямая привязка в Конфигураторе больше не работает, и рассмотрим пошаговые сценарии корректного заведения пользователей, а также способы решения проблемы «зависания» базы при попытке ручного сопоставления учетных записей.
В старых версиях платформ и конфигураций (на обычных формах) список пользователей в Конфигураторе был единственным и определяющим. В современных же решениях, построенных на базе Библиотеки стандартных подсистем (БСП), архитектура претерпела кардинальные изменения. Управление доступом теперь жестко разделено на два уровня:
Пользователи (прикладной уровень): Живут в режиме «1С:Предприятие». Именно здесь настраиваются роли, профили групп доступа, разделение на уровне записей (RLS), привязка к подразделениям, физическим лицам и рабочим группам.Связь между этими сущностями осуществляется на уровне базы данных по уникальному идентификатору (UUID). Если вы создаете пользователя исключительно в Конфигураторе, платформа получает «сироту» — пользователя информационной базы, для которого в режиме Предприятия нет соответствующего элемента в справочнике Пользователи. Программа не может инициализировать параметры сеанса, определить права доступа и настройки интерфейса для этого UUID, вследствие чего мгновенно блокирует вход.
Рассмотрим золотое правило работы в БСП-конфигурациях: всегда создавайте пользователей исключительно в режиме «1С:Предприятие»!
Разберем этот процесс по шагам:
В момент записи элемента справочника система 1С программно, под капотом, обратится к платформенным механизмам и сама создаст пользователя в Конфигураторе с точно таким же UUID. В результате связь будет установлена корректно и без ошибок.
Если вы уже создали пользователя в Конфигураторе и не хотите его удалять, можно попытаться выполнить сопоставление вручную. Проанализируем, как это сделать:
Пользователи.Часто при выполнении процедуры ручного сопоставления (описанной выше) или при записи карточки пользователя система «намертво» зависает. Администраторам приходится аварийно завершать процесс через диспетчер задач. Выясним причины такого поведения системы и рассмотрим методы борьбы с ним.
Основная причина зависания — это тяжелый расчет ограничений прав доступа (RLS) и связанных объектов в конфигурации 1С:Документооборот. При сохранении пользователя БСП инициирует транзакционный пересчет прав по всей базе данных. Система начинает заполнять служебные регистры сведений, такие как ПраваПоЗначениямДоступа или КэшПравПользователей. В крупных базах данных этот процесс может занимать длительное время, блокируя таблицы СУБД.
Для решения этой проблемы применим следующие методы:
Это самый эффективный способ избежать зависания интерфейса. Мы можем перенести тяжелые расчеты прав из активного сеанса пользователя в фоновые регламентные задания.
После включения этой опции запись и сопоставление пользователей будут проходить мгновенно, а расчет RLS выполнится постепенно в фоновом режиме.
Если сопоставление вызывает бесконечные ошибки или блокировки, самым надежным решением будет полная очистка некорректной записи:
Пользователи, как описано в регламенте выше. Платформа сама сгенерирует чистые и корректные связи.Если база данных сильно нагружена, транзакция записи пользователя может войти в клинч (deadlock) с работающими фоновыми процессами (например, с полнотекстовым поиском или извлечением текстов файлов в Документообороте).
Рекомендуется выполнять сопоставление или первичное заведение пользователей в техническое окно, предварительно завершив активные сеансы других пользователей и временно заблокировав выполнение регламентных заданий в консоли администрирования кластера 1С.