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

Справочники и Данные · 10 мин

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

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

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

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

Ниже разобраны все три сценария: получение GUID через интерфейс и программно, работа с кодом справочника и поиск идентификатора в сервисах 1С. Инструкции подходят для типовых конфигураций — «Бухгалтерия предприятия», «Управление торговлей», «Комплексная автоматизация», «ERP» — с небольшими отличиями в названиях справочников.

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

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

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

GUID (глобальный уникальный идентификатор) — внутренний идентификатор ссылки, который платформа генерирует при создании объекта. Он уникален в масштабе всех баз 1С и не изменяется при редактировании объекта. Именно GUID используется в веб-сервисах, REST-интерфейсах, планах обмена и при синхронизации с сайтами.

Сравнение видов идентификаторов

Код элемента справочника

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

GUID ссылки

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

ИНН/КПП

Подходит для сопоставления юридических лиц между системами, но не работает для физлиц и не гарантирует однозначность при дублях в справочнике.

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

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

Первый способ — универсальный отчёт или консоль запросов. Если в базе установлена внешняя обработка «Консоль запросов» (часто входит в комплект инструментов разработчика на ИТС), выполните простой запрос к справочнику с выводом представления ссылки — в результате будет виден идентификатор.

Второй способ — обработка «Показать GUID объекта», которую несложно найти в открытых источниках или написать за несколько минут. Она выводит поле, в которое вы перетаскиваете или выбираете ссылку, и показывает её уникальный идентификатор в виде строки.

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

Как получить GUID программно: код и запрос

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

Пример получения GUID по известной ссылке:

КонтрагентСсылка = Справочники.Контрагенты.НайтиПоНаименованию("ООО Ромашка");

Если Не КонтрагентСсылка.Пустая() Тогда

Ид = КонтрагентСсылка.УникальныйИдентификатор();

Сообщить(Строка(Ид));

КонецЕсли;

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

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

КонтрагентСсылка = Справочники.Контрагенты.ПолучитьСсылку(Ид);

Если КонтрагентСсылка.ПолучитьОбъект() = Неопределено Тогда

Сообщить("Объект с таким GUID не найден");

КонецЕсли;

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

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

Как узнать код клиента в справочнике

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

В карточке клиента код показывается в заголовке формы или в поле «Код», в зависимости от конфигурации. В «Управлении торговлей» учтите особенность: карточка партнёра и карточка контрагента — разные объекты с разными кодами, и для интеграции нужно заранее понять, какой из них использует внешняя система.

Код удобен для устного поиска и сверки, но полагаться на него при обмене нельзя: при перенумерации, объединении дублей или переносе данных коды могут измениться или совпасть у разных клиентов.

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

Идентификатор клиента в сервисах и личном кабинете 1С

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

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

Для сервисов вроде «1С:Фреш» идентификатором абонента выступает код абонента, который виден администратору в менеджере сервиса. Он нужен при обращениях в поддержку и при настройке обменов между облачной и локальной базами.

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

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

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

Проверка результата и типичные проблемы

После получения GUID убедитесь, что он рабочий. Минимальная проверка — обратный поиск: получите ссылку по GUID и убедитесь, что объект существует и это именно тот клиент. Если ПолучитьОбъект() возвращает «Неопределено», объект удалён или GUID относится к другой базе.

При обмене через веб-сервисы проверьте формат строки: GUID в 1С имеет вид «xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx» в нижнем регистре. Некоторые внешние системы требуют верхний регистр или формат без дефисов — согласуйте это в спецификации интеграции заранее.

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

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

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

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

Ссылка найдена, открывается карточка нужного клиента

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

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

Формат строки GUID
Норма

36 символов с дефисами, шестнадцатеричные цифры

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

Строка другой длины или с посторонними символами — ошибка копирования

Уникальность клиента в справочнике
Норма

Одна карточка на контрагента

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

Несколько дублей с разными GUID — обмен будет задваивать клиентов

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

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

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

Изменится ли GUID, если переименовать клиента или исправить ИНН?

Нет. GUID присваивается ссылке один раз при создании объекта и не зависит от содержимого реквизитов. Меняются только данные карточки, идентификатор остаётся прежним до удаления объекта.

Сохранится ли GUID при переносе данных в другую базу?

При типовой синхронизации и обмене через правила конвертации GUID обычно сохраняется или регистрируется в таблице соответствий. При ручном создании клиента в новой базе или загрузке через простой импорт из Excel будет сгенерирован новый GUID.

Чем GUID отличается от навигационной ссылки на объект?

Навигационная ссылка (вида e1cib/data/Справочник.Контрагенты?ref=...) содержит GUID в закодированном виде и используется для открытия объекта из браузера или письма. Из неё можно извлечь GUID, но сама она привязана к конкретной публикации базы.

Как массово выгрузить GUID всех клиентов в Excel?

Напишите небольшую обработку: обойдите выборку справочника запросом и выведите код, наименование и Строка(Ссылка.УникальныйИдентификатор()) в табличный документ, затем сохраните его в Excel. Альтернатива — произвольный отчёт на СКД с вычисляемым полем.

Что делать, если внешняя система требует числовой идентификатор?

GUID нельзя корректно преобразовать в число без потерь. Используйте код элемента справочника, предварительно договорившись о его неизменности, либо заведите в карточке клиента дополнительный реквизит «ID внешней системы» и заполняйте его при синхронизации.

Итог

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

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