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

CheckFields

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

bool
CCatalog::CheckFields(
 string $ACTION,
 array &$arFields[,
 int $ID = 0]
);

Метод служит для проверки (и корректировки, если это возможно) параметров, переданных в методы CCatalog::Add и CCatalog::Update. Нестатический метод.

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

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

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

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

Обязательные проверки

  • для CCatalog::Add
    • ключ IBLOCK_ID присутствует и содержит код (ID) существующего инфоблока;
    • если ключ SUBSCRIPTION не существует или не равен Y, ему присваивается значение N;
    • если ключ YANDEX_EXPORT не существует или не равен Y, ему присваивается значение N;
    • если ключ VAT_ID не существует или меньше 0, ему присваивается значение 0;
    • PRODUCT_IBLOCK_ID и SKU_PROPERTY_ID оба отсутствуют, оба равны нулю, либо отвечают правилу:
      • PRODUCT_IBLOCK_ID - код (ID) существующего инфоблока;
      • SKU_PROPERTY_ID - код (ID) существующего свойства инфоблока IBLOCK_ID. Тип свойства - "SKU", свойство одиночное, поле LINK_IBLOCK_ID свойства = PRODUCT_IBLOCK_ID.

  • для CCatalog::Update
    • инфоблок с кодом ID должен являться торговым каталогом;
    • если ключ SUBSCRIPTION существует и не равен Y, ему присваивается значение N;
    • если ключ YANDEX_EXPORT существует и не равен Y, ему присваивается значение N;
    • если ключ VAT_ID существует и меньше 0, ему присваивается значение 0;
    • PRODUCT_IBLOCK_ID и SKU_PROPERTY_ID оба отсутствуют либо оба заданы;

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

<?
$arFields = array(
   'IBLOCK_ID' => 2,
   'YANDEX_EXPORT' => 'Y'
);
$boolResult = CCatalog::CheckFields('ADD',$arFields);
if ($boolResult == false)
{
	if ($ex = $APPLICATION->GetException())
	{
		$strError = $ex->GetString();
		ShowError($strError);
	}
}
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх