Работа с наборами 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>";
?>