Список пользователей, права и пароли: как перенести их из базы 1С

· 9 мин

Содержание

Выгрузить пользователя 1С можно тремя путями. Нужен просто список для отчёта — откройте Администрирование → Настройки пользователей и прав → Пользователи и выведите список в таблицу через меню Ещё. Нужно перенести пользователей вместе с паролями и ролями — выгрузите всю базу в файл .dt или запустите внешнюю обработку , которая сохранит пользователей в XML.

Выбор зависит от задачи. Аудитору хватит таблицы Excel. Для переезда на новый сервер подойдёт .dt. А если нужно перенести только учётные записи в другую, уже рабочую базу, без обработки не обойтись: штатной кнопки «выгрузить одного пользователя» в платформе нет.

Что именно хранится в «пользователе» 1С

У пользователя в типовой конфигурации на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) две половины. От этого зависит, какой способ выгрузки сработает.

  • 🔑 Пользователь информационной базы. Живёт на уровне платформы. Это имя для входа, хеш пароля, флаги аутентификации (1С, ОС, OpenID), привязка к учётной записи Windows, список ролей. Видна в Конфигураторе.
  • 📇 Элемент справочника «Пользователи». Это данные конфигурации: ФИО, физлицо, подразделение, контакты, членство в группах доступа. Видна в режиме Предприятие.
  • 🔗 Связь между ними — служебный идентификатор пользователя ИБ, записанный в элементе справочника.

Отсюда главное правило:

Что переноситеПользователь ИБ (логин, пароль, роли)Справочник «Пользователи», группы доступа
Список в Excelтолько именаФИО и реквизиты списка
Файл .dtда, полностьюда, полностью
Универсальная выгрузка XMLнетда
Своя обработка через ПользователиИнформационнойБазыданет (нужно отдельно)

Универсальная обработка обмена данными в XML переносит только справочники и документы. Учётные записи платформы она не видит. Поэтому после такой загрузки элементы справочника есть, а войти под ними нельзя.

Выгрузка списка пользователей в Конфигураторе

Конфигуратор показывает «чистых» пользователей ИБ — без кадровых реквизитов.

  1. Запустите базу в режиме Конфигуратор под учётной записью с ролью полного администратора.
  2. Откройте Администрирование → Пользователи.
  3. В списке видны имя, полное имя, способы аутентификации.
  4. Откройте пользователя двойным щелчком. На вкладке Основные — логин и аутентификация, на вкладке Прочие — роли, основной язык и режим запуска.

Если нужен перечень в виде таблицы, используйте команду вывода списка: она есть в контекстном меню списка и выгружает видимые колонки в табличный документ. Дальше Файл → Сохранить как и формат .xlsx или .mxl.

Ролей в этой таблице не будет: роли видны только внутри карточки. Для аудита прав удобнее режим Предприятие или обработка из раздела ниже.

Смотреть список можно, пока бухгалтеры работают в базе. Но сохранять изменения в пользователях, когда у человека открыт сеанс, бессмысленно: новые роли он получит только после перезахода.

Как выгрузить пользователей из режима Предприятие

В конфигурациях на БСП список пользователей удобнее брать отсюда: тут есть ФИО, подразделения и группы доступа.

  1. Откройте Администрирование → Настройки пользователей и прав.
  2. Перейдите по ссылке Пользователи.
  3. Настройте колонки: Ещё → Изменить форму — добавьте нужные реквизиты.
  4. Выберите Ещё → Вывести список.
  5. Отметьте колонки, укажите вывод в табличный документ, нажмите ОК.
  6. Сохраните результат: Файл → Сохранить как (кнопка с дискетой в шапке табличного документа), формат «Лист Excel».

Для отчёта о правах там же есть раздел Группы доступа — каждая группа показывает профиль и участников. Список групп выгружается тем же Ещё → Вывести список.

Флажок «Вход в программу разрешён» в карточке пользователя — признак того, что за элементом справочника стоит пользователь ИБ. Если флажок снят, учётной записи платформы может не быть вовсе, и в Конфигураторе вы этого человека не найдёте.

Для служебной записки обычно хватает трёх колонок: «Полное имя», «Подразделение», «Вход в программу разрешён». Отключённых сотрудников отфильтруйте по пометке недействительности — в БСП она показывает уволенных.

Выгрузка базы вместе с пользователями в файл .dt

Это самый надёжный способ, если пользователей нужно перенести на другой компьютер или сервер целиком. Файл .dt — полная выгрузка: конфигурация, данные и весь список пользователей ИБ с хешами паролей. После загрузки люди входят под прежними логинами и паролями.

Выгрузка

  1. Откройте базу в Конфигураторе.
  2. Администрирование → Выгрузить информационную базу.
  3. Укажите путь и имя файла, например D:\backup\buh_2026.dt.
  4. Дождитесь сообщения о завершении.

