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