Всем привет!
Хочу написать обработчик события, которое происходит при редактировании задачи внутри сделки.
Отлавливаю событие OnActivityUpdate модуля CRM
Пишу обработчик:
Метод dbgLog просто логирует данные. 1-й параметр - данные, которые надо залогировать, 2-й параметр - название файла с логом.
Если я в свой обработчик передаю только 2 параметра, как сейчас, то в массив $newActivityFields приходят данные с тремя массивами: 1-й массив - со старыми значениями полей задачи, 2-й массив - с новыми значениями поля, которое я захотел поменять, 3-й массив - новые значения другого поля, которое я захотел поменять.
Но всё это почему то приходит именно в $newActivityFields, а как мне отловить в событии отдельно старые значения полей задачи от новых?
Пробовал вот такой обработчик писать:
Но в этом случае мне вообще битрикс ошибку отдаёт:
Типо метод ожидает 4 аргумента, а пришло только 2.
Пример смотрел вот тут:
Подскажите, если писать обработчик с 2 параметрами, то как мне отделять старые параметры, которые были до того, как я сохранил задачу, от новых параметров, если все они приходят в $newActivityFields с разницей примерно в 1 секунду ??
Или может я не тот пример смотрел, тогда дайте пожалуйста ссылку на документацию по правильному написанию обработчика события изменения задачи в сделке.
Хочу написать обработчик события, которое происходит при редактировании задачи внутри сделки.
Отлавливаю событие OnActivityUpdate модуля CRM
Пишу обработчик:
| Код |
|---|
public static function onActivityUpdateHandler($oldActivityFields, $newActivityFields)
{
Debug::dbgLog($oldActivityFields,'_oldActivityFields_');
Debug::dbgLog($newActivityFields,'_newActivityFields_');
} |
Если я в свой обработчик передаю только 2 параметра, как сейчас, то в массив $newActivityFields приходят данные с тремя массивами: 1-й массив - со старыми значениями полей задачи, 2-й массив - с новыми значениями поля, которое я захотел поменять, 3-й массив - новые значения другого поля, которое я захотел поменять.
Но всё это почему то приходит именно в $newActivityFields, а как мне отловить в событии отдельно старые значения полей задачи от новых?
Пробовал вот такой обработчик писать:
| Код |
|---|
public static function onActivityUpdateHandler($oldActivityFields, $newActivityFields, $oldActivityBindings, $newActivityBindings)
{
Debug::dbgLog($oldActivityFields,'_oldActivityFields_');
Debug::dbgLog($newActivityFields,'_newActivityFields_');
} |
| Код |
|---|
[ArgumentCountError] Too few arguments to function Vdgb\Core\Events\CrmEvents::onActivityUpdateHandler(), 2 passed in /var/www/html/bx-site/bitrix/modules/main/tools.php on line 5253 and exactly 4 expected |
Типо метод ожидает 4 аргумента, а пришло только 2.
Пример смотрел вот тут:
Подскажите, если писать обработчик с 2 параметрами, то как мне отделять старые параметры, которые были до того, как я сохранил задачу, от новых параметров, если все они приходят в $newActivityFields с разницей примерно в 1 секунду ??
Или может я не тот пример смотрел, тогда дайте пожалуйста ссылку на документацию по правильному написанию обработчика события изменения задачи в сделке.