FetchPlan UI

Здравствуйте, уже пару дней пытаюсь решить проблему.

Есть два класса, из одного есть две ссылки на другой.

Классы

Снимок экрана 2022-07-14 в 22.55.11
Снимок экрана 2022-07-14 в 22.54.52

Пытался настроить FetchPlan так чтобы в UI для одного поля показывалось только поле name, а для второго только поле test (На называния не обращайте внимание, это тестовые классы)

FetchPlan

Снимок экрана 2022-07-14 в 22.59.35

Настроил FetchPlan в xml UI компоненте, как показано на скриншоте, в итоге получаю следующее

Результат

Снимок экрана 2022-07-14 в 22.59.55
Снимок экрана 2022-07-14 в 22.59.45

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

Вроде все корректно. А что вы ожидали увидеть?

На скрине экрана Lead.browse, судя по наименованиям колонок таблицы, те самые атрибуты, которые вы заказали в FetchPlan на экране: test, tt, aa.
Как описана таблица в дескрипторе этого экрана вы не показываете, но , судя о всему, там заказано отображение именно этих колонок класса LeadClass: test, tt, aa.
tt и aa - ссылочные атрибуты, при отображении их в таблице выводится InstanceName.
Для сущности Test у вас аннотация @InstanceName стоит на атрибуте name.
Когда таблица на экране Lead.browse отображает ссылочные атрибуты tt и aa - отображается InstanceName сущности ссылочного атрибута. Вы законно видите в обоих колонках значение атрибута класса Test, отмеченного как @InstanceName (у вас это атрибут name).

Если в таблице не экране Lead.browse вы хотите видеть в одной колонке значение атрибута tt.name, а в другой значение aa.test - так и укажите в разметке таблицы в теге <Column>.

FetchPlan - он про Загрузку данных. А разметка таблицы - про то, Что из загруженных данных надо отобразить. Попытаетесь отобразить атрибут, который не заказан в FetchPlan и не загружен - получите ошибку “attribute unfetched”.

Чтобы убедиться, что FetchPlan загрузил то, что ему заказано - ставьте точку останова на экране Lead.browse где-то на уровне события AfterShow и посмотрите в контейнер LeadClassesDc.
Вот там вы наверняка увидите, что для экземпляров LeadClass, для его ссылочного атрибута tt заграждено только поле name, а для атрибута aa загружены оба их поля - и name, и test.
Происходит это потому, что атрибут name помечен аннотацией @InstanceName - такой атрибут всегда загружается. Иначе идейный смысл назначения аннотации был бы потерян.

1 симпатия