• Модуль: rpa
  • Путь к файлу: ~/bitrix/modules/rpa/lib/model/stage.php
  • Класс: BitrixRpaModelStage
  • Вызов: Stage::getUserSortedItems
public function getUserSortedItems(array $parameters = [], int $userId = null): Collection
{
	if($userId === null)
	{
		$userId = Driver::getInstance()->getUserId();
	}
	if($userId > 0 && $this->getTypeId() > 0)
	{
		if(!isset($parameters['select']))
		{
			$parameters['select'] = ['*'];
		}
		$parameters['select']['USORT'] = 'USER_SORT.SORT';
		$parameters['select'][] = 'USER_SORT.ID';
		$parameters['select'][] = new ExpressionField('EUSORT', 'CASE WHEN %s > 0 THEN %s ELSE 999999999 END', ['USER_SORT.ID', 'USER_SORT.SORT']);
		$sortOrder = 'ASC';
		if(isset($parameters['order']['USORT']) && is_array($parameters['order']) && $parameters['order']['USORT'] === 'DESC')
		{
			$sortOrder = 'DESC';
		}
		$parameters['order'] = [
			'EUSORT' => $sortOrder,
			'MOVED_TIME' => 'DESC',
			'ID' => 'DESC',
		];
		$parameters['runtime'] = [
			PrototypeItem::getUserSortReferenceField($this->getTypeId(), $userId),
		];
	}

	return $this->getItems($parameters);
}