Документация для разработчиков
Темная тема

getAllSetsByProduct

Описание и параметры

public static function
getAllSetsByProduct(
	$intProductID,
	$intSetType
);

Метод получает состав комплекта или набора(ов), принадлежащих товару. Статический метод.

Параметры вызова

ПараметрОписание
ProductID Код товара.
SetType Тип сущности (комплект/набор).

Возвращаемые значения

Метод возвращает: false в случае ошибочных параметров, пусто - если ничего не найдено. Если найдено, то возвращает ассоциативный массив параметров с ключами со следующей структурой:

Для комплекта (ключ - идентификатор комплекта):

  • TYPE - константа CCatalogProductSet::TYPE_SET (комплект),
  • SET_ID - идентификатор комплекта,
  • ITEM_ID - идентификатор товара-комплекта,
  • ACTIVE - (Y|N) активность,
  • QUANTITY - количество,
  • MEASURE - идентификатор единицы измерения,
  • DISCOUNT_PERCENT - false,
  • SORT - индекс сортировки,
  • ITEMS - массив (список элементов комплекта.) Для каждого идентификатора записи комплекта массив:
    • ITEM_ID - идентификатор товара входящего в комплект,
    • QUANTITY - множитель единицы измерения товара,
    • MEASURE - идентификатор единицы измерения,
    • DISCOUNT_PERCENT - false (не используется),
    • SORT - индекс сортировки в комплекте.

Для наборов (ключ - идентификатор набора)

  • TYPE - константа CCatalogProductSet::TYPE_GROUP (набор),
  • SET_ID - идентификатор набора,
  • ITEM_ID - идентификатор товара, которому принадлежит набор,
  • ACTIVE'' - (Y|N) активность,
  • QUANTITY - количество,
  • MEASURE - идентификатор единицы измерения,
  • SORT - индекс сортировки,
  • ITEMS - массив (список элементов набора). Для каждого идентификатора записи набора массив:
    • ITEM_ID - идентификатор товара входящего в набор,
    • QUANTITY - множитель единицы измерения товара,
    • MEASURE - идентификатор единицы измерения,
    • SORT - индекс сортировки в наборе.

Примеры использования

$ownerId = 17; // ID товара-владельца, для которого нужно получить набор(ы)
$result = CCatalogProductSet::getAllSetsByProduct($ownerId, CCatalogProductSet::TYPE_GROUP);
if (!empty($result))
{
	foreach ($result as $bundleId => $bundle)
	{
		echo 'ID набора: '.$bundleId;
		print_r($bundle); // описание и состав набора
	}
}
$ownerId = 45; // ID товара-комплекта
$result = CCatalogProductSet::getAllSetsByProduct($ownerId, CCatalogProductSet::TYPE_SET);
if (!empty($result))
{
	$set = reset($result);
	$setId = key($result);

	echo 'ID комплекта: '.$setId;
	print_r($set); // описание и состав комплекта
}


© «Битрикс», 2001-2024, «1С-Битрикс», 2024