Для открытия экрана в диалоге используется DialogWindows. В метод view передается класс экрана (например: DataView.class, который наследуется от StandardView). Перед открытием экрана требуется задать его свойства поэтому используется метод build() и получается объект DialogWindow, но поскольку класс DataView параметризованный () получаем ошибку и объявлении DialogWindow:
Type parameter 'com.company.view.DataView' is not within its bound; should extend 'io.jmix.flowui.view.View<?>'
Предложение заключается в том, чтобы либо изменить текущие классы используемые для открытия диалогов с <V extends View<?>> на <V extends StadardView>, либо добавить классы работающие с <V extends StadardView>.
Описанная выше проблема не решится изменением <V extends View<?>> на <V extends StadardView>, т.к. ее причиной является то, что Ваш DataView является типизированным, а передаете вы в метод view - BlankView.class. Т.е. Вы получаете следующее:
Хотя ожидается, что будет DialogWindow<BlankView<String>> dialogWindow, т.к. или хотя бы DialogWindow<BlankView<?>> dialogWindow, т.к. BlankView имеет тип. Правда в этом случаее получаем другую ошибку:
Вы можете избежать ошибки компиляции следующим образом:
Или открывать экран по id и потом кастить dialogWindow.getView().
Так же я бы рекомендовал не описывать экраны как типизированные. Если необходимо сделать экран общего назначения, для работы с разными типами, то можно, например, сделать подобный сеттер (и геттер):
private <T> void setParam(T param) {
// do nothing
}