Hola buenas noches.
Alguno a probado a construir el xml desde el xsd con el XML Data Binding de Delphi Yo no consigo pasar de rellenar la cabecera, el resto de datos como si no existieran. Código:
IFact:IXMLSistemaFacturacionAltaFact; Si alguien me puede decir algo al respecto, se lo agradecería. |
pRIMER INTENTO ALTA FACTURA
este primer intento es siguiendo un poco el ejemplo del pdf, pero sin meter el soap, a ver si encontrais los fallos please.
Código PHP:
|
Cita:
Yo a simple vista, lo he copiado/pegado en un visor de xlm para ver un poco más "pretty" y aparentemente está ok, con su cabecera y todo que es lo que al menos a mi me trae loco. |
Cita:
Puedes retroceder un poco para atrás y verás lo que fui posteando. Yo creo que si que han debido de meter la pata en algo, pero como soy muy novato en estos temas, tampoco me atrevo ni se donde poder hacer consultas más técnicas. |
Cita:
Código PHP:
Edito. ok ok nada. eso son nodos a insertar cuando esten empaquetados en el soap |
Cita:
Tampoco entiendo (no estoy muy puesto en el tema) motivo por el cual añades las etiquetas sum1 y esto que comentas de meter el soap :confused: Si que rogaría y teniendo en cuenta que puede haber gente muy puesta y otra menos puesta como puede ser mi caso hacer los textos mas entendibles a los que no estamos tan puestos y tenemos el problemón encima. Espero que nadie se ofenda por lo que digo, lo hago con la mejor intención del mundo. |
Cita:
Si, si, la huella no es esa, es que he cambiado el contenido pero no la huella, por no dejar datos reales. las etiquetas sum y sum1 son prefijos que se refieren a un enlace, esos prefijos puedes decidir tú como se llaman pero tienen que estar igual en los sitios a los que hacen la mis ma referencia. El soap: cada fichero verifcatu se refiere a un alta o anulacion, pero para el envio, tienes que meter (*n) archivos en un solo fichero con los nodos del soap. *n=numero de archivos verifactu, este numero está condicionado por las respuestas que te de la aeat en cada envio, te pueden decir cuantos (n) tienes que mandar o cuanto tiempo tienes que esperar para el siguiente envio (Maximo 1000 registros o archivos verifactu). Espero que te aclare un poco, sé que es un poco lioso. |
Yo me voy algo antes. ¿Alguien me puede aclarar de qué va el rollo de la huella y cómo se genera?
Gracias y un saludo. |
Cita:
Por otro lado, ese calculo del hash puede estar devuelto en sistemas distintos, pero el más frecuente es el hexadecimal, que tambien teneis que tenerlo en cuenta. Cualquier texto va a devolver una sha256 del mismo tamaño (mismo número de caracteres), por muy pequeño o grande que sea el texto. Para calcular la huella del verifactu teneis que calcularla sobre el nodo [RegistroFacturacion] incluyendo las eiquetas de apertura y cierre, aquí es donde podeis tener la duda si después de la etiqueta de cierre hay retorno de carro hay que incluirla para el calculo o no, y aunque la normativa dice que el nodo incluyen los retornos de carro posteriores, no sabemos si van a aplicar la normativa, os aconsejo que despues de la etiqueta de cierre no hagaios saltos de lineas ni retornos de carro. Saludos |
Gracias compañero.
Entiendo entonces que hay que generar un fichero XML por cada factura que se va a enviar y calcular unitariamente ese hash para meterlo posteriormente en la llamada que se hace para cada factura. A ver si algún colega que use Delphi puede mostrarnos alguna función/ejemplo. Saludos. |
Cita:
|
Perfecto, gracias.
Haciendo una búsqueda "tontuna" he encontrado este link con una función simple para generar el hash SHA-256. Imagino que servirá. Saludos. |
Un hash se puede calcular con muchas herramientas, editores, etc. pero lo único "vital" es asegurarse de que se hace sobre el texto correcto, siempre igual.
Por ejemplo, si el texto está en ascii o utf-8 serán distintos, ¡¡¡aunque lo veamos igual!!! y también, como han dicho antes, cuidado con los fin de línea, retornos de carro, etc. que es distinto si se ha generado en windows o si está calculado en un servidor linux. |
Cita:
|
Cita:
Luego la parte en azul, etiquetas NombreRazonEmisor y TipoRegistroSIF deben venir antes de TipoFactura, y las etiquetas TipoFactura y DescripcionOperacion repetidas después deben quitarse. Cita:
IdSistemaInformatico está limitado a dos caracteres, tu ejemplo tiene 19... Además, falta justo antes un elemento NombreSistemaInformatico que no es opcional. Si se reemplaza por Código:
<sum1:NombreSistemaInformatico>VERIFACTU0000PRUEBA</sum1:NombreSistemaInformatico> Cita:
|
Cita:
Repaso todo Al cambiarlo de la 0.1 a la 1.0 l he liado |
Cita:
Pero cualquier tilde o eñe sí creará problemas. |
Mensaje de error al importar wsdl en Delphi X2
1 Archivos Adjunto(s)
Cuando lo intenté con el la versión 10.3 no me dio error, sin embargo, con esta versión más antigua me da esos errores durante la importación.
Quizás por eso no está haciendo la importación correcta y le faltan "partes". ¿Podrá ser? |
Cita:
Basta con cojan el nodo y hagan el hash o tendrán que saber la codoficacion usada? |
Cita:
Pueden calcularlo y es su forma de verificar que no hay trampa. Ver significado funcionmiento del blockchain, por ejemplo para las criptomoneda, aunque estas tienen además otros algoritmos tienen aplicado los cálculos de hash. |
La franja horaria es GMT +2. Ahora son las 13:44:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi