К статье
Практический материал

Администрирование · 11 мин

Как получить идентификатор пользователя в 1С

Способы узнать идентификатор пользователя в 1С: через конфигуратор, встроенный язык, справочник пользователей и уникальный идентификатор GUID. Примеры кода и ошибки.

Под идентификатором пользователя в 1С могут пониматься разные вещи: уникальный идентификатор (GUID) элемента справочника «Пользователи», идентификатор пользователя информационной базы, имя пользователя для входа или код элемента справочника. Прежде чем искать значение, определите, какой именно идентификатор нужен: для настройки прав, для интеграции по COM или веб-сервису, для журнала регистрации или для программной обработки.

Чаще всего задача возникает в трёх сценариях: администратору нужно найти конкретного пользователя в списке, разработчику — получить GUID текущего пользователя в коде, а специалисту по интеграции — выяснить идентификатор для обмена данными между базами. Ниже разобраны все основные способы — от просмотра в интерфейсе до запросов на встроенном языке.

Способ 1. Просмотр пользователя через конфигуратор

Самый прямой путь — открыть список пользователей в конфигураторе. Запустите базу в режиме «Конфигуратор», перейдите в меню «Администрирование» → «Пользователи». Откроется список учётных записей информационной базы, где видны имя пользователя, полное имя и признаки аутентификации.

Двойной щелчок по строке открывает карточку пользователя с вкладками: основные свойства, роли, аутентификация, прочие настройки. Имя пользователя, указанное здесь, — это тот логин, под которым человек входит в базу. Уникальный идентификатор в этом окне напрямую не отображается, но его можно получить программно (об этом ниже) или через инструменты разработчика.

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

Способ 2. Справочник «Пользователи» в режиме предприятия

В типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, ERP, Зарплата и управление персоналом) есть справочник «Пользователи». Он находится в разделе «Администрирование» → «Настройка прав и пользователей» → «Пользователи». Здесь хранятся не учётные записи платформы, а элементы справочника, связанные с ними.

Чтобы увидеть уникальный идентификатор элемента справочника, откройте карточку пользователя и посмотрите на адресную строку навигационной ссылки: нажмите «Ещё» → «Получить ссылку» (или сочетание клавиш, предусмотренное конфигурацией). В ссылке вида e1cib/data/Справочник.Пользователи?ref=... зашифрован GUID элемента — именно он используется при обменах и интеграциях.

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

Способ 3. Получение идентификатора программно

Для разработчиков основной инструмент — объект метаданных ПользователиИнформационнойБазы. Получить текущего пользователя и его уникальный идентификатор можно так:

ТекущийПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();

Идентификатор = ТекущийПользовательИБ.УникальныйИдентификатор;

ИмяПользователя = ТекущийПользовательИБ.Имя;

Найти пользователя по имени и получить его идентификатор:

ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("ИвановИИ");

Если ПользовательИБ <> Неопределено Тогда

Идентификатор = ПользовательИБ.УникальныйИдентификатор;

КонецЕсли;

Обратная задача — найти пользователя по известному идентификатору:

ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(

Новый УникальныйИдентификатор("значение-guid"));

bsl
// GUID элемента справочника «Пользователи»
ПользовательСсылка = Справочники.Пользователи.НайтиПоНаименованию("Иванов Иван");
Если Не ПользовательСсылка.Пустая() Тогда
    GUID = ПользовательСсылка.УникальныйИдентификатор();
КонецЕсли;

В типовых конфигурациях на библиотеке стандартных подсистем удобнее использовать функцию Пользователи.ТекущийПользователь() — она возвращает ссылку на элемент справочника, а не пользователя ИБ. Для получения связанного идентификатора пользователя ИБ из элемента справочника обратитесь к реквизиту «ИдентификаторПользователяИБ».

Способ 4. Через консоль кластера и внешние инструменты

В клиент-серверном варианте работы список активных пользователей виден в консоли администрирования серверов 1С: откройте кластер, разверните нужную информационную базу и перейдите к пункту «Сеансы». Здесь отображаются имена пользователей, номера сеансов и время подключения, но уникальные идентификаторы учётных записей консоль не показывает.

Для массового анализа — например, чтобы сопоставить пользователей ИБ с элементами справочника — удобны внешние обработки и консоли запросов. Запрос к справочнику «Пользователи» с выводом реквизита «ИдентификаторПользователяИБ» даст таблицу соответствия, которую можно выгрузить и использовать при миграции или аудите прав.

Как узнать GUID текущего пользователя за минуту
  1. 1
    Откройте базу в режиме предприятия под нужным пользователем
  2. 2
    Запустите любую внешнюю обработку с возможностью выполнения кода (например, консоль кода)
  3. 3
    Выполните: Сообщить(ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор)
  4. 4
    Скопируйте выведенное значение GUID
  5. 5
    Для GUID справочника выполните: Сообщить(Пользователи.ТекущийПользователь().УникальныйИдентификатор())

Какой идентификатор выбрать под задачу

