• Модуль: rpa
  • Путь к файлу: ~/bitrix/modules/rpa/lib/model/itemsorttable.php
  • Класс: BitrixRpaModelItemSortTable
  • Вызов: ItemSortTable::resortItems
static function resortItems(int $userId, Type $type, int $stageId): void
{
	$itemIds = [];
	$items = static::getList([
		'select' => [
			'ITEM_ID',
		],
		'order' => [
			'sort' => 'ASC',
		],
		'filter' => [
			'=USER_ID' => $userId,
			'=TYPE_ID' => $type->getId(),
			'=ITEM.STAGE_ID' => $stageId,
		],
		'runtime' => [
			static::getItemReferenceField($type)
		],
	]);
	while($item = $items->fetch())
	{
		$itemIds[] = $item['ITEM_ID'];
	}

	if(empty($itemIds))
	{
		return;
	}

	$sort = static::DEFAULT_MAX_SORT;
	$items = static::getList([
		'select' => [
			'ID',
		],
		'filter' => [
			'=USER_ID' => $userId,
			'=TYPE_ID' => $type->getId(),
			'=ITEM_ID' => $itemIds,
		],
	]);
	while($item = $items->fetch())
	{
		static::update($item['ID'], ['SORT' => $sort]);
		$sort += static::DEFAULT_MAX_SORT;
	}
}