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