Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Envío de registros y sus respuestas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-12-2024
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 472
Poder: 10
seccion_31 Va por buen camino
Hola !

El componente desde Delphi 7 ya envia y devuelve la respuesta. Ya es operativo en la DEMO que importaba de una hoja de calculo, compilada con D7.

En este otro ejemplo de codigo de delphi 7 se procesa la respuesta tras un envio:

Código:
procedure TForm1.procesarEnvio(resultado:TResultadoEnvio);
var
  desError,error,estado,factura, emisor:string;

  j:integer;

  _ok,_oke,_err:integer;

begin
      memoXML.Lines.LoadFromFile(xmlEnvio);
      memoXML.Text:=FormatXMLData(memoXML.Text);

      memoRes.lines.clear;
      memoRes.lines.Add('Se ha realizado el envío');
      memoRes.Lines.Add('');
      memoRes.Lines.Add('Estado Del Envio:'+resultado.EstadoEnvio );
      memoRes.lines.Add('CSV: ' + resultado.CSV);
      memoRes.lines.Add('TimeStamp: ' + resultado.Fecha+' '+resultado.Hora);
      memoRes.Lines.Add('');


      _ok   :=0;    // nº facturas OK
      _oke  :=0;    // nº facturas OK ( aceptada con errores )
      _err  :=0;    // nº facturas con errores

      for j:=0 to resultado.nFacturas-1 do
      begin
            factura  := resultado.facturas[j].NumSerieFactura;
            emisor   := resultado.facturas[j].IDEmisorFactura;
            estado   := resultado.facturas[j].estado;
            error    := inttostr(resultado.facturas[j].errorcodigo);
            desError := resultado.facturas[j].descripcionError;


            memoRes.Lines.Add( factura + ' ' + estado + ' '+error+' '+desError );     // ver en pantalla

            if resultado.facturas[j].OK then                        // Es correcto ó aceptado con errores
            begin
                // colocar el csv y huella en la factura
                if facturasEnviadas.locate('emisor;NumSerieFactura',vararrayof([emisor, factura ]),[]) then
                begin
                    FacturasEnviadas.edit;
                    FacturasEnviadas.fieldbyName('csv').text      :=resultado.CSV;
                    FacturasEnviadas.FieldByName('huella').text   :=resultado.facturas[j].huellaFactura;
                    FacturasEnviadas.fieldbyName('situacion').text:=estado;
                    FacturasEnviadas.post;
                end;
                if resultado.facturas[j].aceptadoConErrores then inc(_oke) else inc(_ok);
            end
            else
                inc(_err);                            // Es erronea
      end;

      memoRes.Lines.Add('');
      memoRes.Lines.Add('Facturas Aceptadas: '+inttostr(_ok) );
      memoRes.Lines.Add('Facturas Aceptadas Con Errores: '+inttostr(_oke) );
      memoRes.Lines.Add('Facturas Con Errores: '+inttostr(_err) );

      // tiempo de espera:
      if resultado.tiempoDeEspera<>'' then memoRes.Lines.Add('Se Ha Establecido Un Tiempo De Espera Proximo Envio De '+resultado.tiempoDeEspera);
end;


En teoria, sube factura, tickets, rectificativas, comunitarias, y exportación. (hasta 1.000 facturas x envio) Pero lamentablemente ahora mismo no se bien como cubrir el resto de casos.

Genera el QR

Ya esta implementado el cotejo contra la AEAT con el nuevo objeto de consulta: tan simple como llamar a una funcion desde DELPHI 7 y se devuelve un array con los resultados:



Lo voy a incoporar en una aplicacion real que espero empiece a ser probada en un entorno real de facturacion al inicio de año enviandolas a pre-produccion, e imprimiendo el codigo QR real sobre la factura, como demo. Pero todo muy real.

Pero claro, me doy cuenta de la responsabilidad que adquiero una vez publicado, esto NO es una demo.

Permite hacer todo el trabajo desde Delphi 7 con el apoyo de la aplicacion servidora, y desde la version 10 en adelante, puede usarse como una unidad, sin mas con un uses.

En unas semanas una vez probado veo que hacer.
  #2  
Antiguo 19-12-2024
mqm mqm is offline
Miembro
 
Registrado: nov 2006
Posts: 63
Poder: 20
mqm Va por buen camino
Yo sigo implementado tu demo inicial.
Pero.. que hacer en caso de que no tengamos respuesta de la aeat?
Para mi es fácil la implementation. Son pequeña tiendas... facturo envio y en caso de equivocación mando una en negativo. Ni permito borrado ni anulación.
Pero me he encontrado con 2-3 casos en mis pruebas, que la aeat no responde nada ... y posteriormente he visto que las facturas enviadas estaban recogidas.
Con lo fácil que seria una consulta a la aeat, para saber cual es la ultima factura enviada/grabada y aceptada.

Sinceramente..... me estoy planteando dejar todo esto. Hablando claro.... esto es una puñetera mierda que no hay dios que la entienda. Si quieren controlar... les mandamos la caja del día al finalizar la jornada y listo. Tengo algunos clientes de 50 y pico de años que dicen que cierran el negocio.
Amen de las XXX empresas en la web que te ofrecen el kit, y la solución milagrosa para tu software, y muchas ponen que homologadas por hacienda. Quc homologación ni leches..... En manos de que o quienes estamos.

Última edición por mqm fecha: 19-12-2024 a las 21:42:46.
  #3  
Antiguo 20-12-2024
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 472
Poder: 10
seccion_31 Va por buen camino
buenos dias

yo siempre he encontrado respuesta de la aeat. es mas: lo normal es archivarla.

Creo y digo creo (porque tengo que comprobarlo) que cuando en una lista de facturas hay una erronea importa hasta ahi, ignorando el resto que va detras.

ahora el tema es mas sencillo, con la consulta que se puede obtener, puedes interrogar con el objeto de consulta y ver que facturas estan subidas, tambien podras consultarlas en un portal como se hace con el SII. Eso da mucha seguridad.

Despues de mi experiencia con el SII: los primeros dias habra millones de registros subidos, cientos de miles con posibles errores y poco a poco ira la cosa a mejor. No es para tanto, creo que hay que confiar mas en nuestras capacidades y en la sensatez. Con el SII pensaba que seria terrible y no ha sido para tanto.

Ahora bien: sigo sin entender porque con el SII para una empresa que factura 20 millones al año, por ejemplo puedas enviar tus facturas de miles de euros en 4 dias habiles y en verifactu una factura de 10 euros deba ser enviada al instante, obligando a mantener una infraestructura, programa, etc... 24/7 en perfecto funcionamiento. Para mi es incomprensible.

Saludos !
  #4  
Antiguo 20-12-2024
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 472
Poder: 10
seccion_31 Va por buen camino
Sigo y termino

Tampoco veo normal que en la consulta la AEAT no envie el CSV. No entiendo el porque. Envia todos los datos, menos ese. Les he preguntado. Porque con ese dato ya puedes reconstruir todo el esquema de envio y comprobarlo todo.

Saludos
  #5  
Antiguo 20-12-2024
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 162
Poder: 14
ramherfer Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
Sigo y termino

Tampoco veo normal que en la consulta la AEAT no envie el CSV. No entiendo el porque. Envia todos los datos, menos ese. Les he preguntado. Porque con ese dato ya puedes reconstruir todo el esquema de envio y comprobarlo todo.

Saludos
Ese es el problema, al poder reconstruir, creo que dejas de garantizar la inalterabilidad.
De donde puedo descargar el componente para integrarlo y probarlo con mi aplicación.
He desarrollado un servicio que cada X revisa las tablas y lo tengo todo a falta de ver como enviar y actualizar las tablas de las facturas y la de los tickets si fuese necesario.
Despues de eso a realizar acciones de pruebas
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos.
  #6  
Antiguo 15-01-2025
antoniomarquezc antoniomarquezc is offline
Registrado
 
Registrado: dic 2023
Posts: 9
Poder: 0
antoniomarquezc Va por buen camino
Fichero de ejemplo

¿Alguien puede poner un fichero XML de consulta a verifactu ?
  #7  
Antiguo 15-01-2025
Avatar de gcqZW
gcqZW gcqZW is offline
Miembro
 
Registrado: ene 2025
Ubicación: Zaragoza
Posts: 274
Poder: 2
gcqZW Va por buen camino
Este es el ejemplo que trae la documentacion:

Código PHP:
<soapenv:Envelope xmlns:soapenv="h_ttp://schemas.xmlsoap.org/soap/envelope/"
xmlns:con="h_ttps://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/ConsultaLR.xsd"
xmlns:sum="h_ttps://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<
soapenv:Header/>
<
soapenv:Body>
    <
con:ConsultaFactuSistemaFacturacion>
        <
con:Cabecera>
            <
sum:IDVersion>1.0</sum:IDVersion>
            <
sum:ObligadoEmision>
                <
sum:NombreRazon>EMPRESAXXXX</sum:NombreRazon>
                <
sum:NIF>XXXXXXXXX</sum:NIF>
            </
sum:ObligadoEmision>
        </
con:Cabecera>
        <
con:FiltroConsulta>
            <
con:PeriodoImputacion>
                <
sum:Ejercicio>2024</sum:Ejercicio>
                <
sum:Periodo>11</sum:Periodo>
            </
con:PeriodoImputacion>
            <
