Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice (https://www.clubdelphi.com/foros/showthread.php?t=91252)

Virman 14-06-2018 09:04:32

Cita:

Empezado por newtron (Mensaje 527080)
Que yo sepa la fecha no se puede modificar así que lo único que te queda es anular la factura y reenviarla, lo que no sé es si podrás enviarla de nuevo con el mismo número de factura, en el caso de las emitidas no lo permite tampoco.


Saludos

Al cambiar la fecha de expedición si me deja, puesto que se cambia parte de la cabecera de la factura.

Sólo me queda anularlas y volver a subirlas.

Gracias por la aclaración! :)

clecio 18-06-2018 15:08:13

Invalid property element: 1.1
 
A nosotros tambien nos estaba dando el mensaje "invalid property element: 1.1".
Y queriamos tener las dos versiones en el mismo ejecutable.
Tuvimos la precaucion de las units generadas por el importador wdsl, meterlas en fuentes distintas.
Despues de mirar y remirar, vimos que utilizan el mismo GUID .

siiSOAP = interface(IInvokable)
['{4AABBA37-5B85-4921-9DF2-46F4EFF93A02}']
function SuministroLRFacturasRecibidas(const SuministroLRFacturasRecibidas: SuministroLRFacturasRecibidas): RespuestaLRFacturasRecibidas; stdcall;

Lo que hemos hecho ha sido generar nuevos GUIDS para la version 1.1.
Y de momento en pruebas nos están pasando sin problemas las facturas tanto la version 1.0 como la version 1.1.

Todo desde el mismo ejecutable

Cita:

Empezado por APO (Mensaje 527087)
Muchas gracias por vuestra ayuda y aportaciones. Finalmente ya he dado con la solución gracias a otro forero que le pasaba lo mismo.

El tema está, en que si en el proyecto Delphi se hace referencia a las dos versiones la 1.0 y la 1.1, si se envía al SII con la versión 1.1 da el error Invalid property element. En cambio, si en el proyecto se quita todo lo que haga referencia a la versión 1.0 entonces sí que funciona correctamente (un poco alucinante).

Entonces, una solución rápida para salir del paso es generar dos ejecutables distintos. Para distinguirlos se pueden generar utilizando directivas de compilación, algo del estilo (en el dproj):

Código Delphi [-]
{$ifdef SII_CURRENT_VERSION}
    SuministroFactEmitidas11 in 'SII\1.1\SuministroFactEmitidas11.pas',
    SuministroFactRecibidas11 in 'SII\1.1\SuministroFactRecibidas11.pas',
    SuministroOpTrascendTribu11 in 'SII\1.1\SuministroOpTrascendTribu11.pas',
    
    otros ficheros *.pas que trabajan con la 1.1

  {$else}
    SuministroFactEmitidas10 in 'SII\1.0\SuministroFactEmitidas10.pas',
    SuministroFactRecibidas10 in 'SII\1.0\SuministroFactRecibidas10.pas',
    SuministroOpTrascendTribu10 in 'SII\1.0\SuministroOpTrascendTribu10.pas',
     
    otros ficheros *.pas que trabajan con la 1.0
   
  {$endif SII_CURRENT_VERSION}


PepCat 19-06-2018 09:16:50

Cita:

Empezado por clecio (Mensaje 527149)
A nosotros tambien nos estaba dando el mensaje "invalid property element: 1.1".
Y queriamos tener las dos versiones en el mismo ejecutable.
Tuvimos la precaucion de las units generadas por el importador wdsl, meterlas en fuentes distintas.
Despues de mirar y remirar, vimos que utilizan el mismo GUID .

siiSOAP = interface(IInvokable)
['{4AABBA37-5B85-4921-9DF2-46F4EFF93A02}']
function SuministroLRFacturasRecibidas(const SuministroLRFacturasRecibidas: SuministroLRFacturasRecibidas): RespuestaLRFacturasRecibidas; stdcall;

Lo que hemos hecho ha sido generar nuevos GUIDS para la version 1.1.
Y de momento en pruebas nos están pasando sin problemas las facturas tanto la version 1.0 como la version 1.1.

Todo desde el mismo ejecutable

gracias por la solución.

APO 19-06-2018 17:38:52

Cita:

Empezado por clecio (Mensaje 527149)
A nosotros tambien nos estaba dando el mensaje "invalid property element: 1.1".
Y queriamos tener las dos versiones en el mismo ejecutable.
Tuvimos la precaucion de las units generadas por el importador wdsl, meterlas en fuentes distintas.
Despues de mirar y remirar, vimos que utilizan el mismo GUID .

siiSOAP = interface(IInvokable)
['{4AABBA37-5B85-4921-9DF2-46F4EFF93A02}']
function SuministroLRFacturasRecibidas(const SuministroLRFacturasRecibidas: SuministroLRFacturasRecibidas): RespuestaLRFacturasRecibidas; stdcall;

Lo que hemos hecho ha sido generar nuevos GUIDS para la version 1.1.
Y de momento en pruebas nos están pasando sin problemas las facturas tanto la version 1.0 como la version 1.1.

Todo desde el mismo ejecutable

Perfecto, muchas gracias por compartir la solución! Lo he probado con GUIDS diferentes y ya pueden convivir la 1.0 y 1.1 sin problemas.

Sólo una pregunta, las GUIDs que yo he utilizado son algunas que he encontrado en ejemplos en la web de Embarcadero. Pero, ¿hay algún generador de GUIDS ? ¿O cómo se pueden generar nuevas? Gracias

vicdeju 19-06-2018 18:48:11

Error con factura enviada de Importacion version 1.1
 
Buenas tardes, estoy haciendo envíos de facturas de importación con el DUA. Con la versión 1.0 no tenía ningún problema, pero ahora me da como que la factura esta Aceptada con errores y el error que me da es el siguiente:

Si el TipoFactura es F5 o LC el NIF del emisor debe coincidir con el NIF del titular del libro de registro

Sabéis a que es debido??

Un saludo y muchas gracias.

PepCat 20-06-2018 08:06:17

Cita:

Empezado por APO (Mensaje 527179)
Perfecto, muchas gracias por compartir la solución! Lo he probado con GUIDS diferentes y ya pueden convivir la 1.0 y 1.1 sin problemas.

Sólo una pregunta, las GUIDs que yo he utilizado son algunas que he encontrado en ejemplos en la web de Embarcadero. Pero, ¿hay algún generador de GUIDS ? ¿O cómo se pueden generar nuevas? Gracias

Desde el IDE puedes generar un GUID, pulsando la combinación de teclas: Shift+Ctrl+G

PepCat 20-06-2018 08:53:09

Cita:

Empezado por vicdeju (Mensaje 527186)
Buenas tardes, estoy haciendo envíos de facturas de importación con el DUA. Con la versión 1.0 no tenía ningún problema, pero ahora me da como que la factura esta Aceptada con errores y el error que me da es el siguiente:

Si el TipoFactura es F5 o LC el NIF del emisor debe coincidir con el NIF del titular del libro de registro

Sabéis a que es debido??

Un saludo y muchas gracias.

Yo no tengo mucha experiencia en este tipo de facturas (F5), pero según FAQs SII (versión 1.1) en el punto 4.5. ¿Cómo se registra una Importación?:

Cita:

"En los datos identificativos correspondientes al proveedor se consignarán los del
importador y titular del libro registro."
Si no lo tengo mal entendido, el campo NIF y nombre del emisor debe ser el mismo que el receptor de la factura.
Quizas alguien con más experiencia sobre este tipo de facturas nos lo pueda aclarar más.

vicdeju 20-06-2018 09:48:25

Cita:

Empezado por PepCat (Mensaje 527196)
Yo no tengo mucha experiencia en este tipo de facturas (F5), pero según FAQs SII (versión 1.1) en el punto 4.5. ¿Cómo se registra una Importación?:



Si no lo tengo mal entendido, el campo NIF y nombre del emisor debe ser el mismo que el receptor de la factura.
Quizas alguien con más experiencia sobre este tipo de facturas nos lo pueda aclarar más.

Buenos días PepCat,
Muchas gracias, con esto lo tengo solucionado.

Un saludo.

Virman 20-06-2018 15:34:49

Cita:

Empezado por Virman (Mensaje 527039)
He visto que a partir del 1 de Enero de 2019 se va a implantar el SII en Canarias. En la página de la AEAT no logro encontrar nada a los esquemas que va a utilizar ni los webservices, etc.

Alguien tiene conocimiento de ello? Alguna información o link de referencia?

Muchas gracias.

Un saludo.

He encontrado este documento con información sobre el SII de Canarias:
http://www.gobiernodecanarias.org/tr...GIC%20v1.1.pdf

Lo más curioso es que el documento indica en su nombre que es 1.1 en la primera página indica Versión 1.0

Alguien tiene más referencias que me puedan arrojar un poco más de luz sobre el SII de Canarias?

Muchas Gracias.

APO 20-06-2018 17:06:07

Cita:

Empezado por PepCat (Mensaje 527195)
Desde el IDE puedes generar un GUID, pulsando la combinación de teclas: Shift+Ctrl+G

Estupendo muchas gracias PepCat.


Ahora vuelvo de nuevo al ataque con más dudas, :D. Me ocurre muy pocas veces un error de TimeOut del estilo:
Código Delphi [-]
Se agotó el tiempo de espera para la operación - URL:https://www1.agenciatributaria.gob.es/wlpl/SII....

He probado en subir el timeout del MyHTTPRIO.HTTPWebNode.ReceiveTimeout, pero creo que no hace mucho caso del tiempo que le pongo. ¿Os ha pasado alguna vez? Si es así, ¿cómo lo habéis solucionado? Gracias.

nachoexe 21-06-2018 09:16:38

Cita:

Empezado por APO (Mensaje 527205)
Estupendo muchas gracias PepCat.


Ahora vuelvo de nuevo al ataque con más dudas, :D. Me ocurre muy pocas veces un error de TimeOut del estilo:
Código Delphi [-]
Se agotó el tiempo de espera para la operación - URL:https://www1.agenciatributaria.gob.es/wlpl/SII....

He probado en subir el timeout del MyHTTPRIO.HTTPWebNode.ReceiveTimeout, pero creo que no hace mucho caso del tiempo que le pongo. ¿Os ha pasado alguna vez? Si es así, ¿cómo lo habéis solucionado? Gracias.

La única solución es aumentar el tiempo, no te queda otra. Una vez enviado debes de esperar todo lo que haga falta para la respuesta o para un error

//Aumentamos el tiempo de espera de respuesta
RIO.HTTPWebNode.ReceiveTimeout := 600000; // 10 mins

Virman 21-06-2018 15:33:09

sII en Canarias
 
Por si alguien más está desarrollando un SII para Canarias, que como sabéis se va a poner en marcha el 1 de Enero de 2019, me han indicado que hasta Julio no darán las urls de los ficheros wsdl y que el último trimestre de este año habilitarán el servidor de pruebas.

xamminf 21-06-2018 19:34:07

A ver si tuvieramos 17 portales de pruebas mas 17 portales de produccion más 17 fechas de apertura de portal de pruebas más 17 fechas de inicio de producción.
Por favor, cuanta insensatez. Qué hartazón !

Casimiro Noteví 21-06-2018 23:27:52

Cita:

Empezado por xamminf (Mensaje 527245)
A ver si tuvieramos 17 portales de pruebas mas 17 portales de produccion más 17 fechas de apertura de portal de pruebas más 17 fechas de inicio de producción.
Por favor, cuanta insensatez. Qué hartazón !

^\||/^\||/^\||/

nuevo1234 22-06-2018 10:21:20

Cita:

Empezado por Casimiro Notevi (Mensaje 527251)
^\||/^\||/^\||/

Como sigamos así tendremos también otro para ceuta y melilla. Me temo lo peor. :mad:

Casimiro Noteví 22-06-2018 17:30:07

Cita:

Empezado por nuevo1234 (Mensaje 527261)
Como sigamos así tendremos también otro para ceuta y melilla. Me temo lo peor. :mad:

No te extrañe nada, 17 sistemas distintos, y luego uno especial para cuando alguien de una autonomía compre/venda de otra autonomía.

xamminf 25-06-2018 20:21:49

Cita:

Empezado por Casimiro Notevi (Mensaje 527270)
No te extrañe nada, 17 sistemas distintos, y luego uno especial para cuando alguien de una autonomía compre/venda de otra autonomía.


No podemos extrañarnos si al menos la mitad del PIB español se lo pulen en gasto público.
Cuanto más lío burocrático y admtvo. mejor para ellos: más bagatelas y prebendas justifican.
Qué asco ! Y pensar que hay gente que se muere porque las listas de espera de la S.S. no dan abasto
por falta de medios.

CMB 26-06-2018 21:39:39

Cita:

Empezado por Virman (Mensaje 527200)
He encontrado este documento con información sobre el SII de Canarias:
http://www.gobiernodecanarias.org/tr...GIC%20v1.1.pdf
Lo más curioso es que el documento indica en su nombre que es 1.1 en la primera página indica Versión 1.0
Alguien tiene más referencias que me puedan arrojar un poco más de luz sobre el SII de Canarias?
Muchas Gracias.

Este enlace me da Error 404 - Documento No Encontrado.

¿A alguien se le abre sin problemas?

Saludos,

inyu 01-07-2018 23:10:38

¿A alguien más le esta dando : var o=document.getElementById("AEAT_errores_tecnicos"); la nueva versión?

inyu 02-07-2018 09:04:21

Vale no he dicho nada, casualmente había caducado el certificado justo ayer. A la espera del nuevo aun no he podido probar la 1.1 en producción.

mrobles 02-07-2018 10:01:58

Al parecer implemente los cambios básicos, y todo va perfecto, pero, ¿hay algo mas aparte de eso que se me pasara y me pueda afectar?

Cita:

- Se renombran estas etiquetas en la nueva versión: 

<PeriodoImpositivo> se renombra a <PeriodoLiquidacion>  
<EmitidaPorTerceros> se renombra a <EmitidaPorTercerosODestinatario> 
<ImporteTransmisionSujetoAIVA> se renombra a <ImporteTransmisionInmueblesSujetoAIVA> 
- En el libro de emitidas de la nueva versión, dentro del bloque <TipoDesglose> se añade la etiqueta <DetalleExenta> para permitir el desglose del importe exento en función de las distintas causas de exención que pasan a ser compatibles.

** El campo que se necesitaba hace 1 año "referencia externa"
PD: Me siento raro siendo el único en PHP(Laravel) aquí

paquimd 02-07-2018 10:35:43

url Definitivas
 
Hola. Llevo un rato buscando las WSDL de la versión de producción de la 1.1. y no las encuentro por ninguna parte. ¿Alguien las ha visto?


Gracias

mrobles 02-07-2018 10:42:42

Cita:

Empezado por paquimd (Mensaje 527404)
Hola. Llevo un rato buscando las WSDL de la versión de producción de la 1.1. y no las encuentro por ninguna parte. ¿Alguien las ha visto?


Gracias

Los WSDL de la versión 1.1 utilizan los mismos namespace y URLs que la versión 1.0. Pero se referencia a los nuevos esquemas XSD de la 1.1, ya que la etiqueta <squemaLocation> está "apuntando" a los esquemas XSD de la 1.1.

Puede comprobarlo importando por ejemplo el nuevo WSDL de la URL: https://www2.agenciatributaria.gob.e...tEmitidas.wsdl y ver que genera los XML de la versión 1.1. correctamente.

Virman 02-07-2018 13:06:26

Error al intentar rellenar Detalle Exenta de Emitidas
 
Buenos días, cuando intento rellenar la parte exenta del detalle de una factura emitida, me crea un objeto null que causa exception en mi código.

La causaExención la creo de la siguiente forma:

tipoConDesglose.Entrega.Sujeta.Exenta = new DetalleExentaType[1];
tipoConDesglose.Entrega.Sujeta.Exenta[0].CausaExencion = ((CausaExencionType)(numTipo));

Pero al intentar asignarle un valor me lanza error:
tipoConDesglose.Entrega.Sujeta.Exenta[0].CausaExencion = 'tipoConDesglose.Entrega.Sujeta.Exenta[0].CausaExencion' inició una excepción de tipo 'System.NullReferenceException'

Esto con la versión anterior (1.0) del SII no me daba problemas, a alguien más le pasa? Cómo debemos crear el objeto para adjuntar una causa de exención?

mrobles 02-07-2018 13:16:43

Cita:

Empezado por Virman (Mensaje 527407)
Buenos días, cuando intento rellenar la parte exenta del detalle de una factura emitida, me crea un objeto null que causa exception en mi código.

La causaExención la creo de la siguiente forma:

tipoConDesglose.Entrega.Sujeta.Exenta = new DetalleExentaType[1];
tipoConDesglose.Entrega.Sujeta.Exenta[0].CausaExencion = ((CausaExencionType)(numTipo));

Pero al intentar asignarle un valor me lanza error:
tipoConDesglose.Entrega.Sujeta.Exenta[0].CausaExencion = 'tipoConDesglose.Entrega.Sujeta.Exenta[0].CausaExencion' inició una excepción de tipo 'System.NullReferenceException'

