Скрытие/показ поля по условию, находящегося в табе, который не активен (не открыт) по умолчанию
Симптомы
Есть сущность, в ней несколько табов (e.g. Tab1 и Tab2), в табах field groups. Tab1 - первый слева направо, т.е. открыт по умолчанию, и видны поля. Нужно добавить поле в Tab2, закрытый / неактивный по умолчанию. Но не просто добавить, и менять скрывать / снова показывать по условию. Я это делаю путём биндинга функции на свойство "visible" в размете. Еслие поле на карточке (не в табе) или в первом (открытом) то всё работает. Если же поле находится в Tab2, то при открытии сущности бросается исключение.
В неактивном табе расположен GRID_LAYOUT на котором расположено поле с байндингом свойства "visible" на свойство/метод модели. Необходимым условием есть расположение поле в GRID_LAYOUT и наличие у поля байндинга со свойством "visible".
Решение
Обходные решения:
1) Использовать свойство элемента "enabled" вместо "visible", то есть, вместо того что бы скрывать поле, делать поле не редактируемым.
Недостаток: поле остаётся видимым.
Достоинство: решение совместимо с мастерами.
2) Вместо контейнера GRID_LAYOUT для скрываемого элемента в качестве контейнера использовать: CONTAINER, CONTROL_GROUP или ContainerList .
Недостаток: решение не совместимо с мастером и скорей всего потребует вмешательства разработчика. Достоинство: поле будет скрыто."