Монопольный режим для выгрузки не требуется, но данные, которые меняются во время выгрузки, могут попасть в файл в промежуточном состоянии. Лучше выгружать вечером.

Ту же операцию можно запустить из командной строки — пригодится для планировщика заданий:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB"D:\backup\buh.dt" /Out"D:\backup\dump.log"

Номер версии в пути замените на установленный у вас. Для клиент-серверной базы вместо /F укажите /S"имя_сервера\имя_базы".

Загрузка

  1. Создайте в списке баз пустую информационную базу.
  2. Откройте её в Конфигураторе.
  3. Администрирование → Загрузить информационную базу, выберите .dt.
  4. Подтвердите замену данных.

Загрузка .dt полностью заменяет базу-приёмник: конфигурацию, данные и пользователей. Никогда не загружайте файл в рабочую базу, не сделав её выгрузку.

Загрузка требует монопольного доступа: все сеансы в базе-приёмнике должны быть закрыты.

Как проверить, что пользователи переехали

  • 👤 В Конфигураторе новой базы откройте Администрирование → Пользователи и сверьте количество записей с исходной базой.
  • 🔐 Попросите одного сотрудника войти под своим обычным паролем. Если вход прошёл, хеши паролей перенеслись.
  • 🧾 В режиме Предприятие откройте пару карточек и проверьте группы доступа: права должны совпасть с исходной базой.

Если база стоит на новом сервере, заодно проверьте, что у сотрудников в списке баз прописан новый адрес — иначе они продолжат работать в старой копии.

Если нужен один пользователь, а не вся база

.dt не умеет переносить выборочно. Есть обходной приём: разверните .dt во временную базу, удалите лишних пользователей и данные не трогайте — затем перенесите нужные учётные записи обработкой из раздела про автоматизацию. Проще сразу сделать обработку на исходной базе.

Особенности клиент-серверного варианта

В клиент-серверной базе пользователи хранятся в СУБД (MS SQL Server или PostgreSQL) вместе с данными. Отсюда три следствия.

  • 🗄️ Бэкап СУБД переносит пользователей. Резервная копия базы средствами SQL Server или pg_dump содержит и учётные записи 1С. Восстановили копию под другим именем, зарегистрировали её в кластере — пользователи на месте.
  • 🖥️ Файлы пишутся на сервер. Если обработка выполняет запись в файл в серверной процедуре, файл появится на сервере 1С, а не на вашем компьютере. Путь должен быть доступен учётной записи, от которой работает служба агента сервера 1С.
  • 🔐 Аутентификация ОС. Записи вида \\DOMAIN\ivanov переносятся как есть. Если новый сервер в другом домене, вход по Windows-аутентификации перестанет работать, пока вы не поправите поле «Пользователь ОС».

Для серверных баз 8.3 есть утилита ibcmd. Она умеет выгружать и загружать информационную базу без запуска Конфигуратора. Набор параметров зависит от версии платформы, поэтому сверяйтесь со справкой ibcmd help infobase.

Восстановление бэкапа SQL поверх существующей базы обрывает все сеансы в ней. Делайте это вне рабочего времени и предупредите пользователей.

Разницу удобно держать в голове так:

ВариантГде пользователиКак переносить целиком
Файловыйв файле 1Cv8.1CDкопия каталога базы или .dt
Клиент-серверныйв базе СУБДбэкап СУБД или .dt

Копировать 1Cv8.1CD можно только при закрытых сеансах: файл, скопированный во время работы, может оказаться повреждённым.

Автоматизация: обработка выгрузки пользователей в XML

Когда нужно перенести 20 бухгалтеров из старой базы в новую, рабочую, .dt не подходит: он затрёт данные. Тогда пишут внешнюю обработку на объекте ПользователиИнформационнойБазы.

Опорные приёмы практика:

  • 🧩 Список учётных записей даёт ПользователиИнформационнойБазы.ПолучитьПользователей().
  • 🔒 Пароль не читается в открытом виде, но его хеш доступен в свойстве СохраняемоеЗначениеПароля. Перенесите хеш — пароль в новой базе останется прежним.
  • 🎭 Роли — коллекция объектов метаданных. Переносите их по имени и ищите в базе-приёмнике через Метаданные.Роли.Найти(Имя): если роли там нет, её надо пропустить, а не падать с ошибкой.

Выгрузка в файл

Создайте обработку в Конфигураторе (Файл → Новый → Внешняя обработка), добавьте форму с командой и вставьте в модуль формы:

