Перенос пользователей в современных конфигурациях 1С — это далеко не тривиальная задача, особенно когда речь идет о переходе между мажорными версиями, такими как Управление торговлей 11.4 и 11.5. В этой статье мы разберем, почему стандартные обработки выгрузки и загрузки могут давать сбой, проанализируем архитектурные изменения в системе прав и выясним, как обеспечить универсальный перенос пользователей, настроек и прав доступа без потери данных.
Прежде всего, нам необходимо осознать, что в конфигурациях на базе БСП (Библиотека стандартных подсистем), к которым относится УправлениеТорговлей, понятие «пользователь» разделено на две части. Первая — это Пользователь информационной базы (ИБ), который живет на уровне платформы и отвечает за аутентификацию (логин/пароль). Вторая — это элемент справочника Пользователи, который содержит бизнес-данные: подразделение, физическое лицо, настройки интерфейса и права доступа.
Рассмотрим ситуацию, когда при загрузке 4 администратора перенеслись успешно, а остальные 80 выдают ошибку. Почему так происходит? Разберем по шагам: для администраторов часто не требуются строгие связи с бизнес-сущностями (физлицами или подразделениями), в то время как для рядовых сотрудников в версии 11.5 могут быть включены жесткие проверки на заполнение реквизитов. Чтобы избежать потери персональных конфигураций рабочего стола и панелей, рекомендуем использовать решение для выгрузки-загрузки настроек пользователей через внешний файл. Проанализируем типичную структуру данных пользователя, которую выдает обработка выгрузки:
Иванов И.И.
Иванов Иван Иванович
true
fEqNCco3Yq9h5ZUglD3CZJT4lBs=
6e5b376c-7982-4619-9d8d-d9152bd4c350
ПолныеПрава
Если в новой базе уже существует пользователь с таким же UUID или Name, платформа может заблокировать создание новой записи, выдав неинформативную ошибку. Чтобы избежать этого, рекомендуется использовать инструменты, выполняющие выгрузку и загрузку пользователей ИБ с сохранением UUID. Нам следует всегда проверять Журнал регистрации в режиме Конфигуратор, чтобы увидеть детальный текст исключения.
Одной из главных причин «затыка» при загрузке является фундаментальное изменение состава ролей в УТ 11.5. Мы часто сталкиваемся с тем, что названия ролей в старой и новой версиях идентичны, но их внутренняя структура изменилась. Перед началом миграции стоит провести предварительный анализ и сравнение ролей, чтобы понять, какие объекты были исключены или добавлены. Рассмотрим подробнее:
Пользователи новой базы могут быть добавлены новые обязательные поля. Старая обработка о них «не знает» и пытается записать объект с пустыми значениями, что вызывает отказ.Существует миф, что пароли из 1С выгрузить нельзя. На самом деле, мы можем выгрузить хеш пароля. В XML-файле он представлен в теге StoredPasswordValue. Используя специализированный инструмент переноса пользователей для БСП 3.0 / 3.1, можно сохранить доступ сотрудникам без необходимости сброса паролей. Однако более надежным и современным методом является автоматизированная синхронизация пользователей между ИБ, прав и групп доступа через веб-сервисы, которая позволяет передавать данные в типизированном формате XDTO.
Хеш-сумма — это не сам пароль, а его «отпечаток». При загрузке в новую базу мы записываем этот отпечаток в объект ПользовательИнформационнойБазы. Если версии платформ на источнике и приемнике совместимы, пользователь сможет войти под своим старым паролем. Если же вы видите ошибку именно на этапе записи пароля, скорее всего, дело в защищенном режиме или нехватке прав у учетной записи, под которой запускается загрузка.
Чтобы успешно завершить перенос, давайте воспользуемся следующим алгоритмом действий:
Нарушение уникальности или Поле 'Подразделение' не заполнено.ФизическиеЛица и Подразделения. В случаях, когда после загрузки права отображаются некорректно, можно выполнить точечный пересчет прав доступа для пользователя или группы, что принудительно обновит ограничения на уровне платформы.ПользователиИнформационнойБазы.СоздатьПользователя(). Установка точки останова на блоке Попытка...Исключение позволит увидеть описание ошибки в переменной ИнформацияОбОшибке().Проанализируем ситуацию с правами доступа. В УТ 11.5 логика прав строится на Группах доступа. Мы рекомендуем не переносить «сырые» роли через обработку, а действовать следующим образом: загружаем только пользователей (логины и ФИО), а затем в новой базе назначаем им Профили групп доступа вручную или через групповую обработку справочника Пользователи. Это гарантирует, что структура прав будет соответствовать логике новой версии конфигурации и не приведет к конфликтам при последующих обновлениях.
Помните, что автоматизация — это хорошо, но при переходе между разными версиями программного продукта «ручная» проверка ключевых сотрудников (администраторов, бухгалтеров) обязательна. Это позволит избежать ситуаций, когда пользователи не могут работать из-за отсутствия доступа к новым регистрам или константам, появившимся в версии 11.5.