Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-07-2018
Sumsuna Sumsuna is offline
Registrado
NULL
 
Registrado: jun 2017
Posts: 4
Poder: 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
  #2  
Antiguo 04-07-2018
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 86
Poder: 7
pablog2k Va por buen camino
Cita:
Empezado por Sumsuna Ver Mensaje
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
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;
Responder Con Cita
  #3  
Antiguo 04-07-2018
elguille elguille is offline
Miembro
 
Registrado: ene 2005
Posts: 114
Poder: 20
elguille 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;
Yo tengo el mismo error despues de trastear un buen rato, el codigo ya compila y no da error en ejecución, aunque no estoy seguro que sea correcto.
A ver si os sirve para avanzar

Código Delphi [-]
var
  mExenta: DetalleExentaType;

mExenta := DetalleExentaType.Create;
mExenta.CausaExencion := causaexenciontype(valorenum2(dm.TFEMBASESUJETAEXENTACLAVE.asstring));
mExenta.baseimponible := dm.tfemBASESUJETAEXENTAIMPORTE.asstring;
ARegistroLRFacturasEmitidas[mcon].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.Exenta := Exenta.Create(nil);
ARegistroLRFacturasEmitidas[mcon].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.Exenta[0] :=mexenta;
Responder Con Cita
  #4  
Antiguo 04-07-2018
didou didou is offline
Miembro
 
Registrado: may 2017
Posts: 59
Poder: 8
didou Va por buen camino
Cita:
Empezado por elguille Ver Mensaje
Yo tengo el mismo error despues de trastear un buen rato, el codigo ya compila y no da error en ejecución, aunque no estoy seguro que sea correcto.
A ver si os sirve para avanzar

Código Delphi [-]
var
  mExenta: DetalleExentaType;

mExenta := DetalleExentaType.Create;
mExenta.CausaExencion := causaexenciontype(valorenum2(dm.TFEMBASESUJETAEXENTACLAVE.asstring));
mExenta.baseimponible := dm.tfemBASESUJETAEXENTAIMPORTE.asstring;
ARegistroLRFacturasEmitidas[mcon].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.Exenta := Exenta.Create(nil);
ARegistroLRFacturasEmitidas[mcon].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.Exenta[0] :=mexenta;
Perfecto elguille, asi funciona, gracias mil.
Responder Con Cita
  #5  
Antiguo 04-07-2018
Sumsuna Sumsuna is offline
Registrado
NULL
 
Registrado: jun 2017
Posts: 4
Poder: 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
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco keys Internet 4170 Hace 1 Semana 17:29:05
AEAT envio de datos vía Webservice problemas con WSDL CelsoO Internet 11 09-10-2019 20:03:41
webService Soap de la Administración Digital Española notific@ apicito Internet 3 31-01-2017 11:25:28
Error en Webservice funcion envio de sms webmasterplc Delphi para la web 5 25-07-2013 20:10:29
Problemas con envío de XML a un WebService davidvamo Internet 1 13-02-2007 15:49:20


La franja horaria es GMT +2. Ahora son las 00:31:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi