He hecho alguna modificación y ya devuelve bien. De nuevo gracias Carlos.
Code: Select all | Expand
Function Main()
LOCAL cCadena
local cNIF, ;
cNumSerieFacturaEmisor, ;
dFechaExpedicionFactura, ;
cTipoFactura, ;
nCuotaTotal, ;
nImporteTotal, ;
cHuellaRegistroAnterior, ;
cFechaHoraHusoGenRegistro
cNIF := "IDEmisorFactura=" + "89890001K"
cNumSerieFacturaEmisor := "&NumSerieFactura=" + "12345678/G33"
dFechaExpedicionFactura := "&FechaExpedicionFactura=" + "01-01-2024"
cTipoFactura := "&TipoFactura=" + "F1"
nCuotaTotal := "&CuotaTotal=" + "12.35"
nImporteTotal := "&ImporteTotal=" + "123.45"
cHuellaRegistroAnterior := "&Huella=" + ""
cFechaHoraHusoGenRegistro := "&FechaHoraHusoGenRegistro=" + "2024-01-01T19:20:30+01:00"
cCadena := hb_VerifactuHuella( cNIF, ;
cNumSerieFacturaEmisor, ;
dFechaExpedicionFactura, ;
cTipoFactura, ;
nCuotaTotal, ;
nImporteTotal, ;
cHuellaRegistroAnterior, ;
cFechaHoraHusoGenRegistro )
MsgInfo( cCadena, "cCadena devuelta" )
Return NIL
Function hb_VerifactuHuella( cNIF, ;
cNumSerieFacturaEmisor, ;
dFechaExpedicionFactura, ;
cTipoFactura, ;
nCuotaTotal, ;
nImporteTotal, ;
cHuellaRegistroAnterior, ;
cFechaHoraHusoGenRegistro )
local c := ""
local h := {=>}
Local cHuella := ""
h['Nif'] := cNIF
h['NumSerieFacturaEmisor'] := cNumSerieFacturaEmisor
h['FechaExpedicionFactura'] := dFechaExpedicionFactura
h['TipoFactura'] := cTipoFactura
h['CuotaTotal'] := nCuotaTotal
h['ImporteTotal'] := nImporteTotal
h['HuellaRegistroAnterior'] := cHuellaRegistroAnterior
h['FechaHoraHusoGenRegistro'] := cFechaHoraHusoGenRegistro
hb_heval( h, {|k,v,i| c += v} ) // | key, value, index |
c := hb_StrToUTF8( c ) // Si se quita no varÃa resultado.
cHuella := ( hb_sha256( c ) )
cHuella := Upper( cHuella )
Return ( cHuella )