Esto con la versión anterior (1.0) del SII no me daba problemas, a alguien más le pasa? Cómo debemos crear el objeto para adjuntar una causa de exención?

Es uno de los 4 puntos de cambio basicos

Código:

<sii:TipoDesglose>
 <sii:DesgloseFactura>
 <sii:Sujeta>
 <sii:Exenta>
 <sii:DetalleExenta>
 <sii:CausaExencion>E2</sii:CausaExencion>
 <sii:BaseImponible>22.07</sii:BaseImponible>
 </sii:DetalleExenta>
 </sii:Exenta>
 </sii:Sujeta>
 </sii:DesgloseFactura>
 </sii:TipoDesglose>

Cita:

- En el libro de emitidas de la nueva versión, dentro del bloque <TipoDesglose> se añade la etiqueta <DetalleExenta> para permitir el desglose del importe exento en función de las distintas causas de exención que pasan a ser compatibles.

Virman 02-07-2018 13:44:04

Cita:

Empezado por mrobles (Mensaje 527408)
Es uno de los 4 puntos de cambio basicos

Código:

<sii:TipoDesglose>
 <sii:DesgloseFactura>
 <sii:Sujeta>
 <sii:Exenta>
 <sii:DetalleExenta>
 <sii:CausaExencion>E2</sii:CausaExencion>
 <sii:BaseImponible>22.07</sii:BaseImponible>
 </sii:DetalleExenta>
 </sii:Exenta>
 </sii:Sujeta>
 </sii:DesgloseFactura>
 </sii:TipoDesglose>


Pero lo que no entiendo es que yo ya estoy declarando la parte exenta como tipo DetalleExenta, por lo que no entiendo que al crear el objeto de tipo:

tipoConDesglose.Entrega.Sujeta.Exenta = new DetalleExentaType[1];

CausaExencion me devuelva null.

Os incluyo más líneas del proyecto:
TipoConDesgloseType tipoConDesglose = new TipoConDesgloseType();

tipoConDesglose.Entrega = new TipoSinDesgloseType();

tipoConDesglose.Entrega.Sujeta = new SujetaType();

if ((campos[54] != null && !campos[54].Equals(String.Empty)) || !campos[55].Equals(String.Empty))
{
if (!campos[54].Equals(String.Empty))
{
for (int numTipo = 0; numTipo < 6; numTipo++)
{
if (campos[54].Equals(((CausaExencionType)(numTipo)).ToString()))
{
tipoConDesglose.Entrega.Sujeta.Exenta = new DetalleExentaType[1];
tipoConDesglose.Entrega.Sujeta.Exenta[0].CausaExencion = ((CausaExencionType)(numTipo));
break;
}
}
}
}

Virman 02-07-2018 15:12:17

Cita:

Empezado por Virman (Mensaje 527409)
Pero lo que no entiendo es que yo ya estoy declarando la parte exenta como tipo DetalleExenta, por lo que no entiendo que al crear el objeto de tipo:

tipoConDesglose.Entrega.Sujeta.Exenta = new DetalleExentaType[1];

CausaExencion me devuelva null.

Os incluyo más líneas del proyecto:
TipoConDesgloseType tipoConDesglose = new TipoConDesgloseType();

tipoConDesglose.Entrega = new TipoSinDesgloseType();

tipoConDesglose.Entrega.Sujeta = new SujetaType();

if ((campos[54] != null && !campos[54].Equals(String.Empty)) || !campos[55].Equals(String.Empty))
{
if (!campos[54].Equals(String.Empty))
{
for (int numTipo = 0; numTipo < 6; numTipo++)
{
if (campos[54].Equals(((CausaExencionType)(numTipo)).ToString()))
{
tipoConDesglose.Entrega.Sujeta.Exenta = new DetalleExentaType[1];
tipoConDesglose.Entrega.Sujeta.Exenta[0].CausaExencion = ((CausaExencionType)(numTipo));
break;
}
}
}
}

Ya he visto el problema, gracias por la ayuda, faltaba esta línea:
tipoConDesglose.Entrega.Sujeta.Exenta[0] = new DetalleExentaType();

Sumsuna 02-07-2018 20:14:26

Problema con PeriodoLiquidacion
 
Buenas a todos,
Con la nueva version 1.1 tengo un problema con la nueva etiqueta PeriodoLiquidacion ya que aunque le programa me compila bien justo cuando llega a esta línea me da una excepción y no continua