&НаСервереБезКонтекста
Процедура ВыгрузитьПользователей(ИмяФайла)

	УстановитьПривилегированныйРежим(Истина);

	Запись = Новый ЗаписьXML;
	Запись.ОткрытьФайл(ИмяФайла, "UTF-8");
	Запись.ЗаписатьОбъявлениеXML();
	Запись.ЗаписатьНачалоЭлемента("Users");

	Для Каждого Пользователь Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
		Запись.ЗаписатьНачалоЭлемента("User");
		Запись.ЗаписатьАтрибут("Name", Пользователь.Имя);
		Запись.ЗаписатьАтрибут("FullName", Пользователь.ПолноеИмя);
		Запись.ЗаписатьАтрибут("OSUser", Пользователь.ПользовательОС);
		Запись.ЗаписатьАтрибут("StdAuth", XMLСтрока(Пользователь.АутентификацияСтандартная));
		Запись.ЗаписатьАтрибут("OSAuth", XMLСтрока(Пользователь.АутентификацияОС));
		Запись.ЗаписатьАтрибут("PasswordHash", Пользователь.СохраняемоеЗначениеПароля);
		Для Каждого Роль Из Пользователь.Роли Цикл
			Запись.ЗаписатьНачалоЭлемента("Role");
			Запись.ЗаписатьТекст(Роль.Имя);
			Запись.ЗаписатьКонецЭлемента();
		КонецЦикла;
		Запись.ЗаписатьКонецЭлемента();
	КонецЦикла;

	Запись.ЗаписатьКонецЭлемента();
	Запись.Закрыть();

КонецПроцедуры

&НаКлиенте
Процедура Выгрузить(Команда)
	ВыгрузитьПользователей("C:\Temp\users.xml");
	Сообщить("Готово");
КонецПроцедуры

Чтобы выгрузить одного пользователя, замените цикл на ПользователиИнформационнойБазы.НайтиПоИмени("Иванова") и проверьте результат на Неопределено.

Загрузка в другую базу

На стороне приёмника читаете файл через ЧтениеXML и для каждого элемента User делаете так:

&НаСервереБезКонтекста
Процедура СоздатьПользователя(Имя, ПолноеИмя, ХешПароля, ИменаРолей)

	УстановитьПривилегированныйРежим(Истина);

	Пользователь = ПользователиИнформационнойБазы.НайтиПоИмени(Имя);
	Если Пользователь = Неопределено Тогда
		Пользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
		Пользователь.Имя = Имя;
	КонецЕсли;

	Пользователь.ПолноеИмя = ПолноеИмя;
	Пользователь.АутентификацияСтандартная = Истина;
	Пользователь.СохраняемоеЗначениеПароля = ХешПароля;

	Пользователь.Роли.Очистить();
	Для Каждого ИмяРоли Из ИменаРолей Цикл
		Роль = Метаданные.Роли.Найти(ИмяРоли);
		Если Роль <> Неопределено Тогда
			Пользователь.Роли.Добавить(Роль);
		КонецЕсли;
	КонецЦикла;

	Пользователь.Записать();

КонецПроцедуры

ИменаРолей — массив строк из элементов Role. Обработку запускают через Файл → Открыть под пользователем с полными правами.

В конфигурациях на БСП роли назначаются не напрямую, а через профили групп доступа. После загрузки обработкой зайдите в Предприятие, откройте пользователя и включите его в нужные группы доступа — иначе при следующей записи карточки БСП пересчитает роли и уберёт лишние.

Перед переносом пользователей в рабочую базу
Выполнено: 0 / 5

Ошибки при выгрузке и переносе и как их устранить

Диагностика: выберите симптом

Ещё одна ловушка — пароль администратора. Если в исходной базе был единственный администратор с забытым паролем, .dt перенесёт ту же проблему: учётная запись придёт с тем же хешем. Готовьте рабочий логин администратора до выгрузки.

Частые вопросы

Можно ли узнать пароль пользователя после выгрузки?
Нет. 1С хранит только хеш пароля. Его можно перенести в другую базу, но расшифровать в исходный пароль нельзя — только задать новый.
Переносятся ли персональные настройки — отборы, вид форм, избранное?
При загрузке .dt — да, они лежат в базе. Обработка из статьи их не трогает. В БСП для этого есть отдельная функция копирования настроек между пользователями внутри одной базы.
Можно ли выгрузить пользователей без прав администратора?
Нет. Чтение списка пользователей ИБ и их ролей требует административных прав. Обычный пользователь видит только справочник «Пользователи» в пределах своих прав.
Сколько пользователей переносит .dt?
Всех, без ограничений. Выборочно .dt не работает: либо вся база, либо ничего.
Работает ли обработка в облачной базе 1С:Фреш?
Внешние обработки там подключаются по особым правилам сервиса, а пользователями управляет менеджер сервиса. Переносите пользователей средствами самого сервиса.