oknosoft / windowbuilder

Окнософт:Заказ дилера
http://www.oknosoft.ru/zd/
Other
10 stars 19 forks source link

исправление синхронизации параметров продукции #513

Closed rnpoddor closed 5 years ago

rnpoddor commented 5 years ago

Проблема с параметрами в аксессуарах и услугах. Как повторить, добавляем, например вставки подоконников в той последовательности как на скриншоте

image

выделяем, например третью позицию и жмем удалить, строка удаляется, но в параметрах происходит рассинхронизация, как на скриншоте

image

Элементы массива с параметрами связаны со строками списка через поле elm, его необходимо корректировать, чтобы параметр соответствовал выбранной вставке.

unpete commented 5 years ago

через поле elm, его необходимо корректировать

Идеальным решением было бы отказаться от elm, засунув параметры в RowProps - это такой тип поля DataObj или реквизит строки TabularSection, внутри которого живёт табчасть - получается иерархическая структура, вместо двух связанных табчастей. Так со временем и сделаем, а пока согласен: код надо поправить. Только, править его надо не в ui-компоненте, а в модификаторе класса. У обработки DpBuyers_order есть событие при удалении строки табчасти - там и нужно разместить обработчик. Сегодня сделаю.

unpete commented 5 years ago

Прикольно: заглянул в DpBuyers_order, а там N лет, как висит:

// TODO пробежать по всем строкам ниже удаляемой и заменить elm в параметрах
del_row(row) {
  if(row._owner.name === 'production') {
    return;
  }
}
unpete commented 5 years ago

dev обновил https://github.com/oknosoft/windowbuilder/commit/3b04537630db751fde44d2d6c0fd687eae55b124

rnpoddor commented 5 years ago

Проверил, работает.