• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/property.php
  • Класс: BitrixSaleControllerProperty
  • Вызов: Property::listAction
public function listAction(PageNavigation $pageNavigation, $select=[], $filter=[], $order=[]): Page
{
	$select = empty($select) ? ['*'] : $select;
	$order = empty($order) ? ['ID' => 'ASC'] : $order;

	/** @var EntityProperty $propertyClassName */
	$propertyClassName = $this->getPropertyClassName();

	$items = $propertyClassName::getList(
		[
			'select' => $select,
			'filter' => $filter,
			'order' => $order,
			'offset' => $pageNavigation->getOffset(),
			'limit' => $pageNavigation->getLimit(),
		]
	)->fetchAll();

	return new Page('PROPERTIES', $items, function() use ($filter)
	{
		/** @var EntityProperty $propertyClassName */
		$propertyClassName = $this->getPropertyClassName();

		return (int) $propertyClassName::getList([
			'select' => ['CNT'],
			'filter' => $filter,
			'runtime' => [
				new ExpressionField('CNT', 'COUNT(ID)')
			]
		])->fetch()['CNT'];
	});
}