ARegistroLRFacturasEmitidas[0].PeriodoLiquidacion.Ejercicio:=edtYear.Text;

Gracias de antemano

Sumsuna 02-07-2018 20:46:08

Cita:

Empezado por Sumsuna (Mensaje 527420)
Buenas a todos,
Con la nueva version 1.1 tengo un problema con la nueva etiqueta PeriodoLiquidacion ya que aunque le programa me compila bien justo cuando llega a esta línea me da una excepción y no continua


ARegistroLRFacturasEmitidas[0].PeriodoLiquidacion.Ejercicio:=edtYear.Text;

Gracias de antemano

Me respondo a mi misma, tenía que crear primero con esto ya me va bien

ALRFiltroEmitidasType.PeriodoLiquidacion:=PeriodoLiquidacion11.Create;
ARegistroLRFacturasEmitidas[0].PeriodoLiquidacion.Ejercicio:=edtYear.Text;

didou 03-07-2018 10:09:01

desglose facturas emitidas exentas
 
Buenos días, alguién seria tan amable de colgar un ejemplo Delphi de como informar el detalle de facturas emitidas exentas con la versión 1.1, con la 1.0 yo tenia lo siguiente:

// vLREmitidas[vIdx].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.Exenta := Exenta2.Create;
// vLREmitidas[vIdx].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.Exenta.CausaExencion := GetCausaExencion;
// vLREmitidas[vIdx].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.Exenta.BaseImponible := ReplaceStr(FloatToStr(vImpBase), ',', '.');

no consigo hacerlo con la 1.1, muchas gracias.

newtron 03-07-2018 10:48:44

Cita:

Empezado por didou (Mensaje 527432)
Buenos días, alguién seria tan amable de colgar un ejemplo Delphi de como informar el detalle de facturas emitidas exentas con la versión 1.1, con la 1.0 yo tenia lo siguiente:

// vLREmitidas[vIdx].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.Exenta := Exenta2.Create;
// vLREmitidas[vIdx].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.Exenta.CausaExencion := GetCausaExencion;
// vLREmitidas[vIdx].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.Exenta.BaseImponible := ReplaceStr(FloatToStr(vImpBase), ',', '.');

no consigo hacerlo con la 1.1, muchas gracias.


Yo lo hago de esta manera, a ver si esto te sirve...


Código Delphi [-]
              setLength(IVAS,1);                       // numeros de iVAs en factura
              IVAS[0]:=DetalleIVAEmitidaType.create;             // CREAR primer IVA
              IVAS[0].BaseImponible:='0';
              IVAS[0].TipoImpositivo:='0';
              IVAS[0].CuotaRepercutida:='0';
              IVAS[0].TipoRecargoEquivalencia:='';    // REQ %
              IVAS[0].CuotaRecargoEquivalencia:='';   // IMPORTE RECARGO
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion:=TipoConDesgloseType.Create;
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega:=TipoSinDesgloseType.Create;
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta:=SujetaType.Create;
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.NoExenta:=NoExenta2.Create;
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.NoExenta.TipoNoExenta:=TipoOperac  ionSujetaNoExentaType(1);
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.NoExenta.DesgloseIVA := IVAS;


La variable IVAS es un array del tipo DesgloseIva3


Saludos

Edito: Ahora la verdad es que estoy mirando y no me cuadra mucho que siendo exenta "cuele" con un tipo Sujeta.Noexenta....

inyu 03-07-2018 11:29:41

¿A alguien más le está dando este mensaje ?

There was no endpoint listening at https://www1.aeat.es/wlpl/SSII-FACT/...iiFactFRV1SOAP that could accept the message.

Sólo me funcionan las de pre-produccion (www7).

didou 03-07-2018 11:42:52

Cita:

Empezado por newtron (Mensaje 527433)
Yo lo hago de esta manera, a ver si esto te sirve...


Código Delphi [-]
              setLength(IVAS,1);                       // numeros de iVAs en factura
              IVAS[0]:=DetalleIVAEmitidaType.create;             // CREAR primer IVA
              IVAS[0].BaseImponible:='0';
              IVAS[0].TipoImpositivo:='0';
              IVAS[0].CuotaRepercutida:='0';
              IVAS[0].TipoRecargoEquivalencia:='';    // REQ %
              IVAS[0].CuotaRecargoEquivalencia:='';   // IMPORTE RECARGO
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion:=TipoConDesgloseType.Create;
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega:=TipoSinDesgloseType.Create;
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta:=SujetaType.Create;
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.NoExenta:=NoExenta2.Create;
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.NoExenta.TipoNoExenta:=TipoOperac  ionSujetaNoExentaType(1);
              ARegistroLRFacturasEmitidas[N].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.NoExenta.DesgloseIVA := IVAS;


