![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
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
|
|||
|
|||
|
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
|
||||
|
||||
|
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
|
||||
|
||||
|
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
|
||||
|
||||
|
Cita:
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
|
|||
|
|||
|
Fichero de ejemplo
¿Alguien puede poner un fichero XML de consulta a verifactu ?
|
|
#7
|
||||
|
||||
|
Este es el ejemplo que trae la documentacion:
Código PHP:
Última edición por Neftali [Germán.Estévez] fecha: 15-01-2025 a las 13:57:36. |
|
#8
|
|||
|
|||
|
Un alma caritativa que indique como se realizaría la llamada desde un formulario Delphi
|
|
#9
|
|||
|
|||
|
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
|
||||
|
||||
|
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
|
|||
|
|||
|
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
|
||||
|
||||
|
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
|
||||
|
||||
|
Cita:
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. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|