Почему не отслеживаются события при обновлении сделки через API?

Добрый день.

Обновляю сделку, сначала попробовал метод:
$deal  =  new  \CCrmDeal(false);
$arUpdateData = array(/обновляемые поля/); 
$arOptions = array("CURRENT_USER"=> \CCrmSecurityHelper::GetCurrentUserID(), 'REGISTER_SONET_EVENT' => true,); 
$updateResult = $deal->Update($id, $arUpdateData, true, true, $arOptions);

Потом переделал в:
$deal = new Bitrix\Crm\DealTable();
$updateResult = $deal->update($id,$arUpdateData);

Поля обновляются, но не обновляется канбан со сделками (нужно перезагружать страницу) и не "отлавливается" OnAfterCrmDealUpdate.
Что неправильно делаю?
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ответы на вопрос 1
gromdron
@gromdron Куратор тега Битрикс24
Работаю с Bitrix24
Потом переделал в:


То во что вы переделали метод - ошибка.
DealTable - это низкоуровневая операция, row access в самой таблице.
Он не обрабатывает события, push и т.п.

Переделайте назад.
И когда `$updateResult` вернет вам false (всегда проверяйте возвращаемые значения), смотрите что у вас в `$deal->LAST_ERROR`
Ответ написан
Ваш ответ на вопрос

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

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