Для настройки прав и ролей внутри одной базы идентификатор обычно не нужен вовсе — достаточно имени пользователя. Для интеграций между базами 1С через планы обмена используется GUID элемента справочника: платформа сопоставляет ссылки именно по нему. Для внешних систем (веб-сервисы, HTTP-API) передавайте GUID справочника в строковом виде — это стабильный ключ, не зависящий от переименования пользователя.

Идентификатор пользователя информационной базы нужен реже: при программной работе с учётными записями, при анализе журнала регистрации средствами СКД или при восстановлении связи справочника с учётными записями после переноса базы.

Сравнение способов

Конфигуратор

Подходит для разового просмотра списка и прав; не показывает GUID напрямую, требует прав администратора

Справочник «Пользователи»

Удобен в типовых конфигурациях для получения ссылки и GUID элемента; доступен пользователю с правами на администрирование без конфигуратора

Встроенный язык

Единственный способ получить оба вида идентификаторов программно; требует навыков разработки или готовой консоли кода

Консоль кластера

Показывает активные сеансы в клиент-серверном режиме; не отображает уникальные идентификаторы

Частые ошибки и ограничения

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

Вторая типичная проблема — попытка найти пользователя ИБ по наименованию элемента справочника. Функция НайтиПоИмени ищет по имени для входа (логину), а не по ФИО. Если логин «ivanov», а вы ищете «Иванов Иван Иванович», результат будет «Неопределено».

Третья ошибка — работа с пользователями ИБ без достаточных прав. Чтение списка пользователей информационной базы требует права «Администрирование» или специальных настроек; у обычного пользователя код завершится ошибкой доступа. Учитывайте это, встраивая подобную логику в пользовательские отчёты.

Типичные ошибки
01
Путают GUID справочника и идентификатор пользователя ИБ — интеграция не находит пользователя
02
Ищут пользователя ИБ по ФИО вместо логина — НайтиПоИмени возвращает Неопределено
03
Выполняют код чтения пользователей ИБ под учётной записью без прав администрирования — ошибка доступа
04
Хранят идентификатор в строковом виде с лишними пробелами или фигурными скобками — сравнение GUID не проходит

Проверка результата

После получения идентификатора убедитесь, что он корректен. GUID в 1С имеет стандартный формат вида «8 символов-4-4-4-12» в шестнадцатеричной записи. Если значение пустое, равно нулевому GUID (все нули) или содержит посторонние символы — источник данных выбран неверно.

Для проверки соответствия выполните обратный поиск: по полученному GUID найдите пользователя через НайтиПоУникальномуИдентификатору или запрос к справочнику. Если поиск возвращает того же пользователя, идентификатор рабочий и его можно использовать в интеграции.

Контрольные точки

Как проверить результат

Формат GUID
Норма

Строка вида xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Тревожный признак

Пустая строка, все нули или лишние символы

Обратный поиск
Норма

По GUID находится именно тот пользователь

Тревожный признак

Поиск возвращает Неопределено или другого пользователя

Тип идентификатора
Норма

Принимающая система подтверждает, что GUID подходит

Тревожный признак

Система ожидала GUID справочника, а получен идентификатор пользователя ИБ

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

Где посмотреть идентификатор пользователя без конфигуратора?

В типовых конфигурациях откройте карточку пользователя в справочнике «Пользователи» и получите навигационную ссылку через меню «Ещё». GUID зашифрован в ссылке. Для точного значения в чистом виде проще всего воспользоваться консолью кода или попросить разработчика выполнить однострочный запрос.

Меняется ли идентификатор при переименовании пользователя?

Нет. Уникальный идентификатор присваивается один раз при создании и не зависит от имени, полного имени и других свойств. Переименование безопасно для интеграций, работающих по GUID.

Что будет с идентификатором при переносе базы на другой сервер?

При выгрузке и загрузке базы через dt-файл идентификаторы пользователей ИБ и GUID справочников сохраняются. Проблемы возникают только при создании пользователей заново вручную — тогда идентификаторы будут новыми.

Как получить список всех пользователей с идентификаторами?

Программно — перебором коллекции ПользователиИнформационнойБазы.ПолучитьПользователей() с выводом имени и уникального идентификатора каждого элемента. Для справочника — запросом к Справочник.Пользователи с выводом ссылки и реквизита «ИдентификаторПользователяИБ».

Можно ли задать идентификатор пользователя вручную?

Уникальный идентификатор пользователя информационной базы платформа генерирует сама, задать его произвольно нельзя. GUID нового элемента справочника можно назначить программно через УстановитьСсылкуНового — этим пользуются при синхронизации данных между базами.

Почему НайтиПоИмени возвращает Неопределено, хотя пользователь есть?

Чаще всего ищут по ФИО вместо логина, либо в имени есть лишние пробелы или отличается регистр. Проверьте точное имя пользователя в конфигураторе: Администрирование → Пользователи, колонка «Имя».

Итог

Что важно запомнить

В 1С два разных идентификатора пользователя: уникальный идентификатор учётной записи информационной базы и GUID элемента справочника «Пользователи». Просмотр доступен через конфигуратор и справочник, программное получение — через ПользователиИнформационнойБазы и метод УникальныйИдентификатор(). Перед использованием в интеграции уточните, какой из идентификаторов требуется, и проверьте его обратным поиском.