Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-01-2024
nincillo nincillo is offline
Miembro
 
Registrado: may 2017
Posts: 151
Poder: 8
nincillo Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Ok pues imagino que tendrás que usar la 10.3. Lo que me tiene despistado es que para generar la cabecera hay que hacerlo importando el fichero .xsd según comentaba Neftalí usando XML Data Binding. El problema es que por ahí puedes generar la cabecera y por el wsdl cada registro de factura pero no se me ocurre cómo juntar todo eso en una llamada para que genere un XML con las dos cosas. Se me ha ocurrido que habrá alguna llamada desde la cabecera para "pegarle" las facturas pero no encuentro la forma.


Saludos.

Edito: ¿Podrías poner un ejemplo de creación de una factura? Porque también estoy haciendo pruebas y no consigo meter el desglose.
El "problema" es que en mi caso, la programación "importante" la tengo con librerías que en el 10.3 no me compilan. Por eso mi interés en poder hacerlo con el D2007.

La otra opción serán crearlo a mano como en su momento hice para el SII.

Yo tengo el mismo problema que tú. Se generar la cabecera por un lado y los registros de facturación por otro. Lo que no sé es unirlos y meterlos a la llamada SOAP...

Intento rebuscar lo que hice para generar los registros de facturación, lo que tengo que mirar es si me coinciden correctamente con los que ha puesto un poco más arriba @ermendalenda .

Por otro lado, el visto el post que pusiste indicando un método de hacer el hash, pero por lo que veo tampoco es compatible ni con el 2007, ni con el XE2. Tendré que mirar que al menos lo sea con el 10.3.
Responder Con Cita
  #2  
Antiguo 03-01-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Seguimos aprobando

http://www.hacienda.gob.es/Documenta...-1007-2023.pdf
http://www.hacienda.gob.es/Documenta...-1007-2023.pdf
http://www.hacienda.gob.es/Documenta...-1007-2023.pdf
No puedo copiar los enlaces del boe
Pero hay 3, en estado de consultas sobre la tramitacion .

Última edición por ermendalenda fecha: 03-01-2024 a las 20:37:17.
Responder Con Cita
  #3  
Antiguo 03-01-2024
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 51
Poder: 11
ramherfer Va por buen camino
Cita:
Empezado por nincillo Ver Mensaje
El "problema" es que en mi caso, la programación "importante" la tengo con librerías que en el 10.3 no me compilan. Por eso mi interés en poder hacerlo con el D2007.
Por otro lado, el visto el post que pusiste indicando un método de hacer el hash, pero por lo que veo tampoco es compatible ni con el 2007, ni con el XE2. Tendré que mirar que al menos lo sea con el 10.3.
Compañero yo puse un codigo para calcular el hash de RegistroFacturacion metido en una librería de enlace dinámico (dll)
No se si está en la página 37 o 38 y me funciona está creada con delphi 10.2 y la llamo desde delphi 7 me crea el hash 256 que he comprobado en algunas web's y está perfecto.

Aqui está el código de la librería:

Código:
library CalcHashSha256;

{ Important note about DLL memory management: ShareMem must be the
  first unit in your library's USES clause AND your project's (select
  Project-View Source) USES clause if your DLL exports any procedures or
  functions that pass strings as parameters or function results. This
  applies to all strings passed to and from your DLL--even those that
  are nested in records and classes. ShareMem is the interface unit to
  the BORLNDMM.DLL shared memory manager, which must be deployed along
  with your DLL. To avoid using BORLNDMM.DLL, pass string information
  using PChar or ShortString parameters. }

uses
  System.SysUtils,
  system.hash,
  System.Classes,
  system.netEncoding;

{$R *.res}

function CalculaStrHashSHA256(Str: WideString; Base64: Boolean): WideString;

  function Base64Encode(Str: WideString): WideString;
  var
    encoder: TBase64Encoding;
  begin
    encoder:=TBase64Encoding.Create();
    result:=encoder.Encode(str);
    encoder.Free;
  end;

var
  HashSHA: THashSHA2;
