Стояла задача убрать из умного фильтра товары, которые были отмечены как распроданные. При этом активны на сайте. Решил через удаление их из фасетного индекса.
$arSelect = Array("ID", "IBLOCK_ID", "NAME");//IBLOCK_ID и ID обязательно должны быть указаны, см. описание arSelectFields выше
$arFilter = Array("IBLOCK_ID"=>60, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "PROPERTY_SOLD" => "Y");
$res = CIBlockElement::GetList(Array(), $arFilter, false, array("nPageSize" => 50, "iNumPage" => $i), $arSelect);
while($ob = $res->GetNextElement()){
$arFields = $ob->GetFields();
\Bitrix\Iblock\PropertyIndex\Manager::deleteElementIndex(60, $arFields["ID"]);
echo "<br>";
}
$i++;
echo "<meta http-equiv='refresh' content='1; url=?i=".$i."' />";
Удаляется за раз 50 элементом, затем страница перезагружается(работает в браузере, возможно переделаю для запуска в консоли).
