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