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-2024, «1С-Битрикс», 2024