Здравствуйте, уважаемые коллеги.
Я переношу товыры из БД старого сайта(самописная cms).
Всё что мне нужно - в цикле создавать товары и устанавливать им цены(код в конце сообщения).
Все прекрасно работает, однако в каталоге товары не доступны для покупки до того момента, пока товар не будет отредактирован в режиме администрирования.
Поясню. Я имею в каталоге товары недоступные для покупки(битрикс считает что у них не проставлена цена). В режиме редактирования я выбираю обьект и открываю окно редактирования элемента каталога. Захожу на вкладку "Торговый каталог" - цены нет! Далее меняю любой параметр(например сортировку) и сохраняю изменения. Барабанная дробь.... у товара появилась корректная цена и он доступен для покупки.
Как обьясняется такое поведение товара? Как я могу произвести "обновление" товара в цикле ?
Вот код добавления цены:
<?
/*** Добавляю новый элемент ****/
$el = new CIBlockElement;
$arLoadProductArray = Array(
"MODIFIED_BY" => $USER->GetID(),
"IBLOCK_SECTION_ID" => false,
"IBLOCK_ID" => 16,
"NAME" => "Тест",
"ACTIVE" => "Y"
);
if($PRODUCT_ID = $el->Add($arLoadProductArray))
echo "New ID: ".$PRODUCT_ID;
else
echo "Error: ".$el->LAST_ERROR;
/*** Установливаю цену созданного ранее элемента ****/
$PRICE_TYPE_ID = 2;
$arFields = Array(
"PRODUCT_ID" => $PRODUCT_ID,
"CATALOG_GROUP_ID" => $PRICE_TYPE_ID,
"PRICE" => 777,
"CURRENCY" => "RUB"
);
CPrice::Add($arFields);
?>
Я переношу товыры из БД старого сайта(самописная cms).
Всё что мне нужно - в цикле создавать товары и устанавливать им цены(код в конце сообщения).
Все прекрасно работает, однако в каталоге товары не доступны для покупки до того момента, пока товар не будет отредактирован в режиме администрирования.
Поясню. Я имею в каталоге товары недоступные для покупки(битрикс считает что у них не проставлена цена). В режиме редактирования я выбираю обьект и открываю окно редактирования элемента каталога. Захожу на вкладку "Торговый каталог" - цены нет! Далее меняю любой параметр(например сортировку) и сохраняю изменения. Барабанная дробь.... у товара появилась корректная цена и он доступен для покупки.
Как обьясняется такое поведение товара? Как я могу произвести "обновление" товара в цикле ?
Вот код добавления цены:
<?
/*** Добавляю новый элемент ****/
$el = new CIBlockElement;
$arLoadProductArray = Array(
"MODIFIED_BY" => $USER->GetID(),
"IBLOCK_SECTION_ID" => false,
"IBLOCK_ID" => 16,
"NAME" => "Тест",
"ACTIVE" => "Y"
);
if($PRODUCT_ID = $el->Add($arLoadProductArray))
echo "New ID: ".$PRODUCT_ID;
else
echo "Error: ".$el->LAST_ERROR;
/*** Установливаю цену созданного ранее элемента ****/
$PRICE_TYPE_ID = 2;
$arFields = Array(
"PRODUCT_ID" => $PRODUCT_ID,
"CATALOG_GROUP_ID" => $PRICE_TYPE_ID,
"PRICE" => 777,
"CURRENCY" => "RUB"
);
CPrice::Add($arFields);
?>