Ver Mensaje Individual
  #965  
Antiguo 26-12-2023
nincillo nincillo is online now
Miembro
 
Registrado: may 2017
Posts: 151
Reputación: 8
nincillo Va por buen camino
Cita:
Empezado por Maska10 Ver Mensaje
A ver, te explico en base a mi experiencia con Ticket Bai Vizcaya (digo Vizcaya porque parece que es el que más se asemeja a VeriFactu) .. creo que no han explicado bien la funcionalidad, el ejemplo XML (donde aparece el nodo de la cabecera) es el XML del envio donde puedes (o debes) enviar múltiples registros de alta, en concreto desde 1 hasta 1000. Sin embargo la importación del WSD te genera el XML del registro de alta único, es decir, una factura.

Por tanto debes generar un XML para cada factura/ticket (con el WSD) y luego enviarlos en bloque con el formato del XML de ejemplo (el que trae el nodo de la Cabecera).

Ahora pensarás, joer pues meto un envío por cada factura y listo .. pues no, porque leyendo un poco la descripción del servicio, en las respuestas te enviarán unos valores de registros mínimos y segundos a esperar para el siguiente envío (supongo que para no saturar servidores) ... por tanto habrá que enviarlos en bloque si o si.

En cualquier caso esto es lo que yo entiendo, la documentación no es del todo clara.
Perdón que siga preguntando, pero es por saber si al final tendré que pasar de la importación del "wsdl", (no del wsd) y hacer el envío de otra manera.

Me explico lo que te he entendido que tengo que hacer:
- Genero un xml por cada factura según voy facturando.
- Cada "x" facturas o cada "y" tiempo tendré que hacer el envío de las facturas que tenga pendiente hasta ese momento y para ese momento es cuando ya monto el xml "conjunto" con los datos de la cabecera más los datos de cada una de las facturas. Hasta ahí ¿correcto?.

Pero entonces, al importar el wsdl, que es el que incorpora la llamada getsfSoap, resulta que lo que hay que pasarle es una array de facturas.
Código:
SetLength(arrayFacturas, 1);
    arrayFacturas[0] := regFactura;
    result := GetsfSOAP(true, '', HTTPRIO1).AltaFactuSistemaFacturacion(ArrayFacturas);
-

Y con esa llamada me genera el xml con el detalle de las facturas, pero sin el famoso apartado de "cabecera".

Con lo cual o algo me estoy perdiendo, o al final voy a tener que pasar de él y hacerlo todo a mano como hice en su momento para enviar al SII.

Gracias por vuestra paciencia.
Responder Con Cita