Nueva versión xharbour y autoincrementales

Nueva versión xharbour y autoincrementales

Postby fgondi » Wed Dec 05, 2007 2:36 pm

Hola,

Uso Advantage 8.1 en modo servidor y en las tablas tengo creado un campo en formato autoincremental.

He actualizado a la nueva versión de fivewin y ahora tengo problemas al leer dicho campo.
Un simple print de ese campo me retorna asceriscos.
Code: Select all  Expand view  RUN
? Articulo->Id


Gracias por vuestro tiempo
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España

Postby Antonio Linares » Wed Dec 05, 2007 3:08 pm

Fernando,

Te recomiendo que le envies un email a Brian Hays bhays@abacuslaw.com ya que es un gran experto de ADS y siempre usa e investiga las versiones más recientes de ADS, además de tener él, contacto directo con los desarrolladores de ADS
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42159
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby fgondi » Wed Dec 05, 2007 5:26 pm

Antonio,

Ya le he enviado el correo a Brian Hays.

Aunque el problema lo tengo desde que he actuliazado fivewin y xharbour.

Antes usaba Ads 8.1 y Fivewin de Marzo con su correspondiente xharbour y funcionaba correctamente.
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España

Postby fgondi » Wed Dec 05, 2007 6:42 pm

Antonio,

Ya encontre la solución.

El problema es que la función str, por defecto, transforma a 10 digitos y ahora necesito transforma a 11, osea cambiar en todos los sitios que tengo str(Articulo->Id) por Str(Articulo->Id, 11)

Las comprobaciones usando este valor funcionan bien, por ejemplo Articulo->Id==nId

El hecho de que no funcione un simple print (?) o un simple browse (sin que esa columna tenga transform), no se que puede ser, me imagino que para presentarlo se convierta internamente a caracteres

Gracias por tu tiempo y dedicación.
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España

Postby Antonio Linares » Wed Dec 05, 2007 8:33 pm

Fernando,

> cambiar en todos los sitios que tengo str(Articulo->Id) por Str(Articulo->Id, 11)

Podrias buscar y reemplazar Str() por Str11() en tus PRGs y que Str11() llame a Str() usando 11 como segundo parámetro.

Para comprender mejor lo que ocurre: el contenido numérico de ese campo mide 11 dígitos ? Puedes poner un valor de ejemplo ? gracias

Prueba a hacer Len() de ese campo, a ver que valor da
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42159
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby fgondi » Thu Dec 06, 2007 1:18 am

Antonio,

>Podrias buscar y reemplazar Str() por Str11() en tus PRGs y que Str11() llame a Str() usando 11 como segundo parámetro.

jeje, Me has leido el pensamiento. Es lo que tenia pensado hacer, escribí lo otro para intentar ser mas claro en la solución

>Para comprender mejor lo que ocurre: el contenido numérico de ese campo mide 11 dígitos ? Puedes poner un valor de ejemplo ? gracias

Eso es lo raro. El contenido no llega ni por asomo a 11 dígitos. Un ejemplo es con el valor 510515

>Prueba a hacer Len() de ese campo, a ver que valor da
El campo es un valor numérico y por tanto no puedo aplicarle la función len directamente.

El len(str11(Articulo->Id)) devuelve 11, como era de esperar
El len(str(Articulo->Id)) devuelve 4. Cuatro astericos
Un saludo
Fernando González Diez
ALSIS Sistemas Informáticos
User avatar
fgondi
 
Posts: 694
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 6 guests