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

Как загрузить товары из файла импорта независимо от того, были ли они изменены?

Выгружаю товары с сервиса МойСклад. В файл выгрузки попадают все товары, но для тех из них, которые не были изменены, не срабатывает событие "onBeforeIBlockElementUpdate". Bitrix как-то отслеживает изменения в товарах перед вызовом этого события? Можно как-то это обойти?
  • Вопрос задан
  • 46 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@photosho Автор вопроса
Нужно было один раз выполнить импорт всех товаров независимо от того, менялись они или нет, для заполнения определенного свойства значением, приходящим со склада. Так как такой импорт нужно было сделать только один раз, прибег к изменению файлов ядра (которые потом отменил). Если кому-нибудь будет нужно, объясняю, как сделал.

/bitrix/modules/iblock/classes/general/cml2.php

Строка 2973:

if($bMatch && $this->use_crc)

Здесь производится проверка контрольной суммы, а в "else" после этого блока - как раз действия, выполняемые, если товар был изменен. Нужно отключить этот блок, самый простой способ:

if($bMatch && $this->use_crc && false)

Тогда все товары будут импортироваться, даже если они не были изменены. Только после импорта изменения необходимо отменить - менять файлы ядра запрещено.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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