Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Envío de registros y sus respuestas (https://www.clubdelphi.com/foros/forumdisplay.php?f=66)
-   -   Demo con código Verifactu.dll para (delphi 7) (https://www.clubdelphi.com/foros/showthread.php?t=97004)

DarkDudae 12-08-2025 11:07:49

Gracias compañero. Como siempre, si necesitas que te eche una mano con algo, no dudes en comentármelo.

rafa1963 12-08-2025 11:08:46

Agradecido eternamente.

seccion_31 12-08-2025 13:18:51

gracias ! este componente ha recibido aportaciones y correcciones de compañeros del foro !! : )


Por explayarme un poco:

Para generar la facturaE, usa una unidad de diseño propio que llamo urecordToXML, que transforma un record en un XML. esa unidad estaba diseñada originalmente a hacerse cargo del diseño del componente verifactu, encapsulando todo el objeto SOAP en un record.... Pero quedo abandonada, al tomar otro camino.... (Para diseñar el componente intente 3 direcciones distintas, hasta la DLL de hoy).

Asi que ahora he trasladado el diseño de facturaE, a un conjunto de records que generan el XML facturaE. Lo cual le otorga una excelente capacidad de adaptacion, basta incluir en el record el campo que falta y recompilar, asi de simple.

Código:

 

    TFacturae=record
          FileHeader:TFileHeader;
          Parties  :TParties;
          Invoices  :TInvoices;
    end;

Ahora soporta alta de factura (ya validado), rectificativa (en proceso), y anulacion (en proceso), en formato facturaE.

Saludos !!

: )

seccion_31 13-08-2025 20:19:07

La 4.8 tiene un error, en la generacion de facturas F3 descubierto por matorral (gracias!)

Debe quedar asi, el extracto de codigo que la genera:

Código Delphi [-]
// tipo F3, si hay factura sustituida
    if facturaRegistro.nSustituye>0  then
    begin
        Factura.RegistroAlta.TipoFactura := ClaveTipoFacturaType.F3;

        // puse aqui el create de facturasSustituidas
        facturasSustituidas:=FacturasSustituidas2.create();

        for j:=0 to facturaRegistro.nSustituye-1 do
        begin
//            facturasSustituidas:=FacturasSustituidas2.create();
            facturaSustiuida:=IDFacturaARType.Create;

            facturaSustiuida.IDEmisorFactura       :=cabecera.emisor.nifEmisor;
            facturaSustiuida.NumSerieFactura       :=facturaRegistro.sustituyeTicketF3[j].NumSerieTicket;
            facturaSustiuida.FechaExpedicionFactura:=verifactuFecha(facturaRegistro.sustituyeTicketF3[j].fechaTicket);

            setlength(facturasSustituidas,j+1);
            facturasSustituidas[ High(facturasSustituidas ) ]:=facturaSustiuida;

        end;

        Factura.RegistroAlta.FacturasSustituidas:=facturasSustituidas;
    end;


Unidad: uVerifactuFuncs

Funcion: altafactura_F1_F2_F3_R4_R5_verifactu


Con esto queda solucionado: ira a compilacion en la 5.0 que incorporara como digo una versión temprana del interface con generación de facturaE

Si alguien lo necesita YA y no puede recompilar la DLL, que me escriba.


La próxima 5.0 FacturaE ya tiene alta (validado), rectificativa(validado), anulación(por validar) en una versión temprana, para facturas nacionales.


Saludos !

: )

ramherfer 14-08-2025 11:57:53

Buenos días compañeros.
En los cotejos de factura con la AEAT si la fecha de operacion es distinta a la fecha de factura hay que coger para el cálculo de las variables ejercicio y periodo de la fecha de operación ya que en caso de no hacerlo el mensaje "Error en huella Error en Total" y si se toma la fecha de operación para obtener el valor de esas variables el mensaje "Huella ok Total ok".

Imagino que será un comportamiento normal ¿no?

seccion_31 14-08-2025 18:36:57

Cita:

Empezado por ramherfer (Mensaje 567074)
Buenos días compañeros.
En los cotejos de factura con la AEAT si la fecha de operacion es distinta a la fecha de factura hay que coger para el cálculo de las variables ejercicio y periodo de la fecha de operación ya que en caso de no hacerlo el mensaje "Error en huella Error en Total" y si se toma la fecha de operación para obtener el valor de esas variables el mensaje "Huella ok Total ok".

Imagino que será un comportamiento normal ¿no?

Es normal
Cuando se diseño la demo no había fecha de operación

Como he dicho en anteriores mensajes lo que manda es la fecha de operación

Y es la que determinara el periodo de liquidación

Más vale que coincida el periodo de operación con el de emisión de factura.

