Ver Mensaje Individual
  #2925  
Antiguo 04-07-2018
Sumsuna Sumsuna is offline
Registrado
NULL
 
Registrado: jun 2017
Posts: 4
Reputación: 0
Sumsuna Va por buen camino
Cita:
Empezado por pablog2k Ver Mensaje
creo que te falta crear el nodo de prestación de servicios y sujeta :
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.PrestacionServicios := TipoSinDesglosePrestacionType.Create;
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.PrestacionServicios.Sujeta := SujetaPrestacionType.Create;
Mil gracias!!! era eso, justo tenía las líneas comentadas.

Comparto lo que ya me funciona tanto para entrega de bienes como para servicios

---
var
vExenB: Exenta; //para operaciones de entrega de bienes
vExenP: Exenta2; //para servicios

----

if (edtTipoOperacion.Text='E2') OR (edtTipoOperacion.Text='E5') then //Sujeta Exenta por INTRACOMUNITARIA o Exportacion, canarias, ceuta o melilla
begin
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose:= TipoDesglose3.Create;
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion:= TipoConDesgloseType.Create;
if (edtBien_o_Servicio.Text='B') then //bien
begin
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega:=TipoSinDesgloseType.Create;
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta:=SujetaType.Create;
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
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.PrestacionServicios:=TipoSinDesglosePrestacionTy pe.Create;
ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.PrestacionServicios.Sujeta:=SujetaPrestacionType .Create;
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;
end;
Responder Con Cita