Задать вопрос
@redesupar

Какое событие лучше использовать для изменения количества после импорта?

Повесил смену количества товаров на событие OnSuccessCatalogImport1C, но как я понял он срабатывает после 1 пакета изменений (товаров 3к, а пакеты по 300), получается что после 10 пакета xml у меня становится неадекватное количество товаров. Как это можно исправить?
AddEventHandler('catalog', 'OnSuccessCatalogImport1C', '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) {
	echo 'Товару с ID-' . $ar_fields['ID'] .' установлены параметры';
	echo 'Новое количество:' . $new_kolvo.'
';

	
	Cmodule::IncludeModule('catalog');
	$PRODUCT_ID = $ar_fields['ID'];
	$arFields = array(
		'QUANTITY' => $new_kolvo
	);
	CCatalogProduct::Update($PRODUCT_ID, $arFields);
    }
}
}
  • Вопрос задан
  • 354 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы