Пример получения списка товаров из базы данных, с дальнейшим изменением их свойств, а также изменение количества данного товара на складе через API 1С-Битрикс (php) – доступно из любого скрипта с подключенным PROLOG, проверялось на Управление сайтом 20.0.1650. (версия модуля интернет-магазин 20.0.687)
<?php
CModule::IncludeModule('iblock');
// выборка товаров
$arSelect = Array('ID', 'NAME', 'PROPERTY_TEST');
$arFilter = Array(
'IBLOCK_ID' => 1, // ID инфоблока, указать необходимый
'IBLOCK_SECTION_ID' => 1, // ID раздела , указать необходимый
'ACTIVE' => 'Y', // активный
'CATALOG_AVAILABLE' => 'Y' // доступен к покупке
);
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array(), $arSelect);
// цикл по выбранным товарам
while ($ob = $res->GetNextElement()) {
$arElement = $ob->GetFields();
//print '<pre>'; print_r($arElement); print '</pre>';
// первый вариант изменения свойств
CIBlockElement::SetPropertyValuesEx($arElement['ID'], false, array('TEST' => ‘1’));
// второй вариант изменения товара
$el = new CIBlockElement;
$el->Update($arElement ['ID'], array('WF_STATUS_ID' => 1, 'ACTIVE' => 'N'), true);
// изменение количества товара на складе
$arFields = Array(
"PRODUCT_ID" => $arElement ['ID'],
"STORE_ID" => 3,
"AMOUNT" => 0,
);
CCatalogStoreProduct::Update(1, $arFields);
}