oknosoft/windowbuilder

Новый фильтр в mdm

unpete opened this issue · 0 comments

Справочники Связи параметров, Формулы, Параметры выбора и план Константы и списки, сейчас имеют реквизит zone, который по замыслу должен был ограничивать доставку неких элементов в ram пользователей разных абонентов. На практике, это не работает.

  • Чтобы задействовать реквизит, пришлось бы дублировать формулы и связи
  • Нет режима исключить, а перечислять все ссылки для всех абонентов не удобно
  • Включение-выключение элемента должно быть внешней операцией, а не изменением свойств самого элемента
  • Фильтр нужен по Отделу абонента, а не по самому Абоненту

Решено:

  • добавить в метаданные план видов характеристик Группы MDM с табличными частями Элементы и Отделы и реквизитом Исключить
  • В Отделах, перечисляем отделы с учетом иерархии, на которые должно распространяться правило. Если отделы не заполнены - применяется для всех отделов целевого Абонента
  • В Элементах, перечисляем ссылки, которые должны быть доступны или наоборот, исключены из целевого образа ram
  • Бит Исключить, задаёт режим: в какую сторону, на разрешение или запрет, будет работать правило
  • Элементы плана Группы MDM явно добавляются в табчать Базовые объекты Абонента и обрабатываются auth-proxy
  • План Группы MDM кешируется в базе meta вместе со справочниками Абоненты и Серверы и в браузер пользователя не попадает
  • Реквизит zone из перечисленных выше справочников выкидываем - нет от него никакой пользы
  • Реквизит direct_zones из метаданных выкидываем. Включение ссылок должно выполняться стандартно и единообразно