He lanzado un mensaje antes y después de “GET”. Antes puedo obtener “-DES”, y después ya no aparece. Entonces, me devuelve correctamente la definición del informe.
La verdad es que no es capaz de devolverme la segunda agrupación ordenada correctamente. Lo hace manteniendo el orden de la lista dada inicialmente.
Tengo las dos agrupaciones definidas de la siguiente manera:
Agrupación por Agente: Fórmula del agrupamiento: #AGE.NAME
Agrupación por Cliente: Fórmula del agrupamiento: #CLI.NAME
No se si se me escapa algo.
Te paso imagen del proceso que ordena la lista y te paso código final del Script
var list = theRegisterListIn;
var informeDfn = theRoot.varToString("INF_DEF" );
var regex = /(?:groupExp="\w*\.\#)(\w*(?:\.\w*)*)(?:\-(DES))*/gi
var myArray = [];
var sort = "";
var sortArray = [];
var orden;
while ((myArray = regex.exec(informeDfn)) !== null){
sort = myArray[1].replace("#", "");
sortArray.push(sort);
orden = (myArray[2] === "DES") ? true : false;
sortArray.push(orden);
}
// Quitamos la marca de orden
informeDfn = informeDfn.replace(/(groupExp="\w*\.\#\w*(?:\.\w*)*)(\-DES)*/gi, "$1");
theRoot.setVar("INF_DEF", informeDfn);
if(sortArray.length){
list.sort.apply(this,sortArray);
}
theRegisterListOut.append( list );
Gracias