La variable IVAS es un array del tipo DesgloseIva3


Saludos

Edito: Ahora la verdad es que estoy mirando y no me cuadra mucho que siendo exenta "cuele" con un tipo Sujeta.Noexenta....

Hola Newtron, gracias por intentarlo pero lo que me das es para entregas y yo quiero para facturaexpedida.,tipodesglose.desglosefactura.sujeta.exenta

Hay un tipo detalleExentaType ue yo creo de la siguiente manera
setLength(vEXEN, 1);
vEXEN[0] := DetalleExentaType.Create;
vEXEN[0].CausaExencion := GetCausaExencion;
vEXEN[0].BaseImponible := ReplaceStr(FloatToStr(vImpBase), ',', '.');

pero después no consigo meter el array vEXEN dentro del facturaexpedida.,tipodesglose.desglosefactura.sujeta.exenta

pero gracias de todos modos y a ver si alguien me puede ayudar.

pmbcn 03-07-2018 13:32:13

Cita:

Empezado por vicdeju (Mensaje 527198)
Buenos días PepCat,
Muchas gracias, con esto lo tengo solucionado.

Un saludo.

Hola a todos,
Tengo el mismo problema pero los Dua pongo datos del emisor 'nombre' y como NIF pongo Otro documento probatorio. Y luego en el encabezamiento los datos son de nuestra empresa.

Cómo solucionais este error?
Podría presentarse está importación con este error sin tener que subsanar?
Gracias a todos por vuestros comentarios!

Galahad 03-07-2018 18:09:40

Cita:

Empezado por didou (Mensaje 527435)
Hola Newtron, gracias por intentarlo pero lo que me das es para entregas y yo quiero para facturaexpedida.,tipodesglose.desglosefactura.sujeta.exenta

Hay un tipo detalleExentaType ue yo creo de la siguiente manera
setLength(vEXEN, 1);
vEXEN[0] := DetalleExentaType.Create;
vEXEN[0].CausaExencion := GetCausaExencion;
vEXEN[0].BaseImponible := ReplaceStr(FloatToStr(vImpBase), ',', '.');

pero después no consigo meter el array vEXEN dentro del facturaexpedida.,tipodesglose.desglosefactura.sujeta.exenta

pero gracias de todos modos y a ver si alguien me puede ayudar.


Hola
¿ has probado esto ?


ARegistroLRFacturasEmitidas[ncontfacturas].FacturaExpedida.TipoDesglose.desglosefactura.sujeta.Exenta:= vexen;


Yo acabo de adaptarlo y por lo menos el compilador no se queja... :D

Galahad 03-07-2018 20:20:58

Cita:

Empezado por Galahad (Mensaje 527442)
Hola
¿ has probado esto ?


ARegistroLRFacturasEmitidas[ncontfacturas].FacturaExpedida.TipoDesglose.desglosefactura.sujeta.Exenta:= vexen;


Yo acabo de adaptarlo y por lo menos el compilador no se queja... :D


Perdón, rectifico, no daba error de compilación pero si un bonito access violation.. ;)
Esta es la línea correcta:


ARegistroLRFacturasEmitidas[ncontfacturas].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.sujeta.Exenta := Exentas;


Saludos...

Sumsuna 03-07-2018 22:35:58

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

pablog2k 04-07-2018 08:30:13

Cita:

Empezado por Sumsuna (Mensaje 527447)
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;

nuevo1234 04-07-2018 09:19:09

Cita:

Empezado por inyu (Mensaje 527434)
¿A alguien más le está dando este mensaje ?

There was no endpoint listening at https://www1.aeat.es/wlpl/SSII-FACT/...iiFactFRV1SOAP that could accept the message.

Sólo me funcionan las de pre-produccion (www7).

El dominio de produccion no es el correcto. Fijate en los ws de que está el endpoint

elguille 04-07-2018 11:59:48

Cita:

Empezado por pablog2k (Mensaje 527450)
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;


La franja horaria es GMT +2. Ahora son las 18:38:23.

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