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

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

ID в 1С: где посмотреть идентификатор объекта

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

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

GUID в 1С — это 32-символьное шестнадцатеричное значение вида «a1b2c3d4-e5f6-7890-abcd-ef1234567890». Он автоматически присваивается каждому объекту при создании и не меняется при редактировании, переносе между базами через типовые обмены или переименовании. Именно поэтому GUID — основной ключ для сопоставления объектов в распределённых системах.

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

Какие идентификаторы существуют в 1С

Прежде чем искать ID, определите, какой тип идентификатора требуется. В 1С их несколько, и путают их часто:

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

Код и номер предназначены для людей и печатных форм, GUID — для систем. Если задача связана с обменом, синхронизацией с сайтом или поиском объекта по ссылке из ошибки — нужен именно GUID. Если нужно быстро найти элемент в списке — достаточно кода или номера.

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

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

При работе через веб-клиент GUID виден прямо в адресной строке браузера: откройте объект и посмотрите параметр ref в URL. Это удобно, когда нужно быстро скопировать идентификатор без дополнительных команд.

Обратите внимание: в представлении ссылки через интерфейс байты GUID отображаются в ином порядке, чем в строковом представлении, которое возвращает метод УникальныйИдентификатор(). Если вы сопоставляете ID из разных источников и они «не совпадают», хотя объект один — вероятно, дело именно в порядке байтов.

Как получить GUID через интерфейс
  1. 1
    Откройте нужный элемент справочника или документ
  2. 2
    Нажмите «Ещё» в командной панели формы
  3. 3
    Выберите пункт «Получить ссылку»
  4. 4
    Скопируйте часть строки после «ref=» — это GUID объекта
  5. 5
    Проверьте результат: вставьте ссылку в браузер веб-клиента — должен открыться тот же объект

Как узнать код элемента и номер документа

Код элемента справочника и номер документа отображаются в списках по умолчанию. Если колонка «Код» или «Номер» скрыта, откройте настройку списка: «Ещё» → «Изменить форму» (или «Настройка списка» в зависимости от конфигурации) и добавьте нужную колонку в состав отображаемых полей.

В карточке объекта код и номер обычно расположены в шапке формы. У документов номер может быть не уникальным в пределах базы: он уникален только в рамках вида документа и периода нумерации. Поэтому для поиска конкретного документа уточняйте также дату и организацию.

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

Как получить ID программно: запросы и встроенный язык

Для разработчиков и администраторов основной способ получить GUID — метод УникальныйИдентификатор() у ссылки объекта. Пример кода:

GUID = Строка(СсылкаНаОбъект.УникальныйИдентификатор());

Обратная задача — найти объект по GUID — решается методом ПолучитьСсылку менеджера соответствующего типа:

НовыйGUID = Новый УникальныйИдентификатор("a1b2c3d4-e5f6-7890-abcd-ef1234567890");

Ссылка = Справочники.Номенклатура.ПолучитьСсылку(НовыйGUID);

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

bsl
GUID = Строка(СсылкаНаОбъект.УникальныйИдентификатор());

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

Где посмотреть ID пользователя и ID базы

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

ID информационной базы в клиент-серверном варианте смотрится в консоли кластера серверов 1С: откройте свойства базы в ветке «Информационные базы» — там указан GUID базы, имя в кластере и параметры подключения к СУБД. Этот идентификатор нужен при настройке блокировок, журналов и диагностики.

Для файловых баз отдельного ID в кластере нет — база идентифицируется путём к каталогу. При переносе файловой базы в другое расположение её «идентичность» для прикладных механизмов сохраняется, так как хранится внутри данных.

Типичные ошибки и ограничения

Самая частая ошибка — попытка использовать код справочника или номер документа как ключ синхронизации между базами. При параллельном вводе данных в разных базах коды неизбежно совпадут у разных объектов, и обмен «склеит» чужие данные.

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

Ограничение интерфейсного способа: команда «Получить ссылку» доступна не во всех формах и не для всех типов объектов. Для записей регистров сведений, например, GUID как таковой отсутствует — записи идентифицируются ключом (измерениями и периодом).

Типичные ошибки
01
Использовать код справочника как ключ обмена — при совпадении кодов в разных базах данные перемешаются
02
Сравнивать GUID из разных представлений без приведения формата — один объект выглядит как два разных
03
Искать GUID у записей регистра сведений — у них нет ссылки, есть только ключ записи
04
Править идентификаторы напрямую в СУБД — это разрушает ссылочную целостность базы
Контрольные точки

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

Открытие объекта по ссылке
Норма

Ссылка из «Получить ссылку» открывает именно тот объект, с которого её сняли

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

Открывается другой объект или ошибка — GUID скопирован неполностью

Поиск объекта по GUID программно
Норма

ПолучитьСсылку возвращает объект, у которого читаются реквизиты

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

Реквизиты недоступны, запрос возвращает NULL — ссылка «битая», объекта нет

Сопоставление GUID между базами
Норма

Один и тот же объект в двух базах имеет одинаковый GUID после типового обмена

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

GUID различаются — объект создан независимо, нужна настройка сопоставления

Часто задаваемые вопросы

Можно ли изменить GUID существующего объекта?

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

Почему GUID из адресной строки не совпадает с тем, что возвращает код?

Из-за разного порядка байтов в представлениях. В ссылке вида e1cib/data байты первых групп GUID переставлены. Это один и тот же идентификатор — для сравнения приведите оба значения к строковому виду через УникальныйИдентификатор().

Как найти объект, если известен только GUID из ошибки обмена?

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

Есть ли GUID у записей регистров?

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

Где посмотреть ID базы, если она файловая?

У файловой базы нет идентификатора в кластере — она определяется путём к каталогу с файлом 1Cv8.1CD. Внутренние идентификаторы (например, для механизмов синхронизации) хранятся в константах и параметрах самой базы и смотрятся через соответствующие настройки обмена.

Итог

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

GUID объекта быстрее всего посмотреть через «Ещё» → «Получить ссылку» или в адресной строке веб-клиента, программно — методом УникальныйИдентификатор(). Коды и номера предназначены для пользователей и печати, но не для синхронизации. Прямое редактирование идентификаторов и вмешательство в СУБД недопустимы — это разрушает ссылочную целостность базы.