Скрытие групп полей и вкладок

Статус
В этой теме нельзя размещать новые ответы.

Runa

Администратор
Почти в каждом проекте есть необходимость отображения одних полей в зависимости от установленных значений в других полях.
Например, в зависимости от типа лица (физическое или юридическое) требуется показывать одни данные или другие, в зависимости от состояния заказа/заявки требуется показывать данные по текущей операции, в зависимости от типа материала/продукта/товара - показывать одни свойства и скрывать другие, в зависимости от выполнения услуг или обслуживания клиента/пациента - показывать различные действия или процедуры, и т.д., и т.п.

Такая возможность есть начиная с 6-ой версии конструктора. Для поля Группы, которое даёт возможность блокировать или скрыть привязанные к ней поля, необходимо задать условие, зависимое от одного или нескольких полей:
Создание поля группы с подкраской и условием скрытия.png
Можно задать подкраску для удобства восприятия информации, а в свойстве "скрытие" указывается условие в зависимости от другого поля.
Если в качестве условия используется поле переключателя с двумя значениями, то для проверки одного значения достаточно задать, например, условие равенства со вариантом, который должно скрывать группу полей:
[Поле]=нет
Но если используется поле переключателя или комбинации с тремя и более значениями, то для задания условия скрытия необходимо указывать формулу, в которой условие исключает выбор значения для отображения, например:
[Поле]!=значение

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

Исходное значение записи имеет пустое поле комбинации и переключатели, для которых по умолчанию заданы значения скрытия групп:
Исходный вариант записи со скрытие всех групп.png
При добавлении в комбинации значений, на панели записи добавляются соответствующие группы:
Отображение первой группы.png Отображение первой и второй группы.png Отображение всех трех групп.png
При включении данных второй и третьей вкладки, они становятся доступными для внесения данных:
Отобрадение второй вкладки с данными.png Отобрадение третьей вкладки с данными.png

Сохранив запись, при просмотре данных будут отображаться разрешённые группы полей:
Просмотр данных на каждой записи.png

Замечание: поле комбинации обрабатывается в условиях не так, как остальные поля. В отличии от всех остальных полей, оно может иметь несколько значений, поэтому каждый вариант обрабатывается как отдельное значение. Если надо проверить поле комбинации на включение в него двух и более значений, их надо перечислить в условии через запятую. Такой синтаксис в конструкторе Руна обрабатывается по принципу И, например:
[ПолеКомбинации]=Первый - условие наличия значения "Первый" в комбинации;
[ПолеКомбинации]=Первый, [ПолеКомбинации]=Второй - условие обязательного включения двух значений в комбинации;
[ПолеКомбинации]!=Первый - условие любого набора значений без "Первый";
[ПолеКомбинации]!=Первый, [ПолеКомбинации]!=Второй - условие любого набора значений, исключающих "Первый" и "Второй".

Пример проекта в приложении.
 

Вложения

  • Группы с комбинацией.rbase
    1.3 KB · Просмотры: 97
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу