Комментарии к задаче представляют собой сообщения на форуме, а результат задачи сохраняется в поле ‘SERVICE_DATA’ с пометкой ‘TASK_RESULT’. Для выполнения следующего шага, мы ищем ‘FORUM_TOPIC_ID’ в рамках задачи. Затем мы проходимся по всем сообщениям в данной теме и ищем сообщение, в котором ‘SERVICE_DATA’ имеет значение ‘TASK_RESULT’ – это представляет собой результат задачи.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
\Bitrix\Main\Loader::IncludeModule('tasks'); \Bitrix\Main\Loader::IncludeModule('forum'); $rsTask = CTasks::GetByID($TaskID); $arTask = $rsTask->GetNext(); $forumTopicId = $arTask['FORUM_TOPIC_ID']; $arFilesIds = array(); if ( CModule::IncludeModule('forum') && ($forumId = CTasksTools::GetForumIdForIntranet()) && ($forumId >= 1) ) { $rc = CForumMessage::GetListEx( array(), array('FORUM_ID' => $forumId, 'TOPIC_ID' => $forumTopicId) ); $arMessagesIds = array(); while ($arMsg = $rc->fetch()) { if ($arMsg['SERVICE_DATA']=='TASK_RESULT'){ \Bitrix\Main\Diag\Debug::dump($arMsg); $arMessagesIds[] = (int) $arMsg['ID'];} } } |
