Справочники и Данные · 10 мин
Как узнать ID товара в 1С
Как узнать ID (GUID) товара в 1С: через консоль запросов, код, URL в браузере, обмен данными и вывод списка. Пошаговые инструкции и частые ошибки.
ID товара в 1С — это уникальный идентификатор (GUID) ссылки на элемент справочника «Номенклатура». Он нужен при настройке обмена с сайтом, интеграции с внешними системами, поиске «битых» ссылок и отладке выгрузок. В отличие от кода номенклатуры, который виден в списке и может меняться, GUID неизменен на всём протяжении жизни элемента.
Проблема в том, что в типовом интерфейсе 1С уникальный идентификатор нигде не отображается напрямую — ни в карточке товара, ни в списке справочника. Поэтому пользователи ищут обходные пути: запросы, встроенный язык, адресную строку браузера или служебные механизмы обмена.
Ниже разобраны все рабочие способы узнать ID товара — от простых, доступных без прав программиста, до инструментов разработчика. Выбор зависит от того, какая у вас роль в базе, какой клиент используется (тонкий или веб) и сколько элементов нужно обработать.
Что такое ID товара в 1С и чем он отличается от кода
У каждого элемента справочника «Номенклатура» есть два разных идентификатора. Первый — код, который вы видите в списке товаров. Он может быть числовым или строковым, иногда меняется при перенумерации и не гарантирует уникальность между разными базами. Второй — уникальный идентификатор (GUID), строка вида 8a3f2c1e-4b5d-11e9-9f2a-00155d0a1b2c, которая присваивается при создании элемента и никогда не меняется.
Именно GUID используется при синхронизации с интернет-магазином, CRM, системами складского учёта и при выгрузке через CommerceML. Если внешняя система «потеряла» товар или создала дубль, первое, что нужно сделать, — сверить идентификаторы в обеих системах.
Важно понимать: при удалении элемента и создании нового с тем же названием GUID будет другим. Поэтому восстановление товара «заново» вместо восстановления из копии — частая причина рассинхронизации обменов.
Способ 1: через консоль кода или встроенный язык
Самый универсальный способ — выполнить небольшой фрагмент кода на встроенном языке. Для этого подойдёт обработка «Консоль кода» (входит в подсистему «Инструменты разработчика»), внешняя консоль запросов с диска ИТС или любая внешняя обработка, позволяющая выполнить произвольный код.
Если у вас уже есть ссылка на товар (например, вы получили её программно), достаточно одной строки:
Идентификатор = ТоварСсылка.УникальныйИдентификатор();
Сообщить(Идентификатор);
Если ссылки нет, её можно найти по коду или наименованию:
ТоварСсылка = Справочники.Номенклатура.НайтиПоКоду("00-000123");
Если Не ТоварСсылка.Пустая() Тогда
Сообщить(ТоварСсылка.УникальныйИдентификатор());
КонецЕсли;
Способ 2: через запрос в консоли запросов
Когда ID нужен не для одного товара, а для списка, удобнее использовать запрос. В консоли запросов (типовой из «Функции для технического специалиста» или внешней) выполните:
ВЫБРАТЬ
Номенклатура.Код КАК Код,
Номенклатура.Наименование КАК Наименование,
Номенклатура.Ссылка КАК Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Наименование ПОДОБНО &Наименование
Запрос вернёт ссылки, а дальше в консоли кода их можно преобразовать в GUID через УникальныйИдентификатор(). Некоторые консоли (например, «Инструменты разработчика») показывают GUID ссылки сразу в результате запроса — это зависит от используемого инструмента.
- 1Откройте консоль запросов или консоль кода с правами администратора
- 2Найдите ссылку на товар по коду или наименованию
- 3Вызовите метод УникальныйИдентификатор() для ссылки
- 4Скопируйте полученный GUID в буфер обмена
- 5Проверьте результат: откройте товар по GUID обратным запросом
Способ 3: через адресную строку веб-клиента
Если база опубликована на веб-сервере и вы работаете через браузер, GUID виден прямо в адресной строке. Откройте карточку товара — в URL появится фрагмент вида ...Catalog.Номенклатура?ref=8a3f2c1e4b5d11e99f2a00155d0a1b2c или похожая строка с идентификатором после параметра ref.
Обратите внимание: в URL идентификатор записан без дефисов и иногда в «перевёрнутом» порядке байтов — это внутреннее представление ссылки. Для обмена с внешними системами обычно нужен стандартный вид с дефисами, поэтому скопированное из адресной строки значение может потребовать преобразования. Если внешняя система не принимает ID, сравните формат с тем, что выгружается в XML обмена.
Этот способ не требует прав разработчика и подходит обычным пользователям, у которых есть доступ к карточке товара через веб-клиент. В тонком клиенте он не работает — там адресной строки нет.
Способ 4: через обмен с сайтом и файлы выгрузки
Если база обменивается с интернет-магазином (Битрикс, WooCommerce и другие), GUID товара фигурирует в файлах выгрузки CommerceML. Откройте файл import.xml из каталога обмена и найдите товар по наименованию — рядом будет элемент <Ид>, содержащий его идентификатор.
В типовых конфигурациях (Управление торговлей, Комплексная автоматизация, ERP) есть также узлы обмена, где можно посмотреть зарегистрированные к выгрузке объекты. В некоторых конфигурациях ведётся регистр соответствия объектов, где внутреннему идентификатору сопоставлен внешний — это удобный способ сверить связи без программирования.
Способ 5: обратный поиск — найти товар по известному GUID
Обратная задача встречается не реже: внешняя система прислала ID, и нужно понять, какой это товар в 1С. Для этого GUID преобразуется в ссылку кодом:
НовыйGUID = Новый УникальныйИдентификатор("8a3f2c1e-4b5d-11e9-9f2a-00155d0a1b2c");
ТоварСсылка = Справочники.Номенклатура.ПолучитьСсылку(НовыйGUID);
Если ТоварСсылка.ПолучитьОбъект() <> Неопределено Тогда
Сообщить(ТоварСсылка.Наименование);
Иначе
Сообщить("Товар с таким ID не найден");
КонецЕсли;
Если объект не найден, возможны три причины: товар удалён, GUID пришёл из другой базы (например, из тестовой копии) или идентификатор записан в другом формате. Проверьте сначала формат строки — лишний пробел или отсутствующие дефисы делают GUID невалидным.
Как проверить результат
36 символов с дефисами по шаблону 8-4-4-4-12
Нет дефисов, лишние символы, другая длина
По GUID открывается именно тот товар
Находится другой элемент или ничего не находится
ID в 1С совпадает с ID в файле выгрузки
Префиксы или составной ID в одном из источников
Типичные ошибки и ограничения
Самая частая ошибка — путать код номенклатуры с GUID. Код виден в списке и кажется «идентификатором», но внешние системы по нему товар не найдут. Вторая ошибка — копировать GUID из одной базы и искать по нему в другой: в копии базы идентификаторы сохраняются, а вот в независимо созданной базе у «того же» товара будет другой GUID.
Ещё одно ограничение: без прав на выполнение кода или доступа к веб-клиенту пользователь не сможет увидеть GUID штатными средствами. В этом случае попросите администратора или разработчика выгрузить список «код — наименование — GUID» нужных товаров в табличный документ.
Как выбрать способ
Что важно запомнить
ID товара в 1С — это GUID ссылки, который не отображается в интерфейсе напрямую. Получить его можно через код (УникальныйИдентификатор), консоль запросов, адресную строку веб-клиента или файлы обмена. Не путайте GUID с кодом справочника и всегда проверяйте результат обратным поиском.
Частые вопросы
Можно ли увидеть ID товара без прав программиста?
Да, если база работает в веб-клиенте: откройте карточку товара и скопируйте идентификатор из адресной строки браузера. Также можно попросить выгрузить файл обмена с сайтом и найти ID внутри него. В тонком клиенте без инструментов разработчика GUID не отображается.
Чем GUID отличается от кода номенклатуры?
Код — это видимый в списке номер, который может быть числовым или строковым и теоретически меняется. GUID — скрытый 36-символьный идентификатор, присваиваемый при создании элемента и неизменный в течение всей его жизни. Для интеграций и обменов используется именно GUID.
Почему по известному GUID товар не находится?
Чаще всего причины три: элемент удалён, GUID взят из другой базы (например, тестовой) или строка идентификатора записана в неправильном формате — без дефисов, с лишними символами или в «перевёрнутом» виде из URL. Проверьте формат и источник идентификатора.
Меняется ли GUID при обновлении конфигурации или переносе данных?
При обновлении конфигурации GUID элементов не меняется. При переносе через типовые механизмы обмена (Конвертация данных, универсальный обмен) идентификаторы обычно сохраняются. А вот при создании товара заново или загрузке без сохранения ссылок GUID будет новым.
Как массово получить GUID всех товаров?
Выполните запрос к справочнику «Номенклатура» в консоли запросов, выведите ссылку, код и наименование, затем преобразуйте ссылки в GUID через УникальныйИдентификатор() в консоли кода и сохраните результат в табличный документ или файл. Некоторые консоли показывают GUID сразу в результате запроса.
Зачем внешней системе нужен именно GUID, а не артикул?
Артикул и наименование могут повторяться и редактироваться, поэтому по ним нельзя надёжно сопоставить товары. GUID гарантированно уникален и неизменен, поэтому протоколы обмена (в том числе CommerceML) используют его как ключ связи между системами.