Saludos!

Matorral 16-08-2025 11:55:09

Fallo en Envio de 20 Fras. Simplificadas
 
Buenos días compañeros¡¡

Alguien podría probar a enviar en la demo 20 facturas simplificadas? es decir, hacer el excel con 20 facturas simplificadas y probar el envío?

A mi me da fallo al hacer el envío

Código:

El Envio No Ha Podido Ser Realizado
Error Al Enviar
(ESOAPHTTPException)-Se requiere un certificado para completar la autenticación de cliente - URL:https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP - SOAPAction:""

En cambio si el envío lo hago de 15 facturas me funciona perfectamente.

En las opciones del proyecto, en Linker, Memory sizes tengo :

Min stack size = $00004000
Max stack size = $00990000
Image base = $00700000

Probé desde varios pc I7 10ª generación 16GB RAM y no me funciona en ninguno.

Otro dato mas, si envío el XML generado en la demo desde el Web Services de Hacienda me lo acepta sin problemas.

Os lo agradezco, porque me interesa saber si es problema de mi configuración (puesto que me pasa en mis aplicaciones y en la demo).


Saludos y millón de gracias por anticipado¡¡¡

seccion_31 16-08-2025 11:59:09

Cita:

Empezado por Matorral (Mensaje 567104)
Buenos días compañeros¡¡

Alguien podría probar a enviar en la demo 20 facturas simplificadas? es decir, hacer el excel con 20 facturas simplificadas y probar el envío?

A mi me da fallo al hacer el envío

Código:

El Envio No Ha Podido Ser Realizado
Error Al Enviar
(ESOAPHTTPException)-Se requiere un certificado para completar la autenticación de cliente - URL:https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP - SOAPAction:""

En cambio si el envío lo hago de 15 facturas me funciona perfectamente.

En las opciones del proyecto, en Linker, Memory sizes tengo :

Min stack size = $00004000
Max stack size = $00990000
Image base = $00700000

Probé desde varios pc I7 10ª generación 16GB RAM y no me funciona en ninguno.

Otro dato mas, si envío el XML generado en la demo desde el Web Services de Hacienda me lo acepta sin problemas.

Os lo agradezco, porque me interesa saber si es problema de mi configuración (puesto que me pasa en mis aplicaciones y en la demo).


Saludos y millón de gracias por anticipado¡¡¡

Yo diría que ..

La aeat te pone un límite en el entorno de pruebas...

A mí me ha pasado con facturas normales.

Se sale fuera con eso del certificado y ya.

Slds

A ver los demás que opinan.

mqm 16-08-2025 12:01:15

A mi me ha pasado durante la fase de prueba del componte. Si enviaba mas de 10 facturas, da igual simplificada, ordinarias o ambas, me daba el error que indicas.
Sin embargo si lo bajaba como tu dices a 5 - 10 facturas, entraba sin problemas.
Actualmente ya sin el certificado de prueba, lo tengo en 20 y se lo está tragando bien.

DarkDudae 16-08-2025 12:02:37

A mí de hecho, hace días que con el certificado de pruebas no me deja enviar directamente nada (ni una triste factura).

Me devuelve el error:

Cita:

Error Al Enviar :(ESOAPHTTPException)-Received content of invalid Content-Type setting: text/html - SOAP expects "text/xml"
No obstante, el xml generado parece correcto. De hecho, me devuelve el mismo error incluso cuando hago una consulta.

Sin embargo, con el mío personal sin problemas...

Matorral 16-08-2025 12:25:46

Cita:

Empezado por DarkDudae (Mensaje 567108)
A mí de hecho, hace días que con el certificado de pruebas no me deja enviar directamente nada (ni una triste factura).

Me devuelve el error:



No obstante, el xml generado parece correcto. De hecho, me devuelve el mismo error incluso cuando hago una consulta.

Sin embargo, con el mío personal sin problemas...

Yo tuve que solicitar el de pruebas de nuevo, porque caducaba a los 3 meses, pero no lo volví a usar.
Todas las pruebas las hago con el mío propio.


Cita:

Empezado por Seccion_31
Yo diría que ..

La aeat te pone un límite en el entorno de pruebas...

A mí me ha pasado con facturas normales.

Se sale fuera con eso del certificado y ya.

Slds

A ver los demás que opinan.

Pues vale, a lanzarnos a la piscina¡¡¡ jajaj

seccion_31 16-08-2025 12:27:11

Es posible probar esto...

Enviar las facturas con simular a true
En la demo es el botón que hay junto a enviar
Te genera el XML en la carpeta determinada.

Le dais una mirada

Vais al portal de pruebas

Seleccion del endpoint de envío y lanzais el XML generado a ver que pasa.

Saludos!!

