Задача: обнулить кол-во товаров в 1С-Битрикс.
Скрипт простой:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
set_time_limit(0);
ini_set('max_execution_time', '3600');
ini_set('memory_limit', '512M');
$IBLOCK_ID = 1; // инфоблок каталога
$c = 0;
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
$arSelect = array(
"ID",
"NAME",
"IBLOCK_ID",
);
$arFilter = array(
"IBLOCK_ID" => $IBLOCK_ID,
"IBLOCK_ACTIVE" => "Y",
);
$r = CIBlockElement::GetList(
array(),
$arFilter,
false,
false,
$arSelect
);
$arFields = Array(
"IBLOCK_ID" => $IBLOCK_ID,
);
while ( $arCurrentItem = $r->GetNext() ) {//update
CCatalogProduct::Update($arCurrentItem["ID"], Array("QUANTITY"=>"0"));
$c++;
}
echo $c.' завершено';
Скриптом можно воспользоваться прямо из админки Битрикс:
Настройки - Инструменты - Командная PHP-строка
