Меню

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

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: заметки разработчика

Умный фильтр во всплывающей панели на мобильных.

Шаблон умного фильтра в Битриксе достаточно сложный, с точки зрения верстки и не очень красиво отображается на мобильных...

Создать pdf файл из элемента инфоблока, дать скачать пользователю, поддерживать в актуальном состоянии или отправить на e-mail.

Задача: при каждом посещении статьи, на сайте, нужно создавать pdf файл с ее содержимым и записывать в свойство инфоблок...

Добавление своих полей в почтовые шаблоны Битрикс

Иногда нужно внести свои поля в почтовые шаблоны битрикс. Например: добавить имя и номер телефона заказчика в почтовый ш...

Вывести минимальную и максимальную цену в разделе каталога Битрикс.

Что бы вывести минимальную и максимальную стоимость товаров, из каталога 1С-Битрикс, достаточно получить все товары мето...

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

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

Не дать пользователю купить больше одного товара, в Битрикс

Иногда нужно и такое: Например: на одном из разрабатываемых сайтов, мне нужно было создать всего 4 товара. при этом поку...

Базовая защита "Битрикс виртуальная машина" от DDoS атак.

Данный способ защиты не панацея, и скорее всего не спасет от профессиональной DDoS атаки, когда ваш сервер на CentOS под...

Вывести артикул в печатную форму бланка заказа

Задача: в печатную форму бланка заказа добавить артикулы товаров и данные о пользователе.

Повторить заказ на API 1С-Битрикс наполнив корзину из заказа

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