- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Reservation/BasketReservation.php
- Класс: Bitrix\Crm\Reservation\BasketReservation
- Вызов: BasketReservation::getReservedProducts
public function getReservedProducts(): array
{
$result = [];
$productReservationMap = $this->getReservationMap();
if ($productReservationMap)
{
$reservationProductMap = array_flip($productReservationMap);
$basketReservationIterator = Sale\ReserveQuantityCollection::getList([
'select' => ['ID', 'QUANTITY', 'STORE_ID', 'DATE_RESERVE_END'],
'filter' => [
'=ID' => array_values($productReservationMap),
],
]);
while ($basketReservation = $basketReservationIterator->fetch())
{
$productRowId = $reservationProductMap[$basketReservation['ID']] ?? null;
if ($productRowId)
{
$result[$productRowId] = [
'RESERVE_ID' => (int)$basketReservation['ID'],
'STORE_ID' => (int)$basketReservation['STORE_ID'],
'RESERVE_QUANTITY' => (float)$basketReservation['QUANTITY'],
];
if ($basketReservation['DATE_RESERVE_END'] instanceof Main\Type\Date)
{
$result[$productRowId]['DATE_RESERVE_END'] =
$basketReservation['DATE_RESERVE_END']->format(Main\Type\Date::convertFormatToPhp(FORMAT_DATE))
;
}
}
}
}
return $result;
}