Рассмотрим добавление набора с помощью API, а также вывод товаров из набора
Проблематика вопроса в том что в API не описано как нужно работать с наборами
Сначала рассмотрим как можно добавить набор к товару
Наборы храняться в таблице b_catalog_product_sets, для отображения ее содержимого можно перейти по ссылке /bitrix/admin/perfmon_table.php?lang=ru&table_name=b_catalog_product_sets
Для добавления наборов будем использовать метод CCatalogProductSet::add
<?
$arFields = array(
"TYPE" => 2, //тип 1 - комплект, 2 - набор
"SET_ID" => 0, //указывает на то что набор добавляется к этому товару
"ITEM_ID" => 1234, // ID товара
"ITEMS" => array(
[0] => array(
"ACTIVE" => "Y", // активность записи
"ITEM_ID" => 34, // ID товара который добавляется в набор
"QUANTITY" => 1 // количество товара
),
[1] => array(
"ACTIVE" => "Y",
"ITEM_ID" => 56,
"QUANTITY" => 1
),
)
);
if(CCatalogProductSet::add($arFields))
echo "Набор добавлен";
else
echo "Набор не добавлен";
?>
Так же может быть полезным достать из БД наборы для данного товара
<?
$arSetItems = CCatalogProductSet::getAllSetsByProduct(intval(20004), CCatalogProductSet::TYPE_GROUP);
//указываем ID товара к которому закреплен набор
echo "<pre>"; print_r($arSetItems); echo "</pre>";
?>