Если нужно больше!
Штатный функционал любого сервиса или решения, как правило, не может покрыть всех потребностей своих клиентов. Для решения данной проблемы обычно предусматриваются точки встройки персональных функций для расширения базовых возможностей.
В модуле “Гибкая интеграция” такие точки также существуют – это механизм обработки событий. Он базируется на механизме обработки событий 1С-Битрикс. При сохранении данных в заказ и при отправке данных в сделку модуль вызывает события, подключившись к обработке которых, можно модифицировать отправляемые данные нужным образом, либо запустить дополнительные алгоритмы на сайте.
Как работать с событиями подробно описано в официальной документации по “1С-Битрикс: Управление сайтом”. Здесь же будут описаны параметры, которые нужно обрабатывать и возвращать при работе с событием.
Создание и обновление сделки
Событие “OnBeforeDealUpdate”
Событие вызывается непосредственно перед отправкой сформированных модулем данных для обновления данных сделки.
Входящие параметры:
- $deal_new_fields – данные для обновления сделки,
- $order_data – данные заказа, на основе которого сформировались данные сделки,
- $deal_info – дополнительные данные о сделке.
Возвращаемый параметр: $deal_new_fields. Структура данного массива не должна меняться, иначе обмен со сделками будет нарушен.
Событие “OnAfterDealProcessed”
Событие вызывается сразу после отправки данных в сделку.
Входящий параметр: $deal_id – ID обработанной сделки.
Возвращаемые параметры отсутствуют.
Событие “OnBeforeDealAdd”
Событие вызывается непосредственно перед созданием новой сделки из сформированных модулем данных.
Входящие параметры:
- $fields – данные для создания новой сделки,
- $order_data – данные заказа, на основе которого сформировались данные сделки,
- $deal_info – дополнительные данные о сделке.
Возвращаемый параметр: $fields. Структура данного массива не должна меняться, иначе обмен со сделками будет нарушен.
Обновление заказа
Событие “OnBeforeOrderUpdate”
Событие вызывается непосредственно перед обработкой данных для заказа.
Входящий параметр: $deal – данные входящей сделки, на основе которых модуль будет обновлять данные заказа.
Возвращаемый параметр: $deal. Структура данного массива не должна меняться, иначе обмен с заказом будет нарушен.
Событие “OnAfterOrderUpdate”
Событие вызывается сразу после обновления данных заказа.
Входящий параметр: $order_id – ID обновлённого заказа.
Возвращаемые параметры отсутствуют.
Событие “OnAfterOrderUpdateExt”
Событие вызывается сразу после обновления данных заказа.
Входящие параметр: $order_id – ID обновлённого заказа, $deal – данные входящей сделки, на основе которых модуль обновил заказ.
Возвращаемые параметры отсутствуют.