Посетите Дворцовую площадь

Разделение остатков на складах (наличия) в разных регионах


Для начала вам нужно свойство региона для хранения привязки регионов к складам. Назовём его "ID склада" ("ID_SKLADA"). Если в одном регионе у вас может быть несколько складов, сделайте это свойство множественным.

Свойство для склада у регионов продаж

Сами id складов можно найти на странице Магазин -> Складской учет -> Склады:

ID складов

Скорее всего каталог у вас выводится посредством компонента bitrix:catalog. У такого компонента (и ряда других) есть параметр "Склады" ("STORES"). Вам нужно передать в него $_SESSION["VREGIONS_REGION"]["ID_SKLADA"]. Сделать это придётся прямо в коде страницы (скорее всего /catalog/index.php). Выглядеть это будет вот так:

Установка значения параметра STORES под регионы продаж

Вариант 2. Если у вашего компонента нет параметра "Склады" ("STORES")

Нужен программист!

Тут нужно сделать вставку кода в result_modifier.php компонента, который выводит товары. Для примера вот код с сайта одного из покупателей:

if ($_SESSION["VREGIONS_REGION"]["ID_SKLADA"]){
$rsStore = CCatalogStoreProduct::GetList(
	array(),
	array(
		'PRODUCT_ID' => $arItem["ID"],
		'STORE_ID' => $_SESSION["VREGIONS_REGION"]["ID_SKLADA"]
	),
	false,
	false,
	array('AMOUNT')
);
if ($arStore = $rsStore->Fetch()){
	$arResult['ITEMS'][$index]['CATALOG_QUANTITY'] = $arStore['AMOUNT'];
}
}

Плюс в массив подключения компонента ($arParams) нужно передать ключ для разделения кеша по регионам.

Передача VREGIONS_REGION в компонент



Аристов Василий
Разработчик всех модулей на проекте

Теги



Что-то осталось непонятным или вы нашли неточность? Напишите, пожалуйста об этом в комментариях.

Написать комментарий

Чтобы писать комментарии, вам нужно войти на сайт

Авторизоваться через соцсеть

Авторизоваться через vk.com Авторизоваться через facebook.com

Хотите такие же комментарии себе на сайт? Купите готовый к установке модуль