var ListaDesglose : DesgloseType := DesgloseType.Create();
var Orden := 0;
while not DTDesgloseIvas.Eof do
Begin
var DetalleDesglose := DetalleType.Create;;
DetalleDesglose.ClaveRegimen :=
ClaveRegimenVerifactu(DTFactura.Connection,DTFactura.FieldByName('RegimenIva').AsInteger);
DetalleDesglose.CalificacionOperacion := TipoCalificacionOperacion;
if (DetalleDesglose.CalificacionOperacion = CalificacionOperacionType.N1)
or (DetalleDesglose.CalificacionOperacion = CalificacionOperacionType.N2) then
DetalleDesglose.OperacionExenta := TipoOperacionExenta;
DetalleDesglose.TipoImpositivo := FormatFloat('0.00',DTDesgloseIvas.FieldByName('IVA').AsFloat);
DetalleDesglose.BaseImponibleOimporteNoSujeto := FormatFloat('0.00',DTDesgloseIvas.FieldByName('BASIMP').AsFloat);;
DetalleDesglose.BaseImponibleACoste := '0.00';
DetalleDesglose.CuotaRepercutida := FormatFloat('0.00',DTDesgloseIvas.FieldByName('BASIVA').AsFloat);
DetalleDesglose.TipoRecargoEquivalencia := FormatFloat('0.00',DTDesgloseIvas.FieldByName('REC').AsFloat);
DetalleDesglose.CuotaRecargoEquivalencia := FormatFloat('0.00',DTDesgloseIvas.FieldByName('BASREC').AsFloat);
DTDesgloseIvas.Next;
SetLength(ListaDesglose, Orden+1);
ListaDesglose[Orden] := DetalleDesglose ;
Orden := Orden + 1;
end;
Factura.RegistroFacturacion.Desglose := ListaDesglose;