Estoy desesperado porque intento exportar los registros de un proceso desde una tabla a un jSon y algo que en teoría es simple no lo he podido hacer… eso me tiene enfermo!
Al ejecutar via Cirrus, obtengo
{“message”:“Result of expression ‘jsonObject.push’ [undefined] is not a function… In Line Number: 278”}
¿Me pueden ayudar?
Mil gracias!
PedidosPorDespachar: function (params) {
importClass(“VProcess”);
var PRC_PEDIDOS_POR_DESPACHAR = new VProcess(theRoot);
var NumeroRegistro;
// Creo el jSon
var jsonObject = { "LineaPedidoPorDespachar" : [] };
PRC_PEDIDOS_POR_DESPACHAR.setProcess("4s3d6hix.vcd/PRC_PEDIDOS_POR_DESPACHAR");
if (PRC_PEDIDOS_POR_DESPACHAR.exec())
{
var ListaResultados = PRC_PEDIDOS_POR_DESPACHAR.result();
var CantidadRegistros = ListaResultados.listSize();
}
// Ahora leo la lista de pedidos y genero un jSon con el Id WF_PRCS_EC y el nombre de la persona
for (NumeroRegistro=0; NumeroRegistro <= CantidadRegistros; NumeroRegistro++) {
var RegistroResultadoBusqueda = ListaResultados.readAt(NumeroRegistro);
if (RegistroResultadoBusqueda.isOK()) {
// Iniciliazo una fila
var LineaPedidoPorDespachar = {};
LineaPedidoPorDespachar = (
{Id: RegistroResultadoBusqueda.fieldToString( "Id" )},
{NombreCliente: RegistroResultadoBusqueda.fieldToString
( "#CLIENTE_TITULAR.NOMBRE_PARA_MOSTRAR" )}
);
jsonObject.push (LineaPedidoPorDespachar);
}
}
return JSON.stringify( jsonObject );
}
Mil gracias por la respuesta. Desgraciadamente no funciona:
{“message”:“Result of expression ‘jsonObject.LineaPedidoPorDespachar’ [undefined] is not an object… In Line Number: 282”}
¿Cómo va a ser tan difícil meter un par de campos resultado de búsqueda en un jSon para leerlo desde una aplicación en ASP.NET?
Hablando desde la ignorancia , si el campo #CLIENTE_TITULAR.NOMBRE_PARA_MOSTRAR es una formula, creo que no te va a funcionar. Tampoco creo que te deje pasar el campo por lo estas cogiendo de otra tabla. Para descartar posibilidades pasaría primero solo el id, si funciona lo que me crearía un campo NOMBRE_PARA_MOSTRAR EN la misma tabla y lo pasaría. Asi probaría si funciona el proceso.
Hice lo que me sugieres sin embargo sigo sin obtener un resultado. Estoy al borde de tirarme por la ventana…
te copio el script modificado a ver si me puedes iluminar
Saludos
–
if (RegistroResultadoBusqueda.isOK()) {
// Iniciliazo una fila
var LineaPedidoPorDespachar = {};
LineaPedidoPorDespachar = [
{Id: RegistroResultadoBusqueda.fieldToString( "Id" )},
{NombreCliente: RegistroResultadoBusqueda.fieldToString( "CLIENTE_TITULAR.NOMBRE_PARA_MOSTRAR" )}
];
// Original que funciona:
//jsonObject[NumeroRegistro] = LineaPedidoPorDespachar;
jsonObject.LineaPedidoPorDespachar.push( LineaPedidoPorDespachar );
}
}