con:FechaExpedicionFactura>
                <
sum:RangoFechaExpedicion>
                    <
sum:Desde>02-11-2024</sum:Desde>
                    <
sum:Hasta>13-11-2024</sum:Hasta>
                </
sum:RangoFechaExpedicion>
            </
con:FechaExpedicionFactura>
        </
con:FiltroConsulta>
    </
con:ConsultaFactuSistemaFacturacion>
</
soapenv:Body>
</
soapenv:Envelope

Última edición por Neftali [Germán.Estévez] fecha: 15-01-2025 a las 13:57:36.
  #8  
Antiguo 15-01-2025
mqm mqm is offline
Miembro
 
Registrado: nov 2006
Posts: 63
Poder: 20
mqm Va por buen camino
Un alma caritativa que indique como se realizaría la llamada desde un formulario Delphi
  #9  
Antiguo 20-12-2024
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 295
Poder: 23
afxe Va por buen camino
Gracias a Seccion_31. Es verdad que todos estamos haciendo esfuerzos individualizados y tu aportación está ayudando a muchos, y en un club de programadores que usamos un lenguaje que no es muy popular es de muy agradecer. Tomo nota para aportar todo lo que pueda.
__________________
Amar al mundo apasionadamente.
  #10  
Antiguo 23-12-2024
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 472
Poder: 10
seccion_31 Va por buen camino
buenos dias

estos dias lo estoy integrando sobre delphi 7. Hoy o mañana yo diria que estara implementado sobre la aplicacion. El ejemplo de cargar desde excel con D7 ya funciona.

en cuanto vea que va mas o menos bien lo colgare de alguna forma, porque va a necesitar correcciones. creo que a primeros de año estará colgado, casi seguro.

me sigue preocupando el tema de la responsabilidad.


la implementacion que voy a hacer:

Se hace una factura, se envia a la cola de facturas ptes. de envio, se trata de enviar en ese momento todas las pendientes (presentando la lista de pendientes). ¿que no se puede? ¿o hay error por alguna factura anterior? se queda en espera de pasar porque no hay otro remedio.

Cada x tiempo, se presenta esa cola de ennvio al cliente para volver a enviar.

El componente se toma algunas libertades, para considerar la factura intracomunitaria, de exportacion, canarias, marcar el envio con incidencia si la fecha de envio difiere de la dia actual, y algunas otras sobre las rectificativos, tipo de NIF, etc...

he tratado de realizar el envio con los datos basicos de una factura, sin tener que aportar mucho mas.

Saludos
  #11  
Antiguo 23-12-2024
mqm mqm is offline
Miembro
 
Registrado: nov 2006
Posts: 63
Poder: 20
mqm Va por buen camino
Muchas gracias por todo el trabajo que esta realizando.
A mas de uno nos has salvado la vida.
Espero con ansia la nueva implantación para adaptarla a la que inicialmente facilitates y que estoy adaptando a un entorno mysql.
  #12  
Antiguo 23-12-2024
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 472
Poder: 10
seccion_31 Va por buen camino
Imagen del servidor

En la imagen se ven tres tabuladores, principal, sesion 1 y sesion 2.

La sesion 2 ha enviado 4 facturas correctamente, sale el csv y la huella. (recortados por mi)

Saludos

https://ibb.co/zF9Sv0j

  #13  
Antiguo 20-12-2024
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 162
Poder: 14
ramherfer Va por buen camino
Cita:
Pero claro, me doy cuenta de la responsabilidad que adquiero una vez publicado, esto NO es una demo.

Permite hacer todo el trabajo desde Delphi 7 con el apoyo de la aplicacion servidora, y desde la version 10 en adelante, puede usarse como una unidad, sin mas con un uses.

En unas semanas una vez probado veo que hacer.
Estas entregando el codigo fuente y creo que en ese momento dejas de tener responsabilidad alguna en otras instalaciones de desarrollo, a no ser que dependieramos de ti para integrar cambios y en la declaración responsable se pusiera como una parte del SIF ajena al desarrollador.

Que unidades tenemos que añadir al Uses y cuales serían los ejemplos de llamada, por favor.
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos.
Tema Cerrado


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Verifactu o por requerimiento (no-verifactu) ¿decisión del usuario? Maska10 Temas legales 2 07-12-2024 12:34:47
Demo de una applicación para una estación de enfermera con RAD Studio AgustinOrtu La Taberna 1 21-07-2015 17:41:35
Demo Delphi, EMail Caral Internet 1 19-12-2006 00:37:56
Demo de delphi 2005 mazinger Varios 2 18-12-2004 09:23:09
El Rave que viene con Delphi es una Demo? apicito Impresión 0 04-06-2003 11:33:36


La franja horaria es GMT +2. Ahora son las 02:52:57.


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