begin
    HashSHA := THashSHA2.Create;
    HashSHA.GetHashString(Str);
    result := HashSHA.GetHashString(Str,SHA256);
    if Base64 = True then result := Base64Encode(Str);
end;

Exports CalculaStrHashSha256;

begin
end.
Ejemplo de llamada:
Código:
Huella := CalculaStrHashSHA256(ContenidoNodoRegistroFacturacion, checkBox1.Checked)
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos.

Última edición por ramherfer fecha: 03-01-2024 a las 20:46:26.
Responder Con Cita
  #4  
Antiguo 03-01-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Enlaces

http://www.hacienda.gob.es/Documenta...-1007-2023.pdf

http://www.hacienda.gob.es/Documenta...-1007-2023.pdf

http://www.hacienda.gob.es/Documenta...-1007-2023.pdf


Ejemplo de contenido de estos documentos del boe sobre los SIF (Verifactu):

El código «QR» deberá tener un tamaño entre 30x30 y 40x40 milímetros y seguir las especificaciones de la norma ISO/I
EC 18004. Para la generación del código «QR» se
empleará el nivel M (medio) de corrección de errores, lo que ofrece un 15% de recuperación
de caracteres.
2. El contenido del código «QR» será el siguiente:
a) «URL» del servicio de cotejo o remisión de información por parte del receptor de la
factura, del cual se informará en la Sede electrónica de la Agencia Estatal de
Administración Tributaria.(pendiente de que la publiquen)

b) Información de la factura que formará parte de la «URL»:
1.ºNIF del obligado a expedir la factura

2.º Número de serie y número de la factura expedida
3.º Fecha de expedición de la factura
4.º Importe total de la factura
Responder Con Cita
  #5  
Antiguo 03-01-2024
reyelche reyelche is offline
Registrado
 
Registrado: ene 2020
Posts: 2
Poder: 0
reyelche Va por buen camino
Hola VERIFACTU EN VISUAL BASIC

Hola buenas tardes, alguien sabe si hay algún foro sobre la normativa VERIFACTU para programadores en Visual Basic. Gracias
Responder Con Cita
  #6  
Antiguo 03-01-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por reyelche Ver Mensaje
Hola buenas tardes, alguien sabe si hay algún foro sobre la normativa VERIFACTU para programadores en Visual Basic. Gracias
Buenas tardes.
Este es para todo,
Yo estoy en Visual Basic.
Responder Con Cita
  #7  
Antiguo 03-01-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Mas cositas de la norma

Algunas particularidades de la norma, aunque está en periodo de consulta hasta el día 24 del presente mes:

- Gestion de certificados electronicvos. Los certificados electrónicos serán utilizados para autenticarse en la conexión con la Agencia Estatal de Administración Tributaria de cara a la remisión de la información y, en su caso, para generarla firma electrónica de los registros de facturación.-Antes de la generación de un nuevo registro habrá que comprobar si los 5 últimos registros estan correctamente encadenados.
-Si hay problemas con el envio debe reintentarse como máximo en una hora.
-Mostrar una alarma, clara y visible en todos los equipos del sistema informatico SIF, si hay alguna particularidad que impide generar correctamente los registros y generar el registro de eventos en ese caso.
-La fecha y hora empleada en los sistemas informaticos, deben ser exactos, con un maximo de un margen de 1 minuto.
- Tener comprobaciones de registros generados: comprobacion de la huella hash, y que te permitan ir a partir de un registro al anterior o posterior.
- El formato de los xml será en codificación UTF8




-Se deben crear estos eventos:
* Instalacion o puesta en marcha
* Inicio como verifactu
* Fin verifactu
* un evento por hora si no hay registros.¿¿??
y los demas eventos de los sistemas que no vayan a enviar verifactu



Esto tendran que aclararlo un pelin más:
"Para un determinado obligado tributario, el sistema informático producirá una única cadena de registros de facturación, es decir, todos los registros de facturación generados por un mismo sistema informático deberán formar parte de la misma cadena. Si hay varios terminales o dispositivos de facturación pertenecientes al mismo sistema informático, todos ellos deberán generar registros que se integrarán en la única cadena existente para dicho sistema informático"


