Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Registros de Facturacion y Eventos (XML) (https://www.clubdelphi.com/foros/forumdisplay.php?f=67)
-   -   Error cálculo huella (https://www.clubdelphi.com/foros/showthread.php?t=97883)

chenech 24-11-2025 00:55:56

Error cálculo huella
 
Me ha pasado hoy una cosa muy curiosa, un cliente que lleva tiempo enviando y todo correcto, pero hoy me han empezado a devolver el error de que la huella no está bien calculada.
Después de examinar varias cosas, veo que son los decimales, yo estaba enviando 120 en el campo <ImporteTotal> y uso 120 para calcularla, si la calculo con 120.00 me da bien, al igual que el importe de de la cuota.
Pero es que tengo otros que siguen usando el programa sin modificar y enviando 120 y va bien.
Les ha pasado algo parecido? Como calculan la huella, con los dos decimales o sin ninguno o uno según el importe? :mad:
Gracias

ermendalenda 24-11-2025 06:03:30

Hola, es dificil saberlo sin conocer tu desarrollo, pero puedes verificar algunas cosas:
-Configuración Regional, separador decimal y miles de ambos, puede que estén diferentes y afecte a tu programa, es una cosa qque yo he tenido en cuenta y al inicio del programa redefino siempre para evitar errores de que un usuario los cambie o no se haya instalado el Sistema operativo acorde a dichas reglas de puntuación.
-Cuando envies el cálculo del hash, en la linea anterior o posterior guarda la cadena con la que se realiza el cálculo del mismo, para saber si hay alguna diferencia entre ambas cadenas en cuanto al importe que comentas, por que aunque creas que en ambos cálculos esté sin decimales quizas alguna variable mal definida y que actue en alguna ocasión, esté formateandolo a número entero y en otras no actue esa variable. por ejemplo al pasar a string al formar la cadena puede actuar ese tipo Long (entero) y te la lie.

chenech 24-11-2025 11:15:42

Está bien la configuración, guardo el string del cálculo y la única diferencia es que paso 120 en lugar de 120.00, y la respuesta de verifactu es que está mal, si lo envío como 120.00 me da ok, se ve que yo lo calculo de una forma y ellos de otra. Pero que solo me pase ahí es lo curioso por que en otros paso 120.
En fin, a meter mas controles. :mad:


La franja horaria es GMT +2. Ahora son las 15:59:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi