Ver Mensaje Individual
  #16  
Antiguo 15-12-2016
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Reputación: 11
bucanero Va camino a la fama
Hola foro,

Voy a intentar aportar algo al respecto, no uso ese WS de la AEAT por lo que no se exactamente los parámetros que hay que rellenar, pero si he importado WS de otros portales con un funcionamiento parecido.

Tras importar el WS del link de la AEAT y generar la correspondiente unit, el funcionamiento debería de ser algo así:

Código Delphi [-]
var
  ASuministroLRFacturasEmitidas:SuministroLRFacturasEmitidas;
  ARegistroLRFacturasEmitidas:Array_Of_LRfacturasEmitidasType;
begin
  try
    //se crea un array con el numero de facturas que se van a emitir
    //en este ejemplo solo 1, pero pueden ser mas
    SetLength(ARegistroLRFacturasEmitidas, 1);

    //se introducen los datos de cada una de las facturas
    ARegistroLRFacturasEmitidas[0].IDFactura:='tu  numero de factura';

    // ... rellenar aqui el resto de datos necesarios
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.  := ... ;
    ARegistroLRFacturasEmitidas[0].PeriodoImpositivo. := ... ; 
    



    //se crea el objeto que se va a enviar
    ASuministroLRFacturasEmitidas := SuministroLRFacturasEmitidas.Create;
    ASuministroLRFacturasEmitidas.Cabecera.Titular.NombreRazon:='tu nombre';
    ASuministroLRFacturasEmitidas.Cabecera.Titular.NIF:='tu nif';

    //Un valor de la lista TipoComuniacion. Ver en la documentacion
    ASuministroLRFacturasEmitidas.Cabecera.TipoComunicacion:='A4';

    //se añade el array de facturas creado anteriormente
    ASuministroLRFacturasEmitidas.RegistroLRFacturasEmitidas:=ARegistroLRFacturasEmitidas;

    try
      // se hace la llamada a la funcion suministrada por el WS
      GetsiiSOAP.SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);
    except
      On E:Exception do
        //El proceso de envio dio error
        MessageDlg(E.Message, mtError, [mbOK], 0);
    end;
  finally
    // se eliminan los objetos creados
    ASuministroLRFacturasEmitidas.Free;
    setLength(ARegistroLRFacturasEmitidas, 0);
  end;
end;

Espero que esto pueda aportar algo de luz al tema

Un Saludo
Responder Con Cita