La generación de la huella o «hash» de los registros de facturación se realizará conforme a las siguientes directrices:
a)La información a la que se realizará la huella o «hash» será el fichero XML del registro de facturación.
b)Se usarán el algoritmo y codificación indicados en el documento técnico que se publicará la Sede electrónica de la Agencia Estatal de Administración Tributaria.



Etc etc etc...
Vaya dolor de cabeza

Responder Con Cita
  #8  
Antiguo 04-01-2024
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.471
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por ermendalenda Ver Mensaje
Algunas particularidades de la norma, aunque está en periodo de consulta hasta el día 24 del presente mes:

- Gestion de certificados electronicvos. Los certificados electrónicos serán utilizados para autenticarse en la conexión con la Agencia Estatal de Administración Tributaria de cara a la remisión de la información y, en su caso, para generarla firma electrónica de los registros de facturación.-Antes de la generación de un nuevo registro habrá que comprobar si los 5 últimos registros estan correctamente encadenados.
-Si hay problemas con el envio debe reintentarse como máximo en una hora.
-Mostrar una alarma, clara y visible en todos los equipos del sistema informatico SIF, si hay alguna particularidad que impide generar correctamente los registros y generar el registro de eventos en ese caso.
-La fecha y hora empleada en los sistemas informaticos, deben ser exactos, con un maximo de un margen de 1 minuto.
- Tener comprobaciones de registros generados: comprobacion de la huella hash, y que te permitan ir a partir de un registro al anterior o posterior.
- El formato de los xml será en codificación UTF8




-Se deben crear estos eventos:
* Instalacion o puesta en marcha
* Inicio como verifactu
* Fin verifactu
* un evento por hora si no hay registros.¿¿??
y los demas eventos de los sistemas que no vayan a enviar verifactu



Esto tendran que aclararlo un pelin más:
"Para un determinado obligado tributario, el sistema informático producirá una única cadena de registros de facturación, es decir, todos los registros de facturación generados por un mismo sistema informático deberán formar parte de la misma cadena. Si hay varios terminales o dispositivos de facturación pertenecientes al mismo sistema informático, todos ellos deberán generar registros que se integrarán en la única cadena existente para dicho sistema informático"


La generación de la huella o «hash» de los registros de facturación se realizará conforme a las siguientes directrices:
a)La información a la que se realizará la huella o «hash» será el fichero XML del registro de facturación.
b)Se usarán el algoritmo y codificación indicados en el documento técnico que se publicará la Sede electrónica de la Agencia Estatal de Administración Tributaria.



Etc etc etc...
Vaya dolor de cabeza


Gracias por la info compañero.
__________________
Be water my friend.
Responder Con Cita
  #9  
Antiguo 04-01-2024
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 51
Poder: 11
ramherfer Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
-Se deben crear estos eventos:
* Instalacion o puesta en marcha
* Inicio como verifactu
* Fin verifactu
* un evento por hora si no hay registros.¿¿??
y los demas eventos de los sistemas que no vayan a enviar verifactu
¿Donde se deben crear o registrar estos eventos compañero?
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos.
Responder Con Cita
  #10  
Antiguo 07-01-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ramherfer Ver Mensaje
Compañero yo puse un codigo para calcular el hash de RegistroFacturacion metido en una librería de enlace dinámico (dll)
No se si está en la página 37 o 38 y me funciona está creada con delphi 10.2 y la llamo desde delphi 7 me crea el hash 256 que he comprobado en algunas web's y está perfecto.
Aqui está el código de la librería:

Lo añado al mensaje #2 de este hilo, donde iremos recopilando enlaces con diferentes códigos útiles.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hijo de Informáticos gluglu Humor 3 13-03-2007 11:05:35
Adictos informaticos ... Trigger Humor 2 11-10-2004 12:18:32
Nosotros los Informáticos Trigger Humor 1 10-10-2004 14:58:09
Patrón de los Informáticos. obiwuan Varios 20 10-09-2003 14:44:54
Chistes Informaticos jhonny Humor 2 11-08-2003 21:59:09


La franja horaria es GMT +2. Ahora son las 06:40:01.


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
Copyright 1996-2007 Club Delphi