Хотелось бы, чтобы в событие OnBeforeIBlockElementUpdate передавался два массива, один с измененными данными, а другой массив с текущими значениями, чтобы отслеживать, что нужное поле изменилось.
Ещё один запрос к базе. Было бы удобно если в массиве был бы VALUE и PREVIOUS_VALUE.Было бы полезно очень для свойства OnAfterIBlockElementUpdate .
Когда мы знаем, что успешно прошло обновление элемента, и нам надо знать изменили ли поле, для того, чтобы выполнить какие-то действия. А если мы будем делать в событии OnBeforeIBlockElementUpdate, то вдруг что случится и мы сделаем это действие, а элемент в итоге не обновится.
Возможно, там же идут запросы к параметрам свойств, почему бы не сделать быстрые запросы к значениям свойств. Потому, что используя готовый api, для выборки одного значения слишком тяжелые у вас запросы к бд. Приведу пример реальной задачи: Есть элемент инфоблока например это сделка. У сделки есть статус из 5 значений этот статус представлен выпадающим списком. Менеджер меняет статус этой сделки. И хотелось бы, чтобы был механизм, который бы позволял где-то, как-то реагировать, на то, что статус изменился, чтобы выполнить определенную функцию в связи с этим...
Хотел создать такую же идею, но оказывается не я один к этому пришел.
Мне уже не раз приходилось сталкиваться ситуацией, когда в обработчике необходимо сравнивать некоторые свойства по старому и новому значению, и на основе сравнения производить некоторые действия, и каждый раз приходится дергать отдельным запросом значения того или иного свойства, что не есть удобно.