Никак.
Событие происходит в фоновом режиме и вы не можете влиять на отображение в облачном Битрикс24.
В коробочном Битрикс24 используя модуль Push'n'pull вы можете делать определенные изменения, однако сложность таких изменений достаточно велика, как и трудозатраты.
Возможно я еще не так пояснить задачу, опишу чуть подробнее:
суть задачи заключается в том, чтобы в момент создания сделки, на событии OnBeforeCrmDealAdd или OnAfterCrmDealAdd , отображать в карточке сделки пользовательское поле
serik, как происходит создание сделки?
- Пользователю открывает интерфейс создания сделки
- Вводит необходимые данные и нажимает кнопку сохранить
- При успешном сохранении пользователя редиректит на карточку созданной сделки
Когда наступает момент обработки событий?
Действия возникают на обработчике который получает ajax запрос и они возникают непосредственно ДО изменений в базе данных и ПОСЛЕ изменений в базе данных.
Таким образом оба события возникают в фоновом от пользователя режиме.
Получается что они никак не могут повлиять на карточку, потому что они происходят не в карточке сделки.
Андрей Николаев, а где вообще хранится настройка отображения полей сделки? Полюбому эти данные где то хранятся, и я думаю, можно в момент, перед сохранением сделки, изменять настройки юзера по отображению полей в сделке, и после редиректа их увидит юзер
serik, скорее всего вы пытаетесь решить проблему видимых полей, когда в зависимости от определенных условий пользователь должен видеть определенные поля в карточке. Подход интересный и теоретически имеет место быть, однако на практике думаю что он не подойдет, ввиду того что в карточке для ускорения может применяться не редирект, а дозагрузка данных, в таком случае пресет будет игнорироваться до следующего открытия окна.
Возможно ваш способ и сработает, а если нет - всегда можно использовать перезагрузку в iframe на push'n'pull событии