• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/item/fieldimplementation/binding.php
  • Класс: Bitrix\Crm\Item\FieldImplementation\Binding
  • Вызов: Binding::getBoundEntities
private function getBoundEntities(array $bindings): array
{
	$ids = EntityBinding::prepareEntityIDs($this->boundEntityTypeId, $bindings);
	$entities = $this->broker->getBunchByIds($ids);

	$sorts = [];
	foreach ($bindings as $singleBinding)
	{
		$entityId = EntityBinding::prepareEntityID($this->boundEntityTypeId, $singleBinding);
		$sorts[$entityId] = (int)($singleBinding['SORT'] ?? 0);
	}

	usort(
		$entities,
		static function (EntityObject $left, EntityObject $right) use ($sorts): int {
			$sortLeft = (int)($sorts[$left->getId()] ?? 0);
			$sortRight = (int)($sorts[$right->getId()] ?? 0);

			return ($sortLeft - $sortRight);
		}
	);

	return $entities;
}