Ver Mensaje Individual
  #2917  
Antiguo 03-07-2018
Sumsuna Sumsuna is offline
Registrado
NULL
 
Registrado: jun 2017
Posts: 4
Reputación: 0
Sumsuna Va por buen camino
Buenas tardes,

Volviendo con las exentas yo el código que tengo ahora mismo (y que me falla) es esto

Primero defino las variables
vExenB: Exenta; //para operaciones de entrega de bienes
vExenP: Exenta2; //para servicios

Y luego hago

ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose:= TipoDesglose3.Create;
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion:= TipoConDesgloseType.Create;

if (edtBien_o_Servicio.Text='B') then //bien
begin
setLength(vExenB, 1);
vExenB[0] := DetalleExentaType.Create;
if (edtTipoOperacion.Text='E2') then // exportacion, ceuta y melilla
vExenB[0].CausaExencion := CausaExencionType.E2;
if (edtTipoOperacion.Text='E5') then //intracomunitaria
vExenB[0].CausaExencion := CausaExencionType.E5;
vExenB[0].BaseImponible := edtImporteTotalFactura.Text;
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.Exenta := vExenB;
end;

if (edtBien_o_Servicio.Text='S') then //servicios
begin
setLength(vExenP, 1);
vExenP[0] := DetalleExentaType.Create;
if (edtTipoOperacion.Text='E2') then // exportacion, ceuta y melilla
vExenP[0].CausaExencion := CausaExencionType.E2;
if (edtTipoOperacion.Text='E5') then //intracomunitaria
vExenP[0].CausaExencion := CausaExencionType.E5;
vExenP[0].BaseImponible := edtImporteTotalFactura.Text;
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.PrestacionServicios.Sujeta.Exenta := vExenP;
end;

Y el problema es que me da una excepción a la hora de ejecutar cuando llego a la línea

ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.Exenta := vExenB;

¿Sabéis dónde fallo?

Gracias de antemano
Responder Con Cita