- Модуль: crmmobile
- Путь к файлу: ~/bitrix/modules/crmmobile/lib/ProductGrid/StoreDataProvider.php
- Класс: BitrixCrmMobileProductGridStoreDataProvider
- Вызов: StoreDataProvider::loadProductToStores
static function loadProductToStores(array $productIds): void
{
self::$productToStores = [];
if (empty($productIds))
{
return;
}
$filter = ['=PRODUCT_ID' => $productIds];
$accessFilter = AccessController::getCurrent()->getEntityFilter(
ActionDictionary::ACTION_STORE_VIEW,
StoreProductTable::class
);
if ($accessFilter)
{
$filter = [
$accessFilter,
$filter,
];
}
$storeProductList = StoreProductTable::getList([
'filter' => $filter,
'select' => [
'AMOUNT',
'QUANTITY_RESERVED',
'STORE_ID',
'PRODUCT_ID',
],
]);
while ($storeProduct = $storeProductList->fetch())
{
$productId = $storeProduct['PRODUCT_ID'];
self::$productToStores[$productId] ??= [];
self::$productToStores[$productId][$storeProduct['STORE_ID']] = [
'AMOUNT' => (float)$storeProduct['AMOUNT'],
'QUANTITY_RESERVED' => (float)$storeProduct['QUANTITY_RESERVED'],
'STORE_ID' => (int)$storeProduct['STORE_ID'],
];
}
}