Buenas,
De una entidad estoy haciendo una consulta para lo cual utilizo una acción donde monta un ShowDialog utilizando una View personalizado, si en este view defino varios grupos da error, no reconoce los campos delos grupos anteriores es como si solo admtiera un grupo desde el Showdialog .
@View(name="Consulta",
members=
"idObra, nombra;"
+ ">[#"
+ "numCon, nomCon;"
+ "codContratista, nomContratista;"
+ "codTecnico, nomTecnico;"
+ "codDirector, nomDirector;"
+ "];"
+ ">[#"
+ "tipoObra, ejecutadaPor, plazoGarantia;"
+ "];"
)
ASI DA EL SIGUIENTE ERROR :
DETALLADO: Tiempo petición=2614 ms
jun. 26, 2024 1:14:18 P. M. org.openxava.controller.ModuleManager manageRegularException
GRAVE: 'numCon' no existe en la vista 'Consulta' de 'Obra'
org.openxava.util.XavaException: 'numCon' no existe en la vista 'Consulta' de 'Obra'
si voy eliminando campos del primer grupo el error apunta al siguiente campo, es como si no reconociera el primer grupo para nada ....
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Lo que he visto raro es que hay dos grupos con el mismo nombre. Los grupos tienen que tener nombre únicos, que deberías seguir la normativa de nombres de Java. Me parece extraño que soporte el > como un nombre de grupo. Lo de nombre es importante porque se puede usar para acceder al grupo, así:
No pensaba que nadie usaría un > como identificador, o que usara el mismo identificador para dos elementos diferentes. Pero ahora que he visto que es posible puedes añadir una petición para modificar OpenXava para que de un aviso o un error cuando alguien use un identificador no válido (como >) o defina varios grupos con el mismo nombre. De esta forma el siguiente que se encuentre con tu problema no perderá tanto tiempo.
Ayuda a otros en este foro como yo te ayudo a ti.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Buenas,
De una entidad estoy haciendo una consulta para lo cual utilizo una acción donde monta un ShowDialog utilizando una View personalizado, si en este view defino varios grupos da error, no reconoce los campos delos grupos anteriores es como si solo admtiera un grupo desde el Showdialog .
Codigo :
Obra obraView = new Obra();
showDialog();
getView().setTitle("Consulta de Obras");
getView().setModel(obraView);
getView().setKeyEditable(false);
getView().setViewName("Consulta");
getView().setValue("idObra", obraRec.getIdObra());
getView().setValue("nombra", obraRec.getNombra());
getView().setValue("numCon", obraRec.getNumCon());
getView().setValue("nomCon", obraRec.getNomCon());
getView().setValue("codContratista", codTratista);
getView().setValue("nomContratista", nomTratista);
getView().setValue("codTecnico", codNico);
getView().setValue("nomTecnico", nomNico);
getView().setValue("codDirector", codDirec);
getView().setValue("nomDirector", nomDirec);
getView().setEditable("tipoObra", false);
getView().setValue("tipoObra.clave", obraRec.getTipoObra().getClave());
getView().setValue("tipoObra.descripcion", obraRec.getTipoObra().getDescripcion());
getView().setEditable("ejecutadaPor", false);
getView().setValue("ejecutadaPor.clave", obraRec.getEjecutadaPor().getClave());
getView().setValue("ejecutadaPor.descripcion", obraRec.getEjecutadaPor().getDescripcion());
getView().setEditable("plazoGarantia", false);
getView().setValue("plazoGarantia", obraRec.getPlazoGarantia());
ASI FUNCIONA PERFECTAMENTE ....
@View(name="Consulta",
members=
"idObra, nombra;"
+ ">[#"
+ "numCon, nomCon;"
+ "codContratista, nomContratista;"
+ "codTecnico, nomTecnico;"
+ "codDirector, nomDirector;"
+ "];"
+ ">[#"
+ "tipoObra, ejecutadaPor, plazoGarantia;"
+ "];"
)
ASI DA EL SIGUIENTE ERROR :
DETALLADO: Tiempo petición=2614 ms
jun. 26, 2024 1:14:18 P. M. org.openxava.controller.ModuleManager manageRegularException
GRAVE: 'numCon' no existe en la vista 'Consulta' de 'Obra'
org.openxava.util.XavaException: 'numCon' no existe en la vista 'Consulta' de 'Obra'
si voy eliminando campos del primer grupo el error apunta al siguiente campo, es como si no reconociera el primer grupo para nada ....
Puntualizar que el tema de GRUPOS lo utilizo de forma EXTENSA en la vista por omisión de esta entidad y no da problemas ......
Hola Juan:
Lo que he visto raro es que hay dos grupos con el mismo nombre. Los grupos tienen que tener nombre únicos, que deberías seguir la normativa de nombres de Java. Me parece extraño que soporte el > como un nombre de grupo. Lo de nombre es importante porque se puede usar para acceder al grupo, así:
Ahora si tu haces:
¿Cuál de los dos grupos debería escoger?
Escribe tu vista así:
@View(name="Consulta",
members=
"idObra, nombra;"
+ "grupo1[#"
+ "numCon, nomCon;"
+ "codContratista, nomContratista;"
+ "codTecnico, nomTecnico;"
+ "codDirector, nomDirector;"
+ "];"
+ "grupo2[#"
+ "tipoObra, ejecutadaPor, plazoGarantia;"
+ "];"
)
Y en tu archivo de etiquetas añade:
No pensaba que nadie usaría un > como identificador, o que usara el mismo identificador para dos elementos diferentes. Pero ahora que he visto que es posible puedes añadir una petición para modificar OpenXava para que de un aviso o un error cuando alguien use un identificador no válido (como >) o defina varios grupos con el mismo nombre. De esta forma el siguiente que se encuentre con tu problema no perderá tanto tiempo.
Ayuda a otros en este foro como yo te ayudo a ti.
Buenas Javier,
SI, tienes razón, el problema es poner el mismo calificativo o titulo a los grupos, tal y como de detallas tu funciona perfectamente.
Lo de ">" es que no les quería poner titulo a los grupos y creo que si no pongo nada no va.
gracias