CheckFields
Описание и параметры
bool CCatalog::CheckFields( string $ACTION, array &$arFields[, int $ID = 0] );
Метод служит для проверки (и корректировки, если это возможно) параметров, переданных в методы CCatalog::Add и CCatalog::Update. Нестатический метод.
Параметры вызова
| Параметр | Описание |
|---|---|
| ACTION | Указывает, для какого метода идет проверка. Возможные значения:
|
| arFields | Ассоциативный массив параметров привязки инфоблока к модулю Торгового каталога. Массив передается по ссылке и его значения могут быть изменены методом.
Допустимые ключи:
|
| 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-2025, «1С-Битрикс», 2025