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

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

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

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

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

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

Ниже разобраны все основные способы с пошаговыми инструкциями, примерами кода и проверкой результата. Отдельно рассмотрены типичные ошибки и ограничения, о которых стоит знать до начала работы.

Что такое идентификатор пользователя и зачем он нужен

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

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

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

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

По умолчанию поле «Уникальный идентификатор» в форме может быть скрыто. Чтобы его увидеть в списке, нажмите «Еще» → «Изменить форму» и добавьте колонку «Ссылка» или «Уникальный идентификатор», либо используйте универсальный прием: в списке нажмите «Еще» → «Вывести список» и выберите нужные поля — платформа покажет внутренние реквизиты, включая GUID ссылки.

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

Порядок действий в интерфейсе
  1. 1
    Откройте «Администрирование» → «Пользователи и права» → «Пользователи»
  2. 2
    Найдите нужного пользователя поиском по имени
  3. 3
    Откройте карточку или настройте вывод колонки с идентификатором через «Еще» → «Изменить форму»
  4. 4
    Скопируйте GUID и сверьте с ожидаемым значением

Способ 2: через конфигуратор и список пользователей ИБ

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

Поэтому для получения GUID пользователя ИБ используют встроенный язык. Откройте внешнюю обработку с возможностью выполнения кода (например, консоль кода) или добавьте временный код в общий модуль и выполните через отладку. Пример получения идентификатора по логину:

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

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

Сообщить(Строка(ПользовательИБ.УникальныйИдентификатор));

Иначе

Сообщить("Пользователь не найден");

КонецЕсли;

Обратный поиск — по известному GUID — выполняется методом НайтиПоУникальномуИдентификатору(Новый УникальныйИдентификатор("...")). Это удобно, когда в логах или во внешней системе есть только идентификатор, а нужно понять, кому он принадлежит.

bsl
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("ИвановИИ");
Если ПользовательИБ <> Неопределено Тогда
    Сообщить(Строка(ПользовательИБ.УникальныйИдентификатор));
КонецЕсли;

Способ 3: через консоль запросов

Если нужен GUID элемента справочника «Пользователи» для одного или нескольких человек сразу, удобно использовать консоль запросов (внешнюю обработку или встроенную в инструменты разработчика). Запрос выводит имя и представление ссылки, где GUID — это часть строкового представления ссылки.

ВЫБРАТЬ

Пользователи.Наименование КАК Имя,

Пользователи.Ссылка КАК Ссылка

ИЗ

Справочник.Пользователи КАК Пользователи

ГДЕ

НЕ Пользователи.ПометкаУдаления

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

Этот способ особенно полезен при подготовке данных для обмена: можно выгрузить таблицу «имя — GUID» для всех действующих пользователей и передать ее разработчику внешней системы.

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

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

Для элемента справочника «Пользователи» поиск выполняется через менеджер справочника: Справочники.Пользователи.ПолучитьСсылку(Новый УникальныйИдентификатор("ваш-guid")). После получения ссылки проверьте, что элемент существует — сравните Наименование или используйте запрос с проверкой на NULL.

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

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

GUID пользователя ИБ
Норма

Метод НайтиПоУникальныйИдентификатор возвращает объект с ожидаемым именем

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

Метод возвращает Неопределено — GUID не принадлежит пользователю этой базы

GUID элемента справочника
Норма

По ссылке читается наименование и реквизиты

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

Ссылка битая: наименование недоступно, в запросе представление вида «<Объект не найден>»

Совпадение типов
Норма

GUID из обмена совпадает с GUID ссылки справочника

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

Перепутаны GUID пользователя ИБ и GUID элемента справочника — поиск не дает результатов

Ограничения, права и типичные ошибки

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

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

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

Какой способ выбрать в вашей ситуации

Если нужен идентификатор одного пользователя для настройки обмена и есть доступ к режиму предприятия — используйте справочник «Пользователи» и вывод колонки с GUID. Это быстро и не требует прав разработчика.

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

Маршрут решения

Как выбрать действие

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

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

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

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

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

Нет. GUID присваивается при создании и не меняется ни при смене логина, ни при смене полного имени, ни при смене пароля. Идентификатор изменится только если удалить пользователя и создать нового — это будет уже другой GUID.

Можно ли узнать GUID без прав администратора?

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

Одинаковы ли идентификаторы в рабочей и тестовой базе?

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

Как узнать GUID текущего пользователя, под которым я работаю?

Программно: ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор. В типовых конфигурациях есть также функция БСП Пользователи.ТекущийПользователь(), возвращающая ссылку справочника, у которой можно взять УникальныйИдентификатор().

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

Чаще всего причины три: идентификатор скопирован с ошибкой (проверьте формат и дефисы), GUID относится к другой базе, или перепутан тип идентификатора — вы ищете GUID пользователя ИБ среди элементов справочника или наоборот. Проверьте все три варианта по очереди.