После обмена мне надо менять доступное количество товара, делаю таким образом
AddEventHandler('catalog', 'OnCompleteCatalogImport1C', 'quantityCatalogImportStep');
function quantityCatalogImportStep()
{
$addProps = CIBlockElement::GetList (
Array("QUANTITY" => "ASC"),
Array("IBLOCK_ID" => 18),
false,
false,
Array(
'ID', 'QUANTITY', 'NAME', 'PROPERTY_MIN_UPAKOVKA'
)
);
while($ar_fields = $addProps->GetNext())
{
$kolvo = $ar_fields['QUANTITY'];
$min_upakovka = $ar_fields['PROPERTY_MIN_UPAKOVKA_VALUE'];
$new_kolvo = (int)($kolvo / $min_upakovka);
if ($ar_fields['QUANTITY'] > 0 && $ar_fields['PROPERTY_MIN_UPAKOVKA_VALUE'] > 0) {
Cmodule::IncludeModule('catalog');
$PRODUCT_ID = $ar_fields['ID'];
$arFields = array(
'QUANTITY' => $new_kolvo
);
CCatalogProduct::Update($PRODUCT_ID, $arFields);
}
}
}
но она меняет после последнего обмена, а количества появляются пораньше т.е. ненужное мне количество висит пока идёт импорт (полчаса/час) на какое событие или как сделать так чтобы она меняла сразу?
ставил на OnSuccessCatalogImport1C, но тогда он при каждом пакете меняет кол-во а это 12 раз