Администрирование платформы 1С:Предприятие 8 часто ставит перед специалистами задачу миграции учетных записей. Это может потребоваться при переезде на новый сервер, объединении информационных баз или переходе на файловый вариант работы. Процесс кажется простым, но скрывает подводные камни, связанные с уникальными идентификаторами и правами доступа.
Некорректное выполнение процедуры может привести к тому, что сотрудники потеряют возможность входа в систему или утратят назначенные роли. Важно понимать разницу между переносом списка пользователей и миграцией их персональных настроек. В этой статье мы подробно разберем штатные инструменты платформы и альтернативные методы решения задачи.
Подготовка к миграции учетных записей
Перед началом любых работ с конфигурацией необходимо создать полную резервную копию базы данных. Это базовое правило безопасности, которое позволит откатить изменения в случае сбоя. Убедитесь, что у вас есть права администратора информационной базы, так как обычные пользователи не могут управлять списком учетных записей.
Следующим шагом станет анализ текущей структуры прав. Если в вашей системе используется сложная иерархия ролей, имеет смысл задокументировать текущие настройки. Особое внимание уделите пользователям, которые авторизуются через операционную систему Windows. Их перенос требует специфического подхода, отличного от работы с пользователями информационной базы.
Проверьте список активных сеансов. Желательно проводить миграцию в нерабочее время, когда никто не подключен к базе. Это исключит конфликты блокировок и гарантирует целостность данных в момент изменения структуры справочников.
Перед началом работ обязательно сверьте версии платформы 1С на старом и новом сервере. Различия в версиях могут привести к некорректному чтению файлов выгрузки.
⚠️ Внимание: Если вы используете серверную версию SQL, убедитесь, что у учетной записи базы данных есть права на изменение системных таблиц. Ошибки прав доступа могут прервать процесс импорта на середине.
Экспорт пользователей через формат MXL
Самый надежный и штатный способ переноса — использование универсального формата MXL. Этот метод позволяет выгрузить не только имена и пароли, но и привязанные роли, а также настройки интерфейса. Для запуска процедуры откройте конфигурацию в режиме конфигуратора.
В меню выберите пункт Администрирование, затем перейдите в раздел Пользователи. Перед вами откроется список всех зарегистрированных учетных записей. Выделите нужных пользователей, удерживая клавишу Ctrl для множественного выбора, или используйте Ctrl+A для выделения всех.
После выделения нажмите кнопку Еще в нижней панели списка и выберите пункт Выгрузить пользователей.... Система предложит указать путь для сохранения файла. Формат файла по умолчанию будет *.mxl. Этот текстовый файл содержит структурированное описание объектов метаданных.
Важно отметить, что при выгрузке пароли пользователей информационной базы сохраняются в зашифрованном виде. Это означает, что при последующей загрузке на другом сервере пользователи смогут войти под своими старыми паролями без необходимости их сброса.
Импорт данных на целевом сервере
После успешной выгрузки файла необходимо перенести его на новый сервер или в новую базу данных. Запустите конфигуратор на принимающей стороне в режиме монопольного доступа. Это критически важное условие, так как изменение списка пользователей требует исключительного права на запись в системные таблицы.
Перейдите в тот же раздел меню: Администрирование -> Пользователи. Нажмите кнопку Еще и выберите опцию Загрузить пользователей.... В открывшемся окне проводника укажите путь к ранее сохраненному файлу .mxl.
Система проанализирует файл и предложит варианты обработки конфликтов, если пользователи с такими именами уже существуют. Обычно доступные варианты включают замену существующих записей или пропуск дубликатов. Для полноценной миграции чаще всего выбирают режим замены, чтобы обновить состав ролей.
☑️ Контроль качества импорта
По завершении процесса рекомендуется сразу же проверить результат. Попробуйте запустить базу в режиме предприятия под одним из перенесенных аккаунтов. Если вход выполнен успешно и интерфейс отображается корректно, процедура считается завершенной.
Особенности работы с аутентификацией Windows
Перенос пользователей, использующих аутентификацию ОС, имеет свои нюансы. В файле выгрузки MXL сохраняется имя пользователя в домене, но не его SID-идентификатор. При переезде в другой домен или рабочую группу связь может нарушиться.
Если вы переносите базу в пределах одного домена, проблем обычно не возникает. Система автоматически сопоставит имя пользователя с учетной записью в Active Directory. Однако при смене домена потребуется ручная перепривязка.
Для этого откройте карточку пользователя в списке и переключите тип аутентификации. Вам потребуется заново указать имя пользователя в формате DOMAIN\User. Пароль в этом случае не используется, так как проверка осуществляется контроллером домена.
| Тип аутентификации | Сохраняется в MXL | Требует ручной настройки | Зависимость от домена |
|---|---|---|---|
| 1С Предприятие | Да (пароль и роли) | Нет | Нет |
| ОС Windows | Только имя | Да (при смене домена) | Высокая |
| ОС Linux | Только имя | Да | Средняя |
| Внешний сервис | Настройки подключения | Да | Зависит от сервиса |
⚠️ Внимание: При миграции на сервер с другой операционной системой (например, с Windows на Linux) аутентификация Windows станет неработоспособной. Заранее подготовьте план перевода таких пользователей на стандартную аутентификацию 1С.
Перенос настроек и параметров системы
Список пользователей — это лишь часть конфигурации. Часто необходимо перенести и настройки системы, такие как адреса серверов печати, параметры взаимодействия с оборудованием или личные настройки интерфейса. Эти данные хранятся в регистрах сведений.
Для переноса сложных настроек используйте обработку Универсальный обмен данными в формате XML. Она входит в стандартную поставку платформы. Этот инструмент позволяет выгрузить не только справочники, но и регистры, связанные с пользователями.
Запустите обработку в режиме предприятия. Выберите режим выгрузки данных. В дереве объектов найдите раздел, отвечающий за системные настройки. Обычно это регистры сведений с префиксом НС или специальные справочники настроек.
Что делать, если обработка обмена выдает ошибку прав доступа?
Ошибка чаще всего возникает, если у пользователя, запускающего обработку, нет прав на чтение системных регистров. Запустите обработку от имени администратора системы или временно выдайте полные права на период миграции.
После формирования файла обмена перенесите его на целевую базу и выполните загрузку. Будьте осторожны: загрузка системных настроек может перезаписать локальные конфигурации нового сервера. Рекомендуется выполнять выборочную загрузку только необходимых параметров.
Автоматизация процесса через скрипты
Для крупных инфраструктур, где количество пользователей исчисляется сотнями, ручной метод через интерфейс может быть неэффективен. В таких случаях администраторы прибегают к скриптовой автоматизации на языке 1С или внешним утилитам.
Платформа позволяет подключаться к базе из внешнего скрипта и выполнять методы управления пользователями. Вы можете написать небольшую обработку, которая считает список из CSV-файла и создаст учетные записи программно.
Пример кода для создания пользователя программно:
Пользователь = Пользователи.Создать;
Пользователь.Имя ="ИвановИИ";
Пользователь.ПолноеИмя ="Иванов Иван Иванович";
Пользователь.УстановитьПароль("TempPass123");
Пользователь.Записать;
Использование скриптов дает гибкость в назначении прав. Вы можете автоматически распределять роли в зависимости от отдела сотрудника, указанного в исходном файле. Это снижает риск человеческой ошибки при рутинном назначении прав доступа.
Автоматизация через скрипты оправдана только при регулярной миграции или очень большом количестве пользователей. Для разовых операций стандартный интерфейс надежнее и быстрее.
⚠️ Внимание: Интерфейс программирования для работы с пользователями может меняться в разных версиях платформы. Скрипты, написанные для версии 8.3.10, могут потребовать доработки для версии 8.3.20. Всегда тестируйте код на копии базы.
Часто задаваемые вопросы
Можно ли перенести пользователей между файловой и серверной базой?
Да, формат MXL универсален и не зависит от типа хранения данных. Вы можете выгрузить пользователей из файловой базы на компьютере и загрузить их в серверную базу на MS SQL или PostgreSQL. Структура прав доступа при этом сохраняется полностью.
Что произойдет с историей действий пользователей после переноса?
История регистрации действий (журнал регистрации) хранится отдельно от списка пользователей. При переносе только учетных записей история не переносится. Если необходимо сохранить логи, нужно отдельно копировать файлы журнала регистрации или таблицы в базе данных SQL, привязывая их к новым идентификаторам пользователей.
Как перенести пользователей, если забыт пароль администратора?
Без прав администратора информационной базы выполнить выгрузку через интерфейс невозможно. В таком случае можно попробовать сбросить пароль администратора через утилиты командной строки 1Cv8Util (для файловых баз) или напрямую через SQL-запрос к системным таблицам (для серверных баз), после чего выполнить стандартную процедуру миграции.
Сохраняются ли личные настройки интерфейса (цвета, шрифты) при переносе?
Стандартная выгрузка пользователей в формате MXL переносит состав ролей и основные параметры, но личные настройки интерфейса (темы оформления, расположение панелей) часто хранятся в индивидуальных файлах настроек на рабочем месте пользователя или в специфических регистрах. Их переносить отдельно через обработку универсального обмена.
Можно ли объединить списки пользователей из двух разных баз?
Да, вы можете последовательно загружать файлы MXL из разных источников в одну целевую базу. Система предложит разрешить конфликты имен. Если в разных базах были пользователи с одинаковыми именами, но разными правами, вам придется вручную проверить итоговый состав ролей для таких записей после импорта.