Задать вопрос
@ikfah012
Не самый умный парень в этом чате

Как сделать все товары в наличии?

Добрый день.
Достался интернет-магазин на битриксе с 4000 товаров, все товары "не в наличии",
В настройках товара - торговый каталог - Разрешить покупку при отсутствии товара (включая разрешение отрицательного количества товара): НЕТ.
Как можно массово включить все товары на "в наличии" и разрешить покупку при отрицательном количестве?
  • Вопрос задан
  • 2128 просмотров
Подписаться 1 Простой 9 комментариев
Решения вопроса 1
@PetrPo
Примерно так, можно лучше запрос сделать, но на раз сойдет - этот код установит значение по умолчанию
\Bitrix\Main\Loader::includeModule('iblock');
\Bitrix\Main\Loader::includeModule('catalog');

$iblocksId = [2, 3];

$iterator = \Bitrix\Iblock\ElementTable::getList([
	'select' => ['IBLOCK_ID', 'ID'],
	'filter' => ['IBLOCK_ID' => $iblocksId, '!PRODUCT.CAN_BUY_ZERO' => 'D', '!PRODUCT.TYPE' => \Bitrix\Catalog\ProductTable::TYPE_SKU],
	'runtime' => [
		'PRODUCT' => [
			'data_type' => '\Bitrix\Catalog\ProductTable',
			'reference' => ['=this.ID' => 'ref.ID']
		]
	]
]);

$elements = [];
while($row = $iterator->fetch()) {
	$elements[] = $row;
}

foreach($elements as $element) {
	CCatalogProduct::Update($element['ID'], ['CAN_BUY_ZERO' => 'D']);	
}

echo 'Количество = '.count($elements);


$iblocksId - id-шники инфоблоков Каталог и Торговые предложения, если торговых предложений нет, укажи только ид каталога

Потом в ответах там скрин человек скинул, выставь настройки по умолчанию
В компоненте каталога должен быть указан PRICE_CODE
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
В настройках модуля торговый каталог: https://i.imgur.com/WzPgTi6.png
Ответ написан
Ваш ответ на вопрос

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

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