Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
то ждем ваше обращение в нашей службе тех поддержки.
Код который решил задачу, подставьте свой айди инфоблока 'IBLOCK_ID' => 54 (здесь ваш айди инфоблока) и 'CATALOG_PRICE_6' (вместо 6 ваш номер базовой цены), CATALOG_GROUP_ID => 6 (аналогично Ваш номер базовой цены)
Назад в раздел
Код |
---|
AddEventHandler("catalog", "OnSuccessCatalogImport1C", "OnSuccessCatalogImport1CHandler"); function OnSuccessCatalogImport1CHandler() { // Флаг импорта файла торговых предложений if($isOffers = strpos($_REQUEST['filename'], 'offers') !== false) { // Условия выборки элементов для обработки $arFilter = array( 'IBLOCK_ID' => 54, 'ACTIVE' => 'Y', 'CATALOG_PRICE_6' => false, ); $res = CIBlockElement::GetList(array('ID' => 'ASC'), $arFilter); $errorMessage = null; while ($arItem = $res->Fetch()) { // Что-нибудь делаем $arFieldsPrice = Array( "PRODUCT_ID" => $arItem['ID'], "CATALOG_GROUP_ID" => 6, "PRICE" => 0, "CURRENCY" => 'RUB' ); $db_res = CPrice::GetList( array(), array( "PRODUCT_ID" => $arItem['ID'], "CATALOG_GROUP_ID" => 6, ) ); if(!CCatalogProduct::Add(Array("ID"=> $arItem['ID'], "QUANTITY"=>0))) $errorProduct = true; if ($ar_res = $db_res->Fetch()) { if(!CPrice::Update($ar_res['ID'], $arFieldsPrice)) $errorPrice = true; } else { if(!CPrice::Add($arFieldsPrice)) $errorPrice = true; } if ($errorPrice === true && $errorProduct === true) { $errorMessage = 'Не удалось заполнить нулевое значение для товара без цены и создать сущность товара.'; } elseif($errorProduct === true) { $errorMessage = 'Не удалось создать сущность товара.'; } elseif($errorPrice === true) { $errorMessage = 'Не удалось заполнить нулевое значение для товара без цены.'; } if ($errorMessage !== null) { echo "failure\n" . $errorMessage; } } } } |
Назад в раздел
Подписаться на новые материалы раздела: