En rup.table.js al definir la función del api rupTable.getIdPk() :
Si la pk de la rup_table es compuesta y una de las claves que compone esa pk es el atributo de un objeto, la variable id es machacada por el ultimo valor obtenido.
Sugiero sustituir la línea:
id = $self._getDescendantProperty(json, key);
por:
id = id + $self._getDescendantProperty(json, key);
Función completa con solución en el comentario:
apiRegister('rupTable.getIdPk()', function (json, optionsParam) {
var opts = options;
if (optionsParam !== undefined) {
opts = optionsParam;
}
var id = '';
$.each(opts.primaryKey, function (index, key) {
// Comprueba si la primaryKey es un subcampo
if (Object.prototype.hasOwnProperty.call(json, key)) {
id = id + json[key];
} else if (key.indexOf('.') !== -1) {
id = $self._getDescendantProperty(json, key); //se debería sustituir por id = id + $self._getDescendantProperty(json, key);
}
if (opts.primaryKey.length > 1 && index < opts.primaryKey.length - 1) {
id = id + opts.multiplePkToken;
}
});
return id;
});
En rup.table.js al definir la función del api rupTable.getIdPk() : Si la pk de la rup_table es compuesta y una de las claves que compone esa pk es el atributo de un objeto, la variable id es machacada por el ultimo valor obtenido.
Sugiero sustituir la línea:
por:
Función completa con solución en el comentario: