Доброе утро!
Передо мной стоит следующая задача: после обмена с 1с устанавливать кратность товару на вкладке торговый каталог в соответствии с пришедшей.
Кратность у нас организована следующим образом: из 1ски приходит значение кратности, затем это значение устанавливается в свойство товара Кратность продаж. В торговом каталоге тоже есть свойство единица измерения, которое после обмена не меняет своего значения (всегда 1).
Вопросы:
1. Как правильно обновлять значение единицы измерения в торговом каталоге после обмена с 1с?
Пытался использовать события:
- OnAfterIBlockElementUpdate, OnAfterIBlockElementAdd - события возникают на каждом товаре при обмене, но кратность изменить не удается
- \Bitrix\Catalog\MeasureRatio::OnBeforeUpdate, \Bitrix\Catalog\MeasureRatio::OnBeforeAdd - события возникают при обмене, но на единицах товара, соответственно я проверил следующее - изменил вечером кратность у товара с 1 на 10, после обмена кратность в свойстве товара стала 1, а в торговом каталоге осталась равной 10. Причем, если в карточку товара просто зайти и нажать применить, то в торговом каталоге тоже станет 1ца. Событие на том конкретном товаре, в котором я менял кратность на 10 не возникло.
2. Подскажите, какая логика у срабатывания событий \Bitrix\Catalog\MeasureRatio::OnBeforeUpdate, \Bitrix\Catalog\MeasureRatio::OnBeforeAdd во время обмена с 1с?
3. Где и как найти место, в котором свойство товара Кратность продаж устанавливается равным строке, пришедшей из 1с? Пока не вышло(... Хотя я только что понял, свойство товара Кратность продаж создается самой 1ской при обмене, если его раньше не было, соответственно туда и приходит значение кратности при обмене...
Обмен у нас стандартный.