retailcrm / bitrix-module

Bitrix integration plugin
http://www.retailcrm.ru
MIT License
12 stars 43 forks source link

При обновлении перезаписывается options.xml #194

Closed tolpekin closed 3 years ago

tolpekin commented 3 years ago

При обновлении перезаписывается файл ./intaro.retailcrm/classes/general/config/options.xml. В результате слетают настройки кастомных полей http://screenshot.irisdigital.ru/r0j8o_2021-04-01_16.11.47.png

Neur0toxine commented 3 years ago

Добрый день!

Уточните, пожалуйста, какая версия модуля была установлена у вас до обновления, а также версию модуля, на которую вы обновлялись.

tolpekin commented 3 years ago

Была установлена 2.4.6. Обновляли до последней 5.6.2

Chazovs commented 3 years ago

Добрый день! Проверил обновление с 2.4.6 на 5.6.2. Обновление не привело к сбросу настроек в разделе "Cоответствия полей свойств заказа". В 5.6.2 по сравнению с 2.4.6 в файле ./intaro.retailcrm/classes/general/config/options.xml есть только одно существенное изменение: мы разделили поле, которое называлось "Строение / корпус", на два отдельных: "Строение" и "Корпус". Соответственно, единственное ожидаемое изменение: появление пустого поля "Корпус". При этом значение из поля "Строение/корпус" переносится в "Строение". Именно это я и наблюдал при тестировании. К сожалению предоставленный вами скриншот в данный момент недоступен. Не могли бы вы его актуализировать? Возможно, он поможет нам воспроизвести проблему.

Chazovs commented 3 years ago

Дополнительно изучил вопрос. Возможность синхронизации кастомных полей была реализована в версии 2015 года (1.1.0). В данный момент этот функционал не поддерживается. Изменения, внесенные вручную в options.xml, могут быть затерты при обновлениях модуля. Перенести кастомные поля в новые версия модуля можно только вручную.

tolpekin commented 3 years ago

И как тогда быть, если нужна синхронизация кастомных полей?

gwinn commented 3 years ago

Вот тут есть краткая инструкция

tolpekin commented 3 years ago

Т.е. предложение заменить огромный файл кастомным?) Что в свою очередь "убьет" синхронизацию при последующем обновлении (гарантии обратной совместимости я нигде не вижу)

gwinn commented 3 years ago

Кастом классов не страдает при обновлении, там можно помимо сопоставления полей в этот процесс еще и необходимую логику вложить