# Desesperado con jSon

**URL:** <https://foros.velneo.com/t/desesperado-con-json/7932>\
**Category:** Velneo\
**Created:** [26 Marzo, 2015 00:59 UTC](https://foros.velneo.com/t/desesperado-con-json/7932 "2015-03-26T00:59:40Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![alberto\_nudman](https://avatars.discourse-cdn.com/v4/letter/a/e68b1a/32.png) [@alberto\_nudman](https://foros.velneo.com/u/alberto_nudman)\
**Post date:** [26 Marzo, 2015 00:59 UTC](https://foros.velneo.com/t/desesperado-con-json/7932/1 "2015-03-26T00:59:40Z")

</div>

Amigos,

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 &lt;= 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 );
		
		
	}

```

}

---

<div class="post-metadata">

**Author:** ![manuel.rd](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/manuel.rd/32/3508_2.png) [@manuel.rd](https://foros.velneo.com/u/manuel.rd)\
**Post date:** [26 Marzo, 2015 01:40 UTC](https://foros.velneo.com/t/desesperado-con-json/7932/2 "2015-03-26T01:40:43Z")

</div>

Buenas, estas usando push que es un método de la Array.  
Te debería funcionar así

`jsonObject.LineaPedidoPorDespachar.push( LineaPedidoPorDespachar );`

---

<div class="post-metadata">

**Author:** ![alberto\_nudman](https://avatars.discourse-cdn.com/v4/letter/a/e68b1a/32.png) [@alberto\_nudman](https://foros.velneo.com/u/alberto_nudman)\
**Post date:** [26 Marzo, 2015 21:47 UTC](https://foros.velneo.com/t/desesperado-con-json/7932/3 "2015-03-26T21:47:33Z")

</div>

Estimado Wikan,

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](http://ASP.NET)?

;(

---

<div class="post-metadata">

**Author:** ![jmcorredoira](https://avatars.discourse-cdn.com/v4/letter/j/a698b9/32.png) [@jmcorredoira](https://foros.velneo.com/u/jmcorredoira)\
**Post date:** [26 Marzo, 2015 22:07 UTC](https://foros.velneo.com/t/desesperado-con-json/7932/4 "2015-03-26T22:07:11Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [26 Marzo, 2015 22:46 UTC](https://foros.velneo.com/t/desesperado-con-json/7932/5 "2015-03-26T22:46:13Z")

</div>

Hola Spicer.

Así de pronto veo 2 errores muy básicos.

- Primero, el Array LineaPedidoPorDespachar de debe definir con corchetes [], no con paréntesis.
- Segundo, a la función RegistroResultadoBusqueda.fieldToString("#CLIENTE\_TITULAR.NOMBRE\_PARA\_MOSTRAR") le sobre la almohadilla # del nombre de campo.

Corrige y pruebas.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![alberto\_nudman](https://avatars.discourse-cdn.com/v4/letter/a/e68b1a/32.png) [@alberto\_nudman](https://foros.velneo.com/u/alberto_nudman)\
**Post date:** [27 Marzo, 2015 00:34 UTC](https://foros.velneo.com/t/desesperado-con-json/7932/6 "2015-03-27T00:34:00Z")

</div>

Estimado Paco,

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 );
						
			}
		}

```

* * *
