Меню

Не дать купить товара больше, чем находится на определнных складах

RSS
Не дать купить товара больше, чем находится на определнных складах
 
Не дать купить товара больше, чем находится на определнных складах

Задача: в магазине 20 складов, на всех есть остатки но нужно ограничить покупку товара только остатками на двух складах, не меняя параметр "Доступное количество" и не включая складской учет.
 
Аналог CCatalogStoreProduct::GetList на D7 это \Bitrix\Catalog\StoreProductTable
Код
use Bitrix\Catalog\StoreProductTable;
use Bitrix\Main\Entity\Query;

// ID товара и ID складов
$productId = $arResult['ID'];
$storeIds = [6, 13];

// Инициализация результата
$arResult['HAS_QUANTITY'] = 0;

// Выполняем запрос с использованием ORM
$storeRes = StoreProductTable::getList([
    'filter' => [
        'PRODUCT_ID' => $productId,
        'STORE_ID' => $storeIds,
    ],
    'select' => ['AMOUNT'],
]);

// Обрабатываем результат
while ($arStoreParam = $storeRes->fetch()) {
    $arResult['HAS_QUANTITY'] += (int)$arStoreParam['AMOUNT'];
}
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 

Блог-note: заметки разработчика

Заполнить свойство инфоблока ценой из торгового каталога

Если вам по какой-то причине нужно скопировать цену товара в свойство этого же инфоблока. Например, для вывода старой це...

Картинка торгового предложения вместо иконки цвета, в выборе SKU

Задача: вместо не информативных иконок цветов нужно вывести детальную картинку торгового предложения. Если картинки у пр...

Основные функции вывода в шаблонах Битрикс

Знаю, что все их знают. Но иногда не бывает лишним собрать все самое используемое в одну кучку. Ведь у каждого бывают мо...

Уникальная СЕО информация для каждого торгового предложения в каталоге 1С-Битрикс

Задача: реализовать уникальную мета-информацию для каждого SKU в каталоге. У каждого ТП должны быть свои: заголовок h1, ...

Как добавить режим редактирования элементов в собственном компоненте Битрикс

Задача: добавить режим редактирования и удаления элементов в собственном компоненте.

Открытие мобильного приложения Apache Cordova по ссылке

Достаточно часто нужно реализовывать открытие мобильного приложения по ссылке. Например: при отправке ссылки на электоро...

Установка вебсервера на Apple Silicon (нативный ARM стек), оптимизированный для 1С-Битрикс.

Появилась задачка, установить стек MAMP (macOS, Apache, MYSQL, PHP) на рабочий ноутбук с процессором Apple Silicon M1. В...

Кастомизация компонента восстановления пароля bitrix:system.auth.forgotpasswd

Достаточно часто спрашивают как кастомизировать компонент восстановления пароля пользователя. Типовая задача, это измени...

Получить все поля раздела, включая пользовательские, в section.php

Если нужно получить какие-то данные о текущем разделе, которых нет в изначальном массиве, можно воспользоваться методом ...