• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Factory/Deal.php
  • Класс: Bitrix\Crm\Service\Factory\Deal
  • Вызов: Deal::loadCategories
protected function loadCategories(): array
{
	$defaultCategory = new DealDefaultCategory(
		\Bitrix\Crm\Category\DealCategory::getDefaultCategoryName(),
		\Bitrix\Crm\Category\DealCategory::getDefaultCategorySort()
	);

	$result = [$defaultCategory];

	$categories = DealCategoryTable::getList([
		'order' => [
			'SORT' => 'ASC',
			'ID' => 'ASC',
		]
	])->fetchCollection();
	foreach ($categories as $category)
	{
		$result[] = new DealCategory($category);
	}

	usort(
		$result,
		static function(Category $a, Category $b) {
			if ($a->getSort() === $b->getSort())
			{
				return 0;
			}

			return ($a->getSort() < $b->getSort()) ? -1 : 1;
		}
	);

	return $result;
}