Администрирование · 11 мин
Как получить идентификатор пользователя в 1С
Способы узнать идентификатор пользователя в 1С: через конфигуратор, встроенный язык, справочник пользователей и уникальный идентификатор GUID. Примеры кода и ошибки.
Под идентификатором пользователя в 1С могут пониматься разные вещи: уникальный идентификатор (GUID) элемента справочника «Пользователи», идентификатор пользователя информационной базы, имя пользователя для входа или код элемента справочника. Прежде чем искать значение, определите, какой именно идентификатор нужен: для настройки прав, для интеграции по COM или веб-сервису, для журнала регистрации или для программной обработки.
Чаще всего задача возникает в трёх сценариях: администратору нужно найти конкретного пользователя в списке, разработчику — получить GUID текущего пользователя в коде, а специалисту по интеграции — выяснить идентификатор для обмена данными между базами. Ниже разобраны все основные способы — от просмотра в интерфейсе до запросов на встроенном языке.
Способ 1. Просмотр пользователя через конфигуратор
Самый прямой путь — открыть список пользователей в конфигураторе. Запустите базу в режиме «Конфигуратор», перейдите в меню «Администрирование» → «Пользователи». Откроется список учётных записей информационной базы, где видны имя пользователя, полное имя и признаки аутентификации.
Двойной щелчок по строке открывает карточку пользователя с вкладками: основные свойства, роли, аутентификация, прочие настройки. Имя пользователя, указанное здесь, — это тот логин, под которым человек входит в базу. Уникальный идентификатор в этом окне напрямую не отображается, но его можно получить программно (об этом ниже) или через инструменты разработчика.
Способ подходит, когда нужно быстро уточнить, какие пользователи заведены в базе, проверить состав ролей или найти учётную запись по фамилии. Ограничение: требуется право «Администрирование» и доступ к конфигуратору, которого у рядовых пользователей обычно нет.
Способ 2. Справочник «Пользователи» в режиме предприятия
В типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, ERP, Зарплата и управление персоналом) есть справочник «Пользователи». Он находится в разделе «Администрирование» → «Настройка прав и пользователей» → «Пользователи». Здесь хранятся не учётные записи платформы, а элементы справочника, связанные с ними.
Чтобы увидеть уникальный идентификатор элемента справочника, откройте карточку пользователя и посмотрите на адресную строку навигационной ссылки: нажмите «Ещё» → «Получить ссылку» (или сочетание клавиш, предусмотренное конфигурацией). В ссылке вида e1cib/data/Справочник.Пользователи?ref=... зашифрован GUID элемента — именно он используется при обменах и интеграциях.
Если в справочнике пользователь есть, а войти в базу он не может, проверьте связь элемента с учётной записью: в карточке пользователя должно быть указано, что ему разрешён вход в программу, и задано имя для входа. Рассинхронизация справочника и списка пользователей ИБ — типичная ситуация после восстановления базы из копии.
Способ 3. Получение идентификатора программно
Для разработчиков основной инструмент — объект метаданных ПользователиИнформационнойБазы. Получить текущего пользователя и его уникальный идентификатор можно так:
ТекущийПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
Идентификатор = ТекущийПользовательИБ.УникальныйИдентификатор;
ИмяПользователя = ТекущийПользовательИБ.Имя;
Найти пользователя по имени и получить его идентификатор:
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("ИвановИИ");
Если ПользовательИБ <> Неопределено Тогда
Идентификатор = ПользовательИБ.УникальныйИдентификатор;
КонецЕсли;
Обратная задача — найти пользователя по известному идентификатору:
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
Новый УникальныйИдентификатор("значение-guid"));
// GUID элемента справочника «Пользователи»
ПользовательСсылка = Справочники.Пользователи.НайтиПоНаименованию("Иванов Иван");
Если Не ПользовательСсылка.Пустая() Тогда
GUID = ПользовательСсылка.УникальныйИдентификатор();
КонецЕсли;В типовых конфигурациях на библиотеке стандартных подсистем удобнее использовать функцию Пользователи.ТекущийПользователь() — она возвращает ссылку на элемент справочника, а не пользователя ИБ. Для получения связанного идентификатора пользователя ИБ из элемента справочника обратитесь к реквизиту «ИдентификаторПользователяИБ».
Способ 4. Через консоль кластера и внешние инструменты
В клиент-серверном варианте работы список активных пользователей виден в консоли администрирования серверов 1С: откройте кластер, разверните нужную информационную базу и перейдите к пункту «Сеансы». Здесь отображаются имена пользователей, номера сеансов и время подключения, но уникальные идентификаторы учётных записей консоль не показывает.
Для массового анализа — например, чтобы сопоставить пользователей ИБ с элементами справочника — удобны внешние обработки и консоли запросов. Запрос к справочнику «Пользователи» с выводом реквизита «ИдентификаторПользователяИБ» даст таблицу соответствия, которую можно выгрузить и использовать при миграции или аудите прав.
- 1Откройте базу в режиме предприятия под нужным пользователем
- 2Запустите любую внешнюю обработку с возможностью выполнения кода (например, консоль кода)
- 3Выполните: Сообщить(ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор)
- 4Скопируйте выведенное значение GUID
- 5Для GUID справочника выполните: Сообщить(Пользователи.ТекущийПользователь().УникальныйИдентификатор())
Какой идентификатор выбрать под задачу
Для настройки прав и ролей внутри одной базы идентификатор обычно не нужен вовсе — достаточно имени пользователя. Для интеграций между базами 1С через планы обмена используется GUID элемента справочника: платформа сопоставляет ссылки именно по нему. Для внешних систем (веб-сервисы, HTTP-API) передавайте GUID справочника в строковом виде — это стабильный ключ, не зависящий от переименования пользователя.
Идентификатор пользователя информационной базы нужен реже: при программной работе с учётными записями, при анализе журнала регистрации средствами СКД или при восстановлении связи справочника с учётными записями после переноса базы.
Сравнение способов
Подходит для разового просмотра списка и прав; не показывает GUID напрямую, требует прав администратора
Удобен в типовых конфигурациях для получения ссылки и GUID элемента; доступен пользователю с правами на администрирование без конфигуратора
Единственный способ получить оба вида идентификаторов программно; требует навыков разработки или готовой консоли кода
Показывает активные сеансы в клиент-серверном режиме; не отображает уникальные идентификаторы
Частые ошибки и ограничения
Главная ошибка — смешение двух идентификаторов. Если вы передаёте во внешнюю систему идентификатор пользователя ИБ, а она ожидает GUID справочника, сопоставление не сработает. Всегда уточняйте, какой именно идентификатор требует принимающая сторона.
Вторая типичная проблема — попытка найти пользователя ИБ по наименованию элемента справочника. Функция НайтиПоИмени ищет по имени для входа (логину), а не по ФИО. Если логин «ivanov», а вы ищете «Иванов Иван Иванович», результат будет «Неопределено».
Третья ошибка — работа с пользователями ИБ без достаточных прав. Чтение списка пользователей информационной базы требует права «Администрирование» или специальных настроек; у обычного пользователя код завершится ошибкой доступа. Учитывайте это, встраивая подобную логику в пользовательские отчёты.
Проверка результата
После получения идентификатора убедитесь, что он корректен. GUID в 1С имеет стандартный формат вида «8 символов-4-4-4-12» в шестнадцатеричной записи. Если значение пустое, равно нулевому GUID (все нули) или содержит посторонние символы — источник данных выбран неверно.
Для проверки соответствия выполните обратный поиск: по полученному GUID найдите пользователя через НайтиПоУникальномуИдентификатору или запрос к справочнику. Если поиск возвращает того же пользователя, идентификатор рабочий и его можно использовать в интеграции.
Как проверить результат
Строка вида xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Пустая строка, все нули или лишние символы
По GUID находится именно тот пользователь
Поиск возвращает Неопределено или другого пользователя
Принимающая система подтверждает, что GUID подходит
Система ожидала GUID справочника, а получен идентификатор пользователя ИБ
Частые вопросы
Где посмотреть идентификатор пользователя без конфигуратора?
В типовых конфигурациях откройте карточку пользователя в справочнике «Пользователи» и получите навигационную ссылку через меню «Ещё». GUID зашифрован в ссылке. Для точного значения в чистом виде проще всего воспользоваться консолью кода или попросить разработчика выполнить однострочный запрос.
Меняется ли идентификатор при переименовании пользователя?
Нет. Уникальный идентификатор присваивается один раз при создании и не зависит от имени, полного имени и других свойств. Переименование безопасно для интеграций, работающих по GUID.
Что будет с идентификатором при переносе базы на другой сервер?
При выгрузке и загрузке базы через dt-файл идентификаторы пользователей ИБ и GUID справочников сохраняются. Проблемы возникают только при создании пользователей заново вручную — тогда идентификаторы будут новыми.
Как получить список всех пользователей с идентификаторами?
Программно — перебором коллекции ПользователиИнформационнойБазы.ПолучитьПользователей() с выводом имени и уникального идентификатора каждого элемента. Для справочника — запросом к Справочник.Пользователи с выводом ссылки и реквизита «ИдентификаторПользователяИБ».
Можно ли задать идентификатор пользователя вручную?
Уникальный идентификатор пользователя информационной базы платформа генерирует сама, задать его произвольно нельзя. GUID нового элемента справочника можно назначить программно через УстановитьСсылкуНового — этим пользуются при синхронизации данных между базами.
Почему НайтиПоИмени возвращает Неопределено, хотя пользователь есть?
Чаще всего ищут по ФИО вместо логина, либо в имени есть лишние пробелы или отличается регистр. Проверьте точное имя пользователя в конфигураторе: Администрирование → Пользователи, колонка «Имя».
Что важно запомнить
В 1С два разных идентификатора пользователя: уникальный идентификатор учётной записи информационной базы и GUID элемента справочника «Пользователи». Просмотр доступен через конфигуратор и справочник, программное получение — через ПользователиИнформационнойБазы и метод УникальныйИдентификатор(). Перед использованием в интеграции уточните, какой из идентификаторов требуется, и проверьте его обратным поиском.