Issue 224 in uda: [rup_table -> masterDetail] Error en PKs compuestas (UDA 2.4.2)

26 views
Skip to first unread message

u...@googlecode.com

unread,
Jan 14, 2015, 10:28:38 AM1/14/15
to uda-...@googlegroups.com
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 224 by jorgebru...@gmail.com: [rup_table -> masterDetail] Error
en PKs compuestas (UDA 2.4.2)
https://code.google.com/p/uda/issues/detail?id=224

Hola!

Nos está ocurriendo lo siguiente:
En un mantenimiento maestro-esclavo, al tener el maestro pk compuesta, el
esclavo está dando fallo a la hora de recuperar esa pk del maestro.

Hemos visto que en el componente rup.table.masterDetail-2.4.2.js no se está
teniendo en cuenta este caso de pk compuesta.

Como posible solución proponemos el siguiente cambio:

ORIGINAL (rup.table.masterDetail-2.4.2.js, línea 126):

...
if (masterPkValue.length===1){
return nestJSON(masterPkName, masterPkValue[0]);
}else if(masterPkValue.length===0){
return null;
}
...

CAMBIO:

...
//Inicio compatibilidad con masterPrimaryKey compuestas
if($.isArray(masterPkName) && masterPkName.length>0 &&
(masterPkValue.length===1)){
var multiplePkToken = $master.rup_table("getGridParam","multiplePkToken");
var splitedMasterPkValue = masterPkValue[0].split(multiplePkToken);
var retPkObj = {};
if(splitedMasterPkValue.length===masterPkName.length){
$.each( masterPkName, function( index, value ) {
jQuery.extend(true, retPkObj, nestJSON(value,
splitedMasterPkValue[index]));
});
}
return retPkObj;
//Fin compatibilidad con masterPrimaryKey compuestas
}else{

if (masterPkValue.length===1){
return nestJSON(masterPkName, masterPkValue[0]);
}else if(masterPkValue.length===0){
return null;
}

}
...

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

u...@googlecode.com

unread,
Jan 14, 2015, 10:30:48 AM1/14/15
to uda-...@googlegroups.com

Comment #1 on issue 224 by jorgebru...@gmail.com: [rup_table ->
masterDetail] Error en PKs compuestas (UDA 2.4.2)
https://code.google.com/p/uda/issues/detail?id=224

Solo añadir que hemos revisado la versión 2.4.4 de rup, y el componente
rup.table.masterDetail no ha variado.

u...@googlecode.com

unread,
Jan 19, 2015, 11:44:21 AM1/19/15
to uda-...@googlegroups.com
Updates:
Status: Accepted

Comment #2 on issue 224 by serg...@gmail.com: [rup_table -> masterDetail]
Error en PKs compuestas (UDA 2.4.2)
https://code.google.com/p/uda/issues/detail?id=224

Hola,

Efectivamente no ha habido cambios directamente en la implementación de
rup.table.masterDetail.
El maestro-detalle es un plugin añadido a la propia tabla. Tanto las
correcciones como las evoluciones que se hacen sobre la misma pueden
impactar en el plugin

Revisaremos la solución propuesta para adoptarla en la siguiente versión de
UDA.

Gracias,

UDA

u...@googlecode.com

unread,
Feb 24, 2015, 9:20:25 AM2/24/15
to uda-...@googlegroups.com
Updates:
Status: Verified

Comment #3 on issue 224 by serg...@gmail.com: [rup_table -> masterDetail]
Error en PKs compuestas (UDA 2.4.2)
https://code.google.com/p/uda/issues/detail?id=224

Hola,

Se ha comprobado que la solución propuesta es correcta y se incluirá en la
siguiente versión de UDA.

La modificación final aplicada es la siguiente:

Index: WebContent/rup/scripts/rup_table/rup.table.masterDetail-2.4.4.js
===================================================================
--- WebContent/rup/scripts/rup_table/rup.table.masterDetail-2.4.4.js
(revision 3602)
+++ WebContent/rup/scripts/rup_table/rup.table.masterDetail-2.4.4.js
(working copy)
@@ -123,10 +123,25 @@

return retObj;
}
}
- if (masterPkValue.length===1){
- return nestJSON(masterPkName, masterPkValue[0]);
- }else if(masterPkValue.length===0){
- return null;
+
+ //Inicio compatibilidad con masterPrimaryKey compuestas
+ if($.isArray(masterPkName) && masterPkName.length>0 &&
(masterPkValue.length===1)){
+ var multiplePkToken =
$master.rup_table("getGridParam","multiplePkToken");
+ var splitedMasterPkValue =
masterPkValue[0].split(multiplePkToken);
+ var retPkObj = {};
+ if(splitedMasterPkValue.length===masterPkName.length){
+ $.each( masterPkName, function( index, value ) {
+ jQuery.extend(true, retPkObj, nestJSON(value,
splitedMasterPkValue[index]));
+ });
+ }
+ return retPkObj;
+ //Fin compatibilidad con masterPrimaryKey compuestas
+ }else{
+ if (masterPkValue.length===1){
+ return nestJSON(masterPkName, masterPkValue[0]);
+ }else if(masterPkValue.length===0){
+ return null;
+ }
}
}
});
Reply all
Reply to author
Forward
0 new messages