• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/integration/sale/cashbox/eventhandlers/check.php
  • Класс: BitrixCatalogIntegrationSaleCashboxEventHandlersCheck
  • Вызов: Check::getProductsInfo
static function getProductsInfo(array $productIdsFromCheck): array
{
	$result = [];

	$repositoryFacade = Catalogv2IoCServiceContainer::getRepositoryFacade();

	foreach ($productIdsFromCheck as $productIdFromCheck)
	{
		$product = $repositoryFacade->loadProduct($productIdFromCheck);
		if ($product)
		{
			$result[$productIdFromCheck] = [
				'parent_id' => $product->getId(),
				'sections' => $product->getSectionCollection()->getValues(),
			];
		}
		else
		{
			$variation = $repositoryFacade->loadVariation($productIdFromCheck);
			if ($variation)
			{
				$parent = $variation->getParent();
				if ($parent)
				{
					$product = $repositoryFacade->loadProduct($parent->getId());
					if ($product)
					{
						$result[$productIdFromCheck] = [
							'parent_id' => $product->getId(),
							'sections' => $product->getSectionCollection()->getValues(),
						];
					}
				}
			}
		}
	}

	return $result;
}