• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/checklistitem.php
  • Класс: CTaskCheckListItem
  • Вызов: CTaskCheckListItem::moveItem
private function moveItem($selectedItemId, $insertAfterItemId)
{
	$taskId = $this->oTaskItem->getId();
	$userId = $this->getExecutiveUserId();
	$currentFields = TaskCheckListFacade::getList([], ['ID' => $selectedItemId])[$selectedItemId];

	/** @var TaskCheckListFacade $facade */
	$facade = TaskCheckListFacade::class;
	$checkList = new CheckList(0, $userId, $facade, $currentFields);

	$moveResult = TaskCheckListFacade::moveItem(
		$taskId,
		$userId,
		$checkList,
		$insertAfterItemId,
		TaskCheckListFacade::MOVING_POSITION_AFTER
	);
	if (!$moveResult->isSuccess() && $moveResult->getErrors())
	{
		/** @noinspection PhpDeprecationInspection */
		throw new TasksException(
			$moveResult->getErrors()->getMessages()[0],
			TasksException::TE_ACTION_FAILED_TO_BE_PROCESSED
		);
	}

	$eventManager = EventManager::getInstance();
	foreach ($eventManager->findEventHandlers("tasks", "OnCheckListItemMoveItem") as $event)
	{
		ExecuteModuleEventEx($event, [$selectedItemId, $insertAfterItemId]);
	}
}