Сегодня — формулировка об унификации селективных экранов. О, да… это тоже борьба с энтропией.
Исключающие параметры
Часто бывает, что некоторые параметры образуются в некоторые взаимоисключающие группы. То есть в данном примере: следует заполнять или первое+второе поле, или третье+четвёртое поле.
В дополнение к таком селективному экрану можно написать обработчик, который будет выдавать ошибку вида “параметры А и Б не следует заполнять при заполненных параметрах В и Г”. Вариант суров и неоднозначен.
В качестве более красивого решения можно предложить разбавить эти параметры с помощью радиогруппы.
Параметры к параметру
Вот чуть-чуть другой пример. Радиогруппа уже есть, но некоторые параметры имеют смысл только для определённых пунктов.
Реализация
Во-первых, следует сделать пару добавок в описание селективного экрана:
Добавка “USER-COMMAND flag” требуется только для первого элемента в группе. Цель этой добавки – срабатывание PBO при выборе опции (щелчок мыши).
Добавка “MODIF ID OP1” требуется для группировки полей, чтобы “отвязаться” от количества и имён полей в обработчике экрана.
А во-вторых, добавляем обработчик экрана:
Этот обработчик по сути говорит:
- Для группы полей OP1: При включенной опции rg_opt1 – требуется включить ввод, иначе — выключить ввод
- Для группы полей OP2: При включенной опции rg_opt2 – требуется включить ввод, иначе — выключить ввод
Ничего сложного, а пользователю, надеюсь, будет немного понятней.
Впрочем, это только один из вариантов…