- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/controller/storeselector.php
- Класс: BitrixCatalogControllerStoreSelector
- Вызов: StoreSelector::getProductStoresAction
public function getProductStoresAction(int $productId): array
{
$iterator = CIBlockElement::GetList(
[],
[
'ID' => $productId,
'ACTIVE' => 'Y',
'ACTIVE_DATE' => 'Y',
'CHECK_PERMISSIONS' => 'Y',
'MIN_PERMISSION' => 'R',
],
false,
false,
['ID', 'IBLOCK_ID', 'TYPE']
);
$element = $iterator->Fetch();
if (!$element)
{
return [];
}
$filter = [
'=PRODUCT_ID' => $productId,
];
$accessFilter = $this->accessController->getEntityFilter(
ActionDictionary::ACTION_STORE_VIEW,
StoreProductTable::class
);
if ($accessFilter)
{
$filter[] = $accessFilter;
}
$storeAmounts = StoreProductTable::getList([
'filter' => $filter,
'select' => [
'AMOUNT',
'QUANTITY_RESERVED',
'STORE_ID',
'STORE_TITLE' => 'STORE.TITLE'
]
]);
return $storeAmounts->fetchAll();
}