@dasauser
Пишу на PHP

Как обойти рекурсивный вызов события в битрикс24-апи?

Используется облачное решение для портала.
Также используется готовая библиотека для этого.
С битрикс24-апи работаю лишь пару дней, пока не знаю всех нюансов.
Необходимо обновлять счета.
Повесил обработчик на событие обновления, обновляю...
$bitrix_app->call('crm.invoice.update', [
            'id' => $id,
            'fields' => [
                $field => $array
            ]
        ]);

... и это событие вызывает обработчик oncrminvoiceupdate и снова вызывается мой скрипт...
Пока что придумал только делать unbind перед тем, как сделать обновление счета.
Какие еще есть варианты?
  • Вопрос задан
  • 333 просмотра
Пригласить эксперта
Ответы на вопрос 1
@kulgan
unbind не вариант, а если в этот момент захочет обновиться другой счёт)?
Есть вариант в счетах перед отправкой "crm.invoice.update" проверять обновлены ли поля, которые надо обновить и уже решать отправлять или нет.
Если обновлять вызовом "crm.invoice.update" надо 1 раз за всё время, то можно и поле добавить дополнительное, в которое ставить статус "обновлено" и потом его проверять перед обновлением.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы