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
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.