- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/controller/paymentitemshipment.php
- Класс: BitrixSaleControllerPaymentItemShipment
- Вызов: PaymentItemShipment::listAction
public function listAction(PageNavigation $pageNavigation, array $select = [], array $filter = [], array $order = []): Page
{
$select = empty($select) ? ['*'] : $select;
$order = empty($order) ? ['ID' => 'ASC'] : $order;
$filter['ENTITY_TYPE'] = PayableShipmentItem::getEntityType();
$registry = Registry::getInstance(Registry::REGISTRY_TYPE_ORDER);
/** @var PayableItemCollection $payableItemCollection */
$payableItemCollection = $registry->get(Registry::ENTITY_PAYABLE_ITEM_COLLECTION);
$paymentItems = $payableItemCollection::getList(
[
'select' => $select,
'filter' => $filter,
'order' => $order,
'offset' => $pageNavigation->getOffset(),
'limit' => $pageNavigation->getLimit(),
]
)->fetchAll();
return new Page('PAYMENT_ITEMS_SHIPMENT', $paymentItems, function() use ($filter)
{
$registry = Registry::getInstance(Registry::REGISTRY_TYPE_ORDER);
/** @var PayableItemCollection $payableItemCollection */
$payableItemCollection = $registry->get(Registry::ENTITY_PAYABLE_ITEM_COLLECTION);
return (int) $payableItemCollection::getList([
'select' => ['CNT'],
'filter' => $filter,
'runtime' => [
new ExpressionField('CNT', 'COUNT(ID)')
]
])->fetch()['CNT'];
});
}