Hola. Soy nuevo en bonita BPM.
Estoy tratando de colocar un valor en un campo de tipo SELECT usando la variable formInput.
La definición de la variable formInput es la siguiente:
if ($data.request != null){
return {
“solicitudPlanningInput” : {
“nombreRequerimiento” : $data.request.gerenciaSolicita,
“capaRed” : $data.request.capaRed,
“gerenciaSolicita” : $data.request.gerenciaSolicita,
“prioridad” : $data.request.prioridad,
“areaSolicita” : $data.request.areaSolicita,
“tipoRequeremiento” : $data.request.tipoRequeremiento,
“requerimientoEn” : $data.request.requerimientoEn,
“nombreSitio” : $data.request.nombreSitio,
“IDSitio” : $data.request.IDSitio,
“latitud” : $data.request.latitud,
“longitud” : $data.request.longitud,
“motivosRequerimiento” : $data.request.motivosRequerimiento,
“solicitudEjecutada” : $data.SolicitudEjecutadaRule,
“atpValidado” : $data.ATPValidadoRule,
“procedeCorreccion” : $data.ProcedeCorreccionRule
}
};
}
else{
return {
“solicitudPlanningInput” : {
“nombreRequerimiento” : null,
“capaRed” : null,
“gerenciaSolicita” : null,
“prioridad” : null,
“areaSolicita” : null,
“tipoRequeremiento” : null,
“requerimientoEn” : null,
“nombreSitio” : null,
“IDSitio” : null,
“latitud” : null,
“longitud” : null,
“motivosRequerimiento” : null,
“solicitudEjecutada” : null,
“atpValidado” : null,
“procedeCorreccion” : null
}
};
}
La definición de la variable request es la siguiente:
if ($data.context != null){
var xmlHttp = new XMLHttpRequest();
var url = window.location.origin+“/bonita/”+$data.context.solicitudPlanning_ref.link;
xmlHttp.open( “GET”, url, false);
xmlHttp.send( null );
var response = JSON.parse(xmlHttp.responseText);
return response;
}
else{
return null;
}
La definición de la variable context es la siguiente:
if ($data.taskId != null){
var xmlHttp = new XMLHttpRequest();
var url = window.location.origin+“/bonita/API/bpm/userTask/”+$data.taskId+“/context”;
xmlHttp.open( “GET”, url, false);
xmlHttp.send( null );
var response = JSON.parse(xmlHttp.responseText);
return response;
}
else{
return null;
}
La definición de la variable taskId es la siguiente:
var href = window.location.href;
var url = new URL(href);
var taskId = url.searchParams.get(“id”);
return taskId;
Cuando ejecuto la función console.log($data.request) me retorna el JSON que tiene los valores de la actividad previa, pero el problema es que los valores pertenecientes a los campos SELECT no se ven reflejados en dichos campos. Por ejemplo: si yo asigno los valores obtenidos de los campos SELECT de la actividad anterior en campos de texto, allí sí se refleja el valor que fue obtenido en la actividad anterior; pero si devuelvo esos valores en los mismos campos SELECT, no se reflejan dichos valores. ¿Alguna idea de qué pueda ser?
La idea de todo esto es poder utilizar un mismo formulario para todo el proceso para evitar rehacer los mismos formularios y si en el futuro me solicitan cambios, poder hacerlos únicamente en un solo formulario. ¿Tiene sentido mi planteamiento?
Gracias por la ayuda.
César