Embedded properties are readonly

Hi, when using embedded properties is impossible to edit them from screen editor,
anyway the values ​​are correctly readed from database, here I paste some code:

@NamePattern("(%s x %s x %s) %s|alto,ancho,profundidad,peso")
@MetaClass(name = "caerp$ArticuloDimension")
@Embeddable
public class ArticuloDimension extends EmbeddableEntity {
    private static final long serialVersionUID = -9015727605671762140L;

    @Column(name = "ANCHO")
    protected Double ancho;

    @Column(name = "ALTO")
    protected Double alto;

    @Column(name = "PROFUNDIDAD")
    protected Double profundidad;

    @Column(name = "PESO")
    protected Double peso;

    public void setAncho(Double ancho) {
        this.ancho = ancho;
    }

    public Double getAncho() {
        return ancho;
    }

    public void setAlto(Double alto) {
        this.alto = alto;
    }

    public Double getAlto() {
        return alto;
    }

    public void setProfundidad(Double profundidad) {
        this.profundidad = profundidad;
    }

    public Double getProfundidad() {
        return profundidad;
    }

    public void setPeso(Double peso) {
        this.peso = peso;
    }

    public Double getPeso() {
        return peso;
    }


}
@PrimaryKeyJoinColumn(name = "ID", referencedColumnName = "ID")
@Table(name = "CAERP_ARTICULO_PRODUCTO")
@Entity(name = "caerp$ArticuloProducto")
public class ArticuloProducto extends Articulo {
    private static final long serialVersionUID = 2308311556528548032L;

    @Embedded
    @EmbeddedParameters(nullAllowed = false)
    @AttributeOverrides({
            @AttributeOverride(name = "ancho", column = @Column(name = "DIMENSION_ANCHO")),
            @AttributeOverride(name = "alto", column = @Column(name = "DIMENSION_ALTO")),
            @AttributeOverride(name = "profundidad", column = @Column(name = "DIMENSION_PROFUNDIDAD")),
            @AttributeOverride(name = "peso", column = @Column(name = "DIMENSION_PESO"))
    })
    protected ArticuloDimension dimension;

    public void setDimension(ArticuloDimension dimension) {
        this.dimension = dimension;
    }

    public ArticuloDimension getDimension() {
        return dimension;
    }

}

        <datasource id="articulosDs"
                    class="com.company.caerp.entity.ArticuloProducto"
                    view="articuloProducto-view">
            <datasource id="dimensionDs"
                        property="dimension"/>
        </datasource>

        <fieldGroup id="field111" datasource="dimensionDs">
            <column width="250px">
                    <field property="ancho" />
                    <field property="alto"/>
                    <field property="profundidad"/>
                    <field property="peso"/>
            </column>
        </fieldGroup>

image

Hi.
Could you please clarify do you login in application with admin or with another user? If you login with a user different from admin, please check, that this user has permissions to edit these fields.

Also please provide more information about your project: which version of the platform do you use?

Regards,
Natalia.

Hi, I login with admin user and the platform version is 7.2.8. There is no property that is disabling edition of fields. In some previous version of framework this worked correctly. In some update it was broken. tell me if you need something else.

Thanks.

Maybe you can share a small demo project with us? Because I’ve tried to reproduce your problem and everything works fine for me for both new and legacy screens.

Hi, i changed datasource property of the FieldGroup with main entity datasource and now it is working. thanks!.

Conflict code:

        <fieldGroup id="field111" datasource="dimensionDs">
            <column width="250px">
                    <field property="ancho" />
                    <field property="alto"/>
                    <field property="profundidad"/>
                    <field property="peso"/>
            </column>
        </fieldGroup>

Working code:

        <fieldGroup id="fieldGroupDim" datasource="articulosDs">
            <column width="250px">
                <field property="ancho" datasource="dimensionDs" />
                <field property="alto" datasource="dimensionDs"/>
                <field property="profundidad" datasource="dimensionDs"/>
                <field property="peso" datasource="dimensionDs"/>
            </column>
        </fieldGroup>
1 Like