Lectura de un campo tipo String

Hola

Tengo el siguiente problema con el campo mensaje, ahi almaceno un error que me devuelve un sistema externo, si pregunto por el largo me dice que es cero, vean:

{
"_index" : "felgt_online",
"_type" : "_doc",
"_id" : "SoqWYXIBkVi7f4GuxEws",
"_score" : null,
"_source" : {
"timestamp" : "2020-05-29T11:59:30.0830955-06:00",
"document" : {
"referenceNumber" : "290520061IUU1020206601216633",
"storeId" : "1IUU1",
"terminalId" : "020",
"initialTime" : "2020-05-29T11:59:29.8955846-06:00",
"sendToCertifierTime" : "2020-05-29T11:59:29.8955846-06:00",
"responseFromCertifierTime" : "2020-05-29T11:59:30.0830955-06:00",
"endTime" : "2020-05-29T11:59:30.0830955-06:00",
"message" : """[Total de Impuestos IVA:518.51]El contenido de la casilla ¿Tipo de DTE¿ incluye el texto: "NCRE", no se incluye la casilla ¿Régimen antiguo¿ y el valor de la casilla ¿Total de Impuestos¿ es mayor que el valor de la casilla ¿Total de Impuestos¿ del documento origen que aparece registrado en la SAT, de acuerdo al valor de la casilla ¿Número de Autorización del Documento Origen¿.""",
"wmtCode" : "14323231332040149200114323231332040149210060030010600"
}
},
"sort" : [
1590775170083
]
}

imagino que se debe por las tres comillas del inicio. ¿Se puede hacer algo para remediar eso? ... tampoco me deja acceder al contenido lo toma como vacio.

Hola, ¿puedes compartir la consulta que haces y la respuesta que recibes?

Hola

El siguiente es el campo "script field" que estoy usando y tiene como nombre " responseCodeError", de momento no esta terminado ya solo es para probar el acceso a los datos del campo "message":

if(doc['document.message.keyword'].size()!=0){
String log = doc['document.message.keyword'].value;
int largo = doc['document.message.keyword'].size();
if (log=="Approved"){
return "APPROVED";
}else {
return "Largo:"+largo.toString();
}
}else return "Largo0"

Estoy adjuntando una imagen en donde se ve que la función

de largo retorna un valor de "1" y tengo un mensaje. La idea final del campo calculado es la que sigue, pero debido a que no funciona he estado haciendo pruebas en busca del error, la idea es sacar el numero de error del string que tiene el campo message.

if(doc['document.message.keyword'].size()!=0){
def log = doc['document.message.keyword'].value;
if (log=="Approved"){
return "Approved";
}else if (log.size()>=26 && log.substring(0,26)=="15-ERROR"){
return "15-ERROR";
}else {
return "NotAppro";
}
}else return null

En este otro caso devuelve que el largo es cero y el campo message tiene la palabra "Approved".

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.