Задать вопрос
@korvova

Как зациклить получение данных через php в коробке Битркс24?

Есть простенький БП который считывает название задачи каждую секунду и выводит ее в сообщении
63ead104721a7836507721.jpeg

PHP код:
63ead1469c167142923467.jpeg

if (CModule::IncludeModule("tasks"))
{
    $rsTask = CTasks::GetByID(6234);
    if ($arTask = $rsTask->GetNext())
    {

$this->SetVariable(Variable1, $arTask["TITLE"]);

      
    }
}

Но проблема в том, что когда я переименовываю названия задачи, выводится в процессе работы БП, измененное название задачи не выводится в уведомления, а продолжает выводится старое название задачи. Вопрос, как сделать, чтобы выводились новое название задачи?
  • Вопрос задан
  • 85 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
gromdron
@gromdron Куратор тега Битрикс24
Работаю с Bitrix24
В вашем коде несколько ошибок, которые вы никак не обрабатываете.

Ошибка номер 1: права.
Модуль задач не стандартный - он по-умолчанию включает права и права контролирует жестко. Если пользователь, на чей хит выпал запуск действия не имеет прав на задачу ID:6234, то в $arTask будет false и вы просто не зайдете в условие.
Почитайте эту статью: https://maxyc.wordpress.com/2017/12/27/bitrix24-ta...

Ошибка номер 2: неправильно написание кода.

Посмотрите внимательно на фрагмент кода:
$this->SetVariable(Variable1, $arTask["TITLE"]);

У вас Variable1 с точки зрения php это контанта, но ее вы не задаете.
По тексту я понимаю что вы хотите заполнить переменную бизнес-процесса с кодом Variable1 значением названия задачи.
У вас это должно выглядеть так:
$this->SetVariable("Variable1", $arTask["TITLE"]);

Ошибка номер 3: вера в работу кода.

Что случится, если внезапно этот код вызовет ошибку? Например какой-нибудь fatal?
Ваш бизнес-процесс зависнет и перестанет выполняться - а вы даже не узнаете почему.
Совет: оборачивайте ваш код в try-catch блок и в catch-блоке используйте запись в лог БП или хотя бы в файл.

И я надеюсь что цикл у вас построен правильно, потому что 1 тысяча итераций - это его предел.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы