![]() |
![]() |
| 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
|
|||
|
|||
|
Yo podría echar una mano para convertir el código a delphi 12, intentando minimizar dependencias y encapsulando todo el código en una clase para evitar el uso de componentes no "nativos"
Cita:
Hay varios temas preliminares Faltan mejorar y afinar algunos temas ¿hay alguien interesado en usarlo? Para publicarlo, necesito alguien que entienda BIEN la composicion de los mensajes de la AEAT segun cada tipo de factura para componerlo con la informacion basica de una factura y se encargue de ello. El resto de la logica de envio y recepcion como digo ya funciona. Seria tomar la funcion que hace la carga del objeto de la AEAT e indicarle los datos segun la factura suministrada. Ahi dejo este mensaje, a ver si alguien se anima.[/quote] |
|
#2
|
||||
|
||||
|
¿De donde puedo descargar el componente D7 para intentar integrarlo y poder hacer pruebas?
¿cual sería el path para ubicar el servidor B10? Ya tengo los datos del sistema informático emisor implementados en la ficha de empresa y me faltaría desde donde emito las ordenes de envío y recojo las respuestas, que, imagino sería desde un grid de facturas emitidas gestionando las pendientes de envío. Soy un mar de dudas para empezar las pruebas
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos. |
|
#3
|
|||
|
|||
|
Primero de nada, agradecer a "seccion_31" por la grandísima aportación que ha tenido para con este foro, al brindarnos la posibilidad de usar el código facilitado.
Yo personalmente lo he adaptado para, desde Delphi 10, hace una aplicación en segundo plano que se conecta a la base de datos MYSQL y va enviando la facturas simplificadas y ordinarias que se van generando en una aplicación en delphi 7. Estoy intentando desarrollarlo tanto para una application con MYSQL/MariaDB y otra con ficheros DBF de paradox. De momento consigo enviar con tu código y capturar la respuesta de la AEAT. Ahora estoy esperando a ver como actuar ante las repuestas de la AEAT. Si en algo puedo ayudar... aquí me tenéis. |
|
#4
|
||||
|
||||
|
Si pudieras enviar algo de codigo de esa aplicación que funciona en segundo plano para poder ver como estableces las conexiones entre el servidor B10 y tu base de datos, estaría genial y me ayudaría posiblemente a entender un poco más. Mi aplicación tambien funciona en Delphi 7 y uso tablas paradox db y voy perdido, no, lo siguiente
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos. |
|
#5
|
|||
|
|||
|
Simplemente hago uso de los componentes de Devart unidac. Los demás es adaptar el ejemplo a mis tables, es fácil no te lleva mucho tiempo adaptarlos. Simplemente en vez de la rejilla del excell a enviar, tengo dos grid con las facturas simplificadas y las ordinarias, y para "envioFacturas" me he creado una tabla donde en lugar de un excell , voy guardando todos los registros que voy enviando.
Termino de depurar un poco y te paso el proyecto por si te ayuda. En mi caso para mis aplicaciones, es solo añadir 4 campos a las tablas y crear la tabla de envíos. |
|
#6
|
||||
|
||||
|
Cita:
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos. |
|
#7
|
||||
|
||||
|
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. |
|
#8
|
|||
|
|||
|
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. |
|
#9
|
||||
|
||||
|
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 |
|