Hola.
He seguido el ejemplo de la demo de verifactu que funciona de maravilla para el envío de facturas. Pero al intentar hacer lo mismo con la consulta de las facturas enviadas me da error "access violation".
Este es el código que tengo:
Código Delphi
[-]procedure TForm_ConsultaEnviadosAEAT.BotonBuscarClick(Sender: TObject);
var
ConsultaFactura: ConsultaFactuSistemaFacturacion; ACaducidadCertificado:TDate;
DireccionEnvio:String;
res : RespuestaConsultaFactuSistemaFacturacionType;
begin
ConsultaFactura := ConsultaFactuSistemaFacturacion.Create;
ConsultaFactura.Cabecera := CabeceraConsultaSf.Create;
ConsultaFactura.Cabecera.IDVersion:=VersionType._1_0;
ConsultaFactura.Cabecera.ObligadoEmision := ObligadoEmisionConsultaType.Create;
ConsultaFactura.Cabecera.ObligadoEmision.NombreRazon := Nombre.Text; ConsultaFactura.Cabecera.ObligadoEmision.Nif := Nif.Text;
ConsultaFactura.FiltroConsulta:= LRFiltroRegFacturacionType.Create;
ConsultaFactura.FiltroConsulta.PeriodoImputacion:= PeriodoImputacionType .Create;
ConsultaFactura.FiltroConsulta.PeriodoImputacion.Ejercicio:=IntToStr(YearOf(Desde.CurrentDate));
ConsultaFactura.FiltroConsulta.PeriodoImputacion.Periodo:=veriFactuPeriodoType(MonthOf(Desde.Current Date));
ConsultaFactura.FiltroConsulta.FechaExpedicionFactura:= FechaExpedicionConsultaType.Create;
ConsultaFactura.FiltroConsulta.FechaExpedicionFactura.RangoFechaExpedicion:= RangoFechaExpedicionType.Create;
ConsultaFactura.FiltroConsulta.FechaExpedicionFactura.RangoFechaExpedicion.Desde:= FormatDateTime('dd-mm-yyy',Desde.CurrentDate);
ConsultaFactura.FiltroConsulta.FechaExpedicionFactura.RangoFechaExpedicion.Hasta:= FormatDateTime('dd-mm-yyy',Hasta.CurrentDate);
try
DireccionEnvio:= 'https://prewww1.agenciatributaria.gob.es/wlpl/TIKE-CONT/SvTikeEmitidasQuery';
ACaducidadCertificado:=VerificarCaducidadCertificado(P_Datavarios.QSala.FieldByName('ultima_firma'). AsString);
if (P_DataVarios.QSala.FieldByName('ultima_firma').AsString <> '') then begin
res:= RespuestaConsultaFactuSistemaFacturacionType.Create; línea donde da el error --> res:= GetsfPortTypeVerifactu( false, DireccionEnvio , HTTPRIO1 ).ConsultaFactuSistemaFacturacion(ConsultaFactura ); end;
except
on E: Exception do
begin
MensajeError(E.ClassName+' - '+ E.Message) ;
end;
end;
end;
Alguien lo hace de esta manera?. Lo hacéis a pelo?? Qué estoy haciendo mal??
Gracias!!!