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

Add

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

bool
CCatalog::Add(
	array arFields
);

Метод служит для добавления новой записи в таблицу привязывания информационного блока к модулю торгового каталога. Нестатический метод.

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

ПараметрОписание
arFields Массив параметров привязки, который может содержать следующие ключи:
  • IBLOCK_ID - код (ID) инфоблока (обязательный);
  • SUBSCRIPTION - флаг "Продажа контента" (Y/N) (необязательный), по умолчанию - N;
  • YANDEX_EXPORT - флаг "Экспортировать в Яндекс.Маркет" (Y/N) (необязательный), по умолчанию - N;
  • VAT_ID - код (ID) типа НДС (необязательный), по умолчанию - 0;
  • PRODUCT_IBLOCK_ID - код (ID) инфоблока товаров (для инфоблока торговых предложений) (необязательный, только вместе с SKU_PROPERTY_ID), по умолчанию - 0;
  • SKU_PROPERTY_ID - код (ID) свойства привязки к инфоблоку товаров (для инфоблока торговых предложений), (необязательный, только вместе с PRODUCT_IBLOCK_ID), по умолчанию - 0;
Необязательные ключи, отсутствующие в массиве, получат значения по умолчанию.

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

Возвращает true, если запись успешно добавлена и false - если произошла ошибка. Текстовое сообщение об ошибках можно получить через $APPLICATION->GetException().

Перед добавлением записи в таблицу осуществляется проверка параметров привязки методом CCatalog::CheckFields (условия корректности параметров изложены в нем). Если проверка прошла успешно, производится запись в базу. Попытка добавить больше одной записи с одинаковым IBLOCK_ID вызовет ошибку базы данных.

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

Привязка инфоблока к модулю Торгового каталога

$arFields = array(
	'IBLOCK_ID' => 2,			// код (ID) инфоблока товаров
	'YANDEX_EXPORT' => 'Y',		// экспортировать в Яндекс.Маркет с помощью агента
);
$boolResult = CCatalog::Add($arFields);
if ($boolResult == false)
{
	if ($ex = $APPLICATION->GetException())
	{
		$strError = $ex->GetString();
		ShowError($strError);
	}
}

Привязка инфоблока к модулю Торговых предложений как инфоблока торговых предложений

$arFields = array(
	'IBLOCK_ID' => 2,			// код (ID) инфоблока торговых предложений
	'VAT_ID' => 2,				// код (ID) типа НДС 
	'PRODUCT_IBLOCK_ID' => 10,	// код (ID) инфоблока товаров (может быть привязан или не привязан к модулю торгового каталога)
	'SKU_PROPERTY_ID' => 14		// код (ID) свойства привязки инфоблока с ID=2 к инфоблоку с ID=10 (тип свойства - SKU)
);
$boolResult = CCatalog::Add($arFields);
if ($boolResult == false)
{
	if ($ex = $APPLICATION->GetException())
	{
		$strError = $ex->GetString();
		ShowError($strError);
	}
}


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