Page 1 of 1
Nueva versión xharbour y autoincrementales
Posted: Wed Dec 05, 2007 2:36 pm
by fgondi
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.
Gracias por vuestro tiempo
Posted: Wed Dec 05, 2007 3:08 pm
by Antonio Linares
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
Posted: Wed Dec 05, 2007 5:26 pm
by fgondi
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.
Posted: Wed Dec 05, 2007 6:42 pm
by fgondi
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.
Posted: Wed Dec 05, 2007 8:33 pm
by Antonio Linares
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
Posted: Thu Dec 06, 2007 1:18 am
by fgondi
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