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

	$runtime = [
		new BitrixMainEntityReferenceField(
			'STATUS_TABLE',
			'BitrixSaleInternalsStatusTable',
			array('=this.STATUS_ID' => 'ref.ID')
		),
		new BitrixMainEntityReferenceField(
			'DELIVERY',
			'BitrixSaleDeliveryServicesTable',
			array('=this.DELIVERY_ID' => 'ref.ID')
		),
	];

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

	return new Page('SHIPMENTS', $shipments, function() use ($select, $filter, $runtime)
	{
		return count(
			BitrixSaleShipment::getList(['select'=>$select, 'filter'=>$filter, 'runtime'=>$runtime])->fetchAll()
		);
	});
}