• Модуль: 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();
}