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

Настройка

- ID элемента — сделка, лид или элемент смарт-процесса, чьи товары обходим. Обычно {{ID}} текущей карточки;
- ID инфоблока — товарный каталог. Нужен форме настройки, чтобы показать список свойств;
- Свойство предложения (codeField) — выбирается из списка, руками код вбивать не требуется. Под капотом уходит ID или символьный код свойства без префикса PROPERTY_.
Что возвращает
Пять списков в порядке обхода позиций: значения свойства, ID и название раздела основного товара, ID и название верхнего раздела иерархии. По верхнему разделу удобно маршрутизировать: «Окна» — замерщикам, «Двери» — монтажникам, не вникая в глубину дерева каталога.
Верхний раздел робот ищет подъёмом по дереву разделов до корня — с защитой от зацикливания, так что даже «кривой» каталог с кольцевой вложенностью не повесит процесс.

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