- Модуль: 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);
}