FieldGet() no recupera bien dato NUMERIC de tabla ADT

FieldGet() no recupera bien dato NUMERIC de tabla ADT

Postby RSalazarU » Fri Mar 10, 2023 7:15 pm

Saludos Amigos.

Debido a una normativa que saco IMPUESTO NACIONALES, acá en Bolivia, tuve que aumentar el tamaño del campo NROFACTURA de 15 a 20.

Trabajo con ADS.

Al grabar un numero de 19 digitos no hay problema (lo hago con una sentencia SQL)

Al recuperarlos es el problema

Ejemplo:
Code: Select all  Expand view  RUN

8424492347448222700 -> 8424492347448222720  //19 digitos cambia los dos ultimos digitos
999999999999999999 -> 1000000000000000000   //18 digitos cambia todo
98765432101234567 -> 98765432101234560      //17 digitos cambia el ultimo digito
9876543210123456 -> 9876543210123456        //16 digitos  OK!!
 


Trabajo con la clase TDatabase, que en su metodo Load() tiene la instruccion:

Code: Select all  Expand view  RUN

      for n = 1 to Len( ::aBuffer )
         ::aBuffer[ n ] = ( ::nArea )->( FieldGet( n ) )
      next
 


Entiendo que las tablas DBF en campos numericos solo aceptan 19 digitos
Pero con ADS (segun el manual) dice que acepta hasta 32

El problema esta en la lectura/recuperacion de los datos

Alguna sugerencia?

de antemano, gracias por la respuesta

Atentamente
Rolando
Cochabamba, Bolivia
RSalazarU
 
Posts: 211
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia

Re: FieldGet() no recupera bien dato NUMERIC de tabla ADT

Postby JoseAlvarez » Fri Mar 10, 2023 11:15 pm

Saludos.

Hace tiempo tuve un problema parecido.
La unica solucion que encontre fue grabar los numeros en campos alfanunericos y hacerme las funciones de conversion.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 797
Joined: Sun Nov 09, 2014 5:01 pm

Re: FieldGet() no recupera bien dato NUMERIC de tabla ADT

Postby RSalazarU » Sat Mar 11, 2023 1:56 am

Jose

Gracias por responder

>>La unica solucion que encontre fue grabar los numeros en campos alfanunericos y hacerme las funciones de conversion.

si, al parecer es la unica solucion.
RSalazarU
 
Posts: 211
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia

Re: FieldGet() no recupera bien dato NUMERIC de tabla ADT

Postby JoseAlvarez » Sat Mar 11, 2023 4:44 pm

RSalazarU wrote:Jose

Gracias por responder

>>La unica solucion que encontre fue grabar los numeros en campos alfanunericos y hacerme las funciones de conversion.

si, al parecer es la unica solucion.


Dale una mirada a este hilo.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 797
Joined: Sun Nov 09, 2014 5:01 pm

Re: FieldGet() no recupera bien dato NUMERIC de tabla ADT

Postby JoseAlvarez » Sat Mar 11, 2023 4:44 pm

"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 797
Joined: Sun Nov 09, 2014 5:01 pm

Re: FieldGet() no recupera bien dato NUMERIC de tabla ADT

Postby RSalazarU » Sat Mar 11, 2023 10:15 pm

Jose

Gracias por el dato, esta super

Rolando
RSalazarU
 
Posts: 211
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 49 guests

cron