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

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-2020, «1С-Битрикс», 2020
Наверх