DarkDudae 16-08-2025 12:29:42

Lo que haré será probar a cargarlo directamente en el componente indicando path y password (es un certificado que pedí su renovación y no está caducado). Parece que según cómo se instale el certificado si en local o a nivel de equipo a veces "no lo encuentra" bien por defecto.

El caso es que uso ese certificado para el envío al SII sin problemas (aunque uso un código muy distinto al del componente VeriFactu en ese caso)

Matorral 16-08-2025 13:45:04

Cita:

Empezado por seccion_31 (Mensaje 567110)
Es posible probar esto...

Enviar las facturas con simular a true
En la demo es el botón que hay junto a enviar
Te genera el XML en la carpeta determinada.

Le dais una mirada

Vais al portal de pruebas

Seleccion del endpoint de envío y lanzais el XML generado a ver que pasa.

Saludos!!

Eso funciona. El xml lo acepta bien con un xml de 40 y pico de facturas. Voy a probar a hacer un envio de tropecientas a ver.
Pero bueno, ahora me toca ir a comer con mis hijos. A la vuelta os comento el envio.

seccion_31 16-08-2025 16:31:55

Aparentemente tenemos un XML bien formado
El acceso al certificado es igual para una factura que para 40.

Se que en algún hilo de estos foros se ha visto esta situación y como digo a mí me paso hace tiempo.

A ver qué conclusión sacamos.. si hay otra conclusión

Matorral 17-08-2025 09:41:44

Cita:

Empezado por seccion_31 (Mensaje 567113)
Aparentemente tenemos un XML bien formado
El acceso al certificado es igual para una factura que para 40.

Se que en algún hilo de estos foros se ha visto esta situación y como digo a mí me paso hace tiempo.

A ver qué conclusión sacamos.. si hay otra conclusión

Buenos días¡¡

Encontré este mensaje de mqm de hace unos meses..
Cita:

Empezado por mqm (Mensaje 562472)
haciendo pruebas de envio con la ultima version de la dll.... me esta dando el error :

Error Al Enviar
(ESOAPHTTPException)-- URL:https://prewww1.aeat.es/wlpl/TIKE-CO.../VerifactuSOAP - SOAPAction:""

Esto solo pasa cuando envio mas de 10 factura. Si en vio menos cantidad no lo da. Alguien sabe a que es debido.

Le acabo de escribir para saber si encontró solución. Además envié una consulta a AEAT para saber si hay algún límite de facturas o algo así.

Ya os comentaré cuando contesten.


Por otra parte, hice un envío desde la demo de 398 facturas y enviando el XML desde el Web Service lo acepta sin problemas.

Saludos¡¡

jguso 17-08-2025 17:49:58

ayuda
 
Yo tengo ahora el siguiente problema. al enviar 1 factura.


ejemplo:
fecha de Operacion = 01/01/2025
fecha de Factura = 15/01/2025


me dá error al no coincidir la fecha de Operación con la Fecha de Emisión/Factura, me dice que es incorrecto, aunque se genera la huella ... etc,etc.


alguien ha probado ?

Matorral 18-08-2025 08:32:39

Cita:

Empezado por jguso (Mensaje 567119)
Yo tengo ahora el siguiente problema. al enviar 1 factura.


ejemplo:
fecha de Operacion = 01/01/2025
fecha de Factura = 15/01/2025


me dá error al no coincidir la fecha de Operación con la Fecha de Emisión/Factura, me dice que es incorrecto, aunque se genera la huella ... etc,etc.


alguien ha probado ?

A mi no me da error.

starlet 18-08-2025 12:42:21

Error en Baja
 
Buenas:

Estoy haciendo pruebas para registro de Baja. Aunque no lo voy a usar en mi aplicación de forma "normal", si lo quiero utilizar para las pruebas que permite la AEAT en la instalación del cliente, para chequear certificado de los clientes y procesos básicos y que permite no tirarnos a la piscina sin saber si hay agua...

Básicamente, permiten crear unas facturas (se habla de hasta 10) a modo de prueba, en un canal/serie específico para pruebas (e indicando muy claramente en la descripción, que son pruebas), para inmediatamente dar de baja esos registros y que no afecten a la facturación normal.

Al intentar dar de baja registros, me sale un error (lo he intentado con varias pruebas y siempre me da el mismo error. :

Error excepción en _callbackRS: is not a valid integer value

A alguien más le está pasando???

Muchas gracias.

seccion_31 18-08-2025 14:19:18

Ahora estoy de vacaciones
Ese error de callback... no debería si quiera ejecutarse.

El domingo vuelvo y lo veo.

Con lo que salga

Slds !!


La franja horaria es GMT +2. Ahora son las 23:14:07.

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