Re: [gx-l] Ordenar SDT en GX 9

Hasta ahora mi experiencia con el sort es un poco complicada. Te cuento que nunca pude hacer andar el sort con campos numéricos. Si me funcionó sin problemas cuando el campo por el cual se ordena es de tipo Character. 


Probá ordenarlo por un campo que sea de tipo character a ver si te funciona así.
El problema es que si tenes que ordenar por un campo numérico pasarlo a character no te garantiza que quede realmente ordenado.


El 22 de noviembre de 2011 15:33, Julio Garcia <jgarcia@algoritmica.com.mx> escribió:

Hola.

 

¿En qué parte estas cerrando el  If &Sel = 'S'?. Saludos.

 

Atte. Julio

 

 

De: Sergio Guichon [mailto:sguichon@montevideo.com.uy]
Enviado el: martes, 22 de noviembre de 2011 12:28 p.m.
Para: Foro GX
Asunto: [gx-l] Ordenar SDT en GX 9

 

Buenas tardes, amigos foristas.

 

Estoy intentando ordenar un SDT de tipo Collection por 2 de sus campos pero no logro hacerlo ni siquiera por 1 de ellos.

Lo que estoy haciendo es cargar un SDT con una lista de facturas seleccionadas en una grilla y quiero ordenarlas por Cliente y Obra, para ello tengo el siguiente código:

    For Each Line

        If &Sel = 'S'

                &SDTFactNCItem.FacSer = FacSer

                &SDTFactNCItem.FacNro = FacNro

                &SDTFactNCItem.TpoDocId = TpoDocId

                &SDTFactNCItem.CliId  = CliId

                &SDTFactNCItem.CliNom = CliNom

                &SDTFactNCItem.ObrId  = ObrId

   

                &SDTFactNC.Add(&SDTFactNCItem)

                &SDTFactNCItem = New SDTFactNC.SDTFactNCItem()

    EndFor

    &SDTFactNC.Sort('CliId,ObrId')

    If &SDTFactNC.Count > 0

        WNCreFac.Call(&FacFch)

        If &FacFch.IsEmpty()

            msg('No se genera Nota de Crédito')

        Else

            PNotaCredito.Call(&FacFch,&User,&SDTFactNC)

            Refresh Keep

        Endif

    Endif

 

El problema que me encuentro está en la línea &SDTFactNC.Sort('CliId,ObrId') y lo da en tiempo de ejecución.

El error que da específicamente es

 

También probé utilizando únicamente CliId, pero continúo con el error, probé sin las comillas, utilizando directamente el tipo de datos SDTFactNC (que es el tipo de datos del SDT) pero tampoco.

 

El SDT tiene la siguiente forma:

 

Estoy trabajando con Genexus 9 U7, utilizando el generador VB C/S (Win) U3. Estoy ejecutando con Visual Basic 6 SP 6 y mi base de datos está en DB2/400.

 

Si alguien pudiera ayudarme, se lo agradecería mucho, ya que la ayuda de GX dice que debe ser hecho como está, pero no me está funcionando. Obviamente debe ser por algo que estoy haciendo mal, pero no me doy cuenta.

Desde ya muchas gracias a todos.

 

Saludos

 

Sergio A.Guichón

 


sguichon@montevideo.com.uy

Tel.   2203.68.79

Movil 099-18.40.45

Montevideo - Uruguay

 




--
Saludos,
Federico Lawlor
+598 2 601 20 82 | www.genexusconsulting.com
1896 Interno 4198 | BROU

--
Has recibido este mensaje porque estás suscrito al grupo "GeneXus" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a genexus@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a genexus+unsubscribe@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/genexus?hl=es.

0 Response to "Re: [gx-l] Ordenar SDT en GX 9"

Publicar un comentario