Администрирование · 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 из разных источников и они «не совпадают», хотя объект один — вероятно, дело именно в порядке байтов.
- 1Откройте нужный элемент справочника или документ
- 2Нажмите «Ещё» в командной панели формы
- 3Выберите пункт «Получить ссылку»
- 4Скопируйте часть строки после «ref=» — это GUID объекта
- 5Проверьте результат: вставьте ссылку в браузер веб-клиента — должен открыться тот же объект
Как узнать код элемента и номер документа
Код элемента справочника и номер документа отображаются в списках по умолчанию. Если колонка «Код» или «Номер» скрыта, откройте настройку списка: «Ещё» → «Изменить форму» (или «Настройка списка» в зависимости от конфигурации) и добавьте нужную колонку в состав отображаемых полей.
В карточке объекта код и номер обычно расположены в шапке формы. У документов номер может быть не уникальным в пределах базы: он уникален только в рамках вида документа и периода нумерации. Поэтому для поиска конкретного документа уточняйте также дату и организацию.
Помните, что коды и номера могут меняться: при перенумерации, ручном редактировании или переносе данных. Полагаться на них как на постоянный ключ нельзя — для этого существует GUID.
Как получить ID программно: запросы и встроенный язык
Для разработчиков и администраторов основной способ получить GUID — метод УникальныйИдентификатор() у ссылки объекта. Пример кода:
GUID = Строка(СсылкаНаОбъект.УникальныйИдентификатор());
Обратная задача — найти объект по GUID — решается методом ПолучитьСсылку менеджера соответствующего типа:
НовыйGUID = Новый УникальныйИдентификатор("a1b2c3d4-e5f6-7890-abcd-ef1234567890");
Ссылка = Справочники.Номенклатура.ПолучитьСсылку(НовыйGUID);
Если объекта с таким GUID нет, метод вернёт «битую» ссылку — проверяйте это через запрос или функцию общего назначения, прежде чем обращаться к реквизитам. В языке запросов GUID напрямую не выводится, но ссылку можно сравнивать и передавать параметром.
GUID = Строка(СсылкаНаОбъект.УникальныйИдентификатор());Для массового получения идентификаторов удобно использовать консоль запросов или обработку «Все функции» с произвольным кодом. В файловых базах без прав разработчика такие действия недоступны — потребуются права администратора или режим толстого клиента.
Где посмотреть ID пользователя и ID базы
Идентификатор пользователя виден в списке пользователей информационной базы: «Администрирование» → «Пользователи». Откройте карточку пользователя — в форме отображается его имя, а GUID можно получить программно через ПользователиИнформационнойБазы или в окне «Получить ссылку», если конфигурация хранит пользователей как объекты справочника.
ID информационной базы в клиент-серверном варианте смотрится в консоли кластера серверов 1С: откройте свойства базы в ветке «Информационные базы» — там указан GUID базы, имя в кластере и параметры подключения к СУБД. Этот идентификатор нужен при настройке блокировок, журналов и диагностики.
Для файловых баз отдельного ID в кластере нет — база идентифицируется путём к каталогу. При переносе файловой базы в другое расположение её «идентичность» для прикладных механизмов сохраняется, так как хранится внутри данных.
Типичные ошибки и ограничения
Самая частая ошибка — попытка использовать код справочника или номер документа как ключ синхронизации между базами. При параллельном вводе данных в разных базах коды неизбежно совпадут у разных объектов, и обмен «склеит» чужие данные.
Вторая типичная проблема — сравнение GUID, скопированных из разных представлений. Строка из «Получить ссылку» и строка из УникальныйИдентификатор() для одного объекта выглядят по-разному из-за порядка байтов. Перед сравнением приводите оба значения к одному формату.
Ограничение интерфейсного способа: команда «Получить ссылку» доступна не во всех формах и не для всех типов объектов. Для записей регистров сведений, например, GUID как таковой отсутствует — записи идентифицируются ключом (измерениями и периодом).
Как проверить результат
Ссылка из «Получить ссылку» открывает именно тот объект, с которого её сняли
Открывается другой объект или ошибка — GUID скопирован неполностью
ПолучитьСсылку возвращает объект, у которого читаются реквизиты
Реквизиты недоступны, запрос возвращает NULL — ссылка «битая», объекта нет
Один и тот же объект в двух базах имеет одинаковый GUID после типового обмена
GUID различаются — объект создан независимо, нужна настройка сопоставления
Часто задаваемые вопросы
Можно ли изменить GUID существующего объекта?
Штатными средствами — нет. Технически существуют обработки, подменяющие идентификатор, но это опасная операция: все ссылки на объект в базе станут недействительными. Если нужно, чтобы объект в двух базах имел один GUID, используйте типовые механизмы обмена или пересоздайте объект с принудительной установкой ссылки через УстановитьСсылкуНового.
Почему GUID из адресной строки не совпадает с тем, что возвращает код?
Из-за разного порядка байтов в представлениях. В ссылке вида e1cib/data байты первых групп GUID переставлены. Это один и тот же идентификатор — для сравнения приведите оба значения к строковому виду через УникальныйИдентификатор().
Как найти объект, если известен только GUID из ошибки обмена?
Используйте обработку поиска по GUID: создайте УникальныйИдентификатор из строки и последовательно вызовите ПолучитьСсылку для нужных менеджеров (справочников, документов), проверяя, какая ссылка существует. Если все ссылки «битые» — объект был удалён, и в обмене нужно обработать эту ситуацию.
Есть ли GUID у записей регистров?
У записей регистров сведений и накопления нет ссылки и GUID — запись идентифицируется комбинацией измерений, периода и регистратора. Для обмена такими данными используют ключ записи или GUID регистратора.
Где посмотреть ID базы, если она файловая?
У файловой базы нет идентификатора в кластере — она определяется путём к каталогу с файлом 1Cv8.1CD. Внутренние идентификаторы (например, для механизмов синхронизации) хранятся в константах и параметрах самой базы и смотрятся через соответствующие настройки обмена.
Что важно запомнить
GUID объекта быстрее всего посмотреть через «Ещё» → «Получить ссылку» или в адресной строке веб-клиента, программно — методом УникальныйИдентификатор(). Коды и номера предназначены для пользователей и печати, но не для синхронизации. Прямое редактирование идентификаторов и вмешательство в СУБД недопустимы — это разрушает ссылочную целостность базы.