Значение свойства товара и разделы каталога
Что делает робот
Робот обходит товарные позиции карточки — сделки, лида или смарт-процесса — и по каждой возвращает значение выбранного свойства товара вместе с разделами каталога. Списки приходят по одному значению на позицию: процесс дальше перебирает их циклом или забирает нужную строку по индексу.

Запасной ход к основному товару
Главная особенность робота — порядок чтения свойства. Сначала значение ищется на товаре из позиции. Если позиция — торговое предложение (SKU) и свойство на нём пустое, робот поднимается к основному товару и берёт значение оттуда. Так устроены вариации: общие характеристики вроде бренда и материала хранятся на родителе, и робот сам туда доходит — не возвращает пустоту там, где данные просто лежат уровнем выше.
Разделы каталога тоже определяются по основному товару: ближайший раздел и верхний раздел в иерархии. Для обычного товара без вариаций — по нему самому.
Настройка

- ID элемента — сделка, лид или элемент смарт-процесса. По умолчанию {{ID}} текущей карточки;
- ID инфоблока — товарный каталог, нужен форме для списка свойств;
- Свойство товара (codeField) — выбор из списка, руками код вводить не нужно.

Чем отличается от соседних роботов
Семейство свойств товара большое, и разница в деталях. Этот робот читает свойство с позиции с запасным ходом на основной товар и возвращает списки по всем позициям. Робот «Свойство предложения и разделы основного товара» берёт значение строго с предложения, без запасного хода. А «Свойство товара по ID» работает с одной карточкой каталога по её ID, без привязки к сделке.
Сценарии из практики
Проверка комплектности заказа. В сделке сорок позиций. Робот читает свойство «Артикул» по каждой: хоть одно пустое — сделка не уходит в работу, менеджеру задача со списком строк без артикула. Пустое свойство на SKU при этом не даёт ложных срабатываний — значение подтянется с основной карточки.
Маршрутизация по верхнему разделу. Заявка содержит товары из разных веток каталога. Робот возвращает верхние разделы: «Мебель» — в производственное задание, «Фурнитура» — на комплектацию склада. Разбиение заказа автоматическое.
Простановка единиц измерения в документе. Перед генерацией спецификации робот собирает единицы измерения по позициям, процесс подставляет их в шаблон. Документ уходит клиенту с «шт», «м.п.» и «компл.» из каталога, а не как повезло.
Типичные ошибки
«codeField is required». Свойство не выбрано — обычно потому, что список пуст при неверном ID инфоблока. Укажите товарный каталог и выберите свойство заново.
Меньше значений, чем позиций. Позиции без привязки к каталогу (произвольные строки) робот пропускает: свойство читать неоткуда. Сверяйте длину списка с числом товарных строк, если это критично.
Пустое значение при заполненном свойстве. Свойство заполнено у предложения, а выбрано другое свойство — похожее по названию, но пустое. В каталогах с десятками полей такое бывает: проверьте код свойства в настройках каталога.
Значение «с основного» вместо вариации. Если на основном товаре свойство заполнено, а у SKU пусто — вернётся родительское. При отладке помните: чтобы увидеть значение именно вариации, его нужно заполнить на самом предложении.