Как расположить динамический атрибут на во 2-й колонке на форме

Создал несколько динамических атрибутов а одной категории. Панелью динамических атрибутов не пользуюсь.
Форма редактирования состоит из несколько расположенных друг под другом groupbox’jd со вложенными в них form. Необходимо иметь возможность располагать динамические атрибуты в любой части формы редактирования, т.е. в визуально любом groubox’е.

Для этого на атрибуте на закладке “Видимость” указываем наименование form, который вложен в каждый groupbox. Поля реально создаются, но всегда только в первой колонке. Т.е. если например form задекларирован как 3-х колоночный то все динамические атрибуты будут только в 3-й колонке. Как расположить новый динамический атрибут во 2-ой или 3-й колонке без доработки не понятно. Есть какое либо решение этой задачи?

P.S. Надо понимать в form могут располагаться какие то статические поля из ORM-модели системы. Поэтому form на форме редактирования могут быть и одноколончатые и двух- и трёх и четырёх-.

Речь же про Jmix 1.5, верно?
Возможности указать колонку, в которую будет помещёт динамический атрибут, из коробки нет.
Размещение атрибута происходит в методе io.jmix.dynattrui.impl.FormEmbeddingStrategy#addAttributeComponent

    protected void addAttributeComponent(Form form, AttributeDefinition attribute) {
        String code = DynAttrUtils.getPropertyFromAttributeCode(attribute.getCode());

        ValueSource<?> valueSource = form.getValueSourceProvider().getValueSource(code);

        ComponentGenerationContext context = new ComponentGenerationContext(getEntityMetaClass(form), code);
        context.setValueSource(valueSource);

        Component resultComponent = uiComponentsGenerator.generate(context);

        form.add(resultComponent);

        setWidth(form, resultComponent, attribute);
    }

Видно, что там явно атрибут помещается в первую колонку формы: form.add(resultComponent);.

В качестве ворэкраунда можете у себя в проекте переопределить бин, который добавляет атрибуты на форму, и прописать нужное вам поведение. Например, можно анализировать код динамического атрибута и из него вычислять колонку, куда его поместить.

@Component
public class MyFormEmbeddingStrategy extends FormEmbeddingStrategy {
    @Override
    protected void addAttributeComponent(Form form, AttributeDefinition attribute) {
        String code = DynAttrUtils.getPropertyFromAttributeCode(attribute.getCode());

        ValueSource<?> valueSource = form.getValueSourceProvider().getValueSource(code);

        ComponentGenerationContext context = new ComponentGenerationContext(getEntityMetaClass(form), code);
        context.setValueSource(valueSource);

        io.jmix.ui.component.Component resultComponent = uiComponentsGenerator.generate(context);

        if (attribute.getCode().endsWith("col2")) {
            form.add(resultComponent, 1);
        } else {
            form.add(resultComponent);
        }

        setWidth(form, resultComponent, attribute);
    }
}

Коробочный бин при этом нужно отключить в application.properties

jmix.core.exclude-beans=dynat_FormEmbeddingStrategy

Ok, спс…