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)

newtron 10-03-2017 17:50:28

Cita:

Empezado por Nasca (Mensaje 514199)
La verdad es que tenía toda la pinta de ser algo así.

Si, pero mientras si mientras no se pierden unas pocas de horas dando cabezazos.

Nasca 10-03-2017 17:56:15

Aunque el cambio es aplicable para el 15, ya está disponible la información.

http://www.agenciatributaria.es/AEAT...sion_0_6.shtml

Trabajo para el finde :mad:

batuzail 10-03-2017 18:34:52

Hola,
Alguno habeis tenido problema con las facturas recibidas, he importado con wsdl la clase y para IDFacturaRecibidaTypeIDEmisorFactura no me aperece el IDFacturaRecibidaTypeIDEmisorFactura.NIF.

Acabo de importar la clase con la v0.6 y tampoco
Saludos

jlegido 12-03-2017 20:56:10

Cita:

Empezado por angelhorse (Mensaje 513897)
Buenas!
Yo lo he hecho a base de XElements (Estructura XML) y Strings.
Te digo más o menos como lo he hecho (Que supongo que no será la forma más óptima pero es como se me ha ocurrido)

Para poner los prefijos de Sii, SiiLR y demás he usado esto:
public static XNamespace NAMESPACE = @"*/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd";

Para crear los nodos XElement con sus prefijos:
XElement root = new XElement(NAMESPACE + "SuministroLRFacturasEmitidas");

Para poner la cabecera yo he usado esto:
XElement Envelope = new XElement(soapenv + "Envelope",
new XAttribute(XNamespace.Xmlns + "soapenv", @"*schemas.xmlsoap.org/soap/envelope/"),
new XAttribute(XNamespace.Xmlns + "siiLR", @"*/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd"),
new XAttribute(XNamespace.Xmlns + "sii", @"*/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"));

XElement Header = new XElement(soapenv + "Header");
Envelope.Add(Header);

String file = Utilidades.CreateXMLFile(Envelope, i, "Alta Facturas Emitidas");

Mi Utilidades.CreateXMLFile:

XmlTextWriter writer = new XmlTextWriter(archivoPath, Encoding.UTF8); //Con esto de aquí le pones la primera línea esa "<?xml version="1.0" encoding="UTF-8"?>"
writer.WriteStartDocument();
writer.Formatting = Formatting.Indented;
xml.WriteTo(writer);
writer.Flush();
writer.Close();

Espero haberte ayudado.
P.D. donde pongo * me refiero a una enlace (No me deja copiarlos tal cual) xD


Hola angelhorse,

Estoy siguiendo un metodo parecido al tuyo, es decir lo hago en VB.Net, pero generando el archivo xml de forma manual (es decir son uso objetos generados al importa la referencia al servicio web).
Bueno el tema es que creo tener todo bien pero estoy en un atasco del que no puedo salir y ando ya desesperado, creo que tu me puedes echar un cable.
Tengo el archivo xml correcto y bien formado y con datos reales
Tengo un certificado (en archivo .pfx) correcto y verificado (he hecho envios de otra forma y funciona)
Al final la empresa ha decidido hacerlo todo sin usar los objetos generados al importar la referencia al servicio web, es decir que no tengo un objeto de tipo SuministroLRFacturasEmitidas con el que hacer las usuales lineas:
Código:

    Dim resul As RespuestaLRFEmitidasType
        resul = proxy.SuministroLRFacturasEmitidas(testC)

lo que uso es un objeto System.Net.HttpWebRequest, con el siguiente codigo

Código:

  Dim req As System.Net.HttpWebRequest
      Dim url As String = "*://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP"
      'inicializar propiedades request--------------------------------
      req = HttpWebRequest.Create(url)
      req.Headers.Add("SOAP:Action")
      req.ContentType = "text/xml;charset=""utf-8"""
      req.Accept = "text/xml"
      req.Method = "POST"
      Dim soapEnvelopeXml As XmlDocument = New XmlDocument()
      'cargar xml desde archivo
      Dim filename As String = "h:\facturaEmitidaMODEL1_1_1.xml"
      soapEnvelopeXml.Load(filename)

      'certificado---------------------------------------------------
      Dim cert As System.Security.Cryptography.X509Certificates.X509Certificate2
      Dim sRutaCert As String = "H:\Certificado.pfx"
      Dim sClaveCert As String = "xy123"
      cert = New System.Security.Cryptography.X509Certificates.X509Certificate2(sRutaCert, sClaveCert)
      req.ClientCertificates.Add(cert)

      'recoger respuesta 1-----------------------------------------
      Dim resp As WebResponse = req.GetResponse()
      Dim reader As StreamReader = New StreamReader(resp.GetResponseStream())
      Dim soapResult As String = reader.ReadToEnd()

Y aqui es donde me quedo totalmente atascado, me da un mensaje super largo, del cual solo posteo lo inicial, que es:

Código:

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="*://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Codigo[1304].Fin prematuro del archivo. (-1,-1)</faultstring><detail><callstack>XML no válido o mal formado
Pero por mas que repaso y repaso no veo que el xml no sea valido o este mal formado y sobre el “Fin prematuro de archivo” no he encontrado nada de anda en internet.
¿Qué codigo usas tu para enviarlo?

Muchas gracias por tu ayuda
Saludos

P.D. donde pongo * me refiero a una enlace (No me deja copiarlos tal cual) xD[/quote]

CMB 12-03-2017 22:55:37

Cita:

Empezado por jlegido (Mensaje 514238)

Código:

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="*://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Codigo[1304].Fin prematuro del archivo. (-1,-1)</faultstring><detail><callstack>XML no válido o mal formado
Pero por mas que repaso y repaso no veo que el xml no sea valido o este mal formado y sobre el “Fin prematuro de archivo” no he encontrado nada de anda en internet.
¿Qué codigo usas tu para enviarlo?

Muchas gracias por tu ayuda
Saludos

P.D. donde pongo * me refiero a una enlace (No me deja copiarlos tal cual) xD

Para ver si un XML no está bien formado no hay nada como abrirlo con Firefox, y te indicará la línea y la columna donde está el error. Con otros navegadores no lo sé.

Saludos,

robinsondemantu 13-03-2017 08:07:03

Error controlado
 
Buenos días.

Gracias por toda la información que habéis ido poniendo. Me ha sido de gran utilidad. A ver si me podéis echar una mano o le ha ocurrido a alguien. El caso es que hago la llamada al método para dar de alta facturas emitidas y la AEAT me devuelve el siguiente error:

Codigo[4114].El titular del certificado debe ser el Titular del libro de Registro, Colaborador Social o Apoderado

Me he puesto en contacto con ellos, pero no me contestan. El caso es que hace poco pusieron un enlace para comprobar la identificación fiscal (por Web y por Servicio Web) y me deja pasar con el certificado.

Alguna idea?

Muchas gracias.

Nasca 13-03-2017 09:09:59

Las pruebas de envío tienen que hacerse con un certificado que corresponda al titular del envío.
Usa tu propio certificado, pero tendrás que poner como titular tu nombre y NIF.
Como es para pruebas, no tiene mayor relevancia.

Pero lo que no podrás es presentar registros de otro titular diferente, salvo que tengas certificado de colaborador social (asesorías) o seas apoderado.
Lo que no creo que sea tu caso, igual que del resto que andamos por aquí.

batuzail 13-03-2017 09:10:05

Cita:

Empezado por robinsondemantu (Mensaje 514244)
Buenos días.

Gracias por toda la información que habéis ido poniendo. Me ha sido de gran utilidad. A ver si me podéis echar una mano o le ha ocurrido a alguien. El caso es que hago la llamada al método para dar de alta facturas emitidas y la AEAT me devuelve el siguiente error:

Codigo[4114].El titular del certificado debe ser el Titular del libro de Registro, Colaborador Social o Apoderado

Me he puesto en contacto con ellos, pero no me contestan. El caso es que hace poco pusieron un enlace para comprobar la identificación fiscal (por Web y por Servicio Web) y me deja pasar con el certificado.

Alguna idea?

Muchas gracias.

Hola,
El certificado debe ser el del mismo Cif que el que envias las facturas.
Como lo estas haciendo de pruebas en el cif del emisor pon el mismo que el del certificado y te funcionará.

Saludos

robinsondemantu 13-03-2017 10:40:26

Cita:

Empezado por batuzail (Mensaje 514246)
Hola,
El certificado debe ser el del mismo Cif que el que envias las facturas.
Como lo estas haciendo de pruebas en el cif del emisor pon el mismo que el del certificado y te funcionará.

Saludos

Gracias por la respuesta.

Si meto el CIF (he ocultado el válido) en el campo NIF:

_SuministroLRFacturasEmitidas.Cabecera.Titular.NombreRazon = "EMPRESA"
_SuministroLRFacturasEmitidas.Cabecera.Titular.NIF = "AXXXXXXXX"
_SuministroLRFacturasEmitidas.RegistroLRFacturasEmitidas(0).IDFactura.IDEmisorFactura.NIF = "AXXXXXXXX"

Me dice "Valor o tipo incorrecto del campo NIF". ¿Es ahí dónde te refieres?


Gracias.

robinsondemantu 13-03-2017 11:06:58

Conseguido, era por el NIF que venía en el ejemplo en la contraparte. El puesto el CIF donde me indicabas, he cambiado el tipo de factura y no he enviado la contraparte y ha funcionado.

Muchas gracias!! Este foro es un lujazo. Hay muy pocos sitios donde haya información de gente que se está pegando con esto.

jlegido 13-03-2017 14:55:17

1 Archivos Adjunto(s)
Hola CMB
Gracias por la respuesta.
Uso 3 archivos diferentes, pues no se cual puede ser el bueno para hacienda. Los 3 archivos los he validado en Firefox, en Chrome y en http://W**.freeformatter.com/xml-validator-xsd.html y son correctos, pero me sale siempre el mismo error, ahora es:
Cita:

<env:Envelope>
<env:Body>
<env:Fault>
<faultcode>env:Client</faultcode>
<faultstring>Codigo[1304].No se permite contenido en el prólogo. (1,1)
</faultstring><detail>
LO esoy enviado (en VB.Net obligatoriamente) con HttpWebRequest.Create(url), quiza sea aquí donde esta el error.

Te adjunto los 3 archivos, para que por lo menos me digas cual es el que tu usarias
Y si alguien lo ha hecho de la misma forma que yo o sabe algo sobre este tipo de error, cualquier ayuda sera bienvenida, por que estoy al limite de todo (tiempo y energia)

Muchas gracias

CMB 13-03-2017 15:17:15

Cita:

Empezado por jlegido (Mensaje 514260)
Hola CMB
Gracias por la respuesta.
Uso 3 archivos diferentes, pues no se cual puede ser el bueno para hacienda. Los 3 archivos los he validado en Firefox, en Chrome y en http://W**.freeformatter.com/xml-validator-xsd.html y son correctos, pero me sale siempre el mismo error, ahora es:
Muchas gracias

El fichero llamado alta_factura.xml tiene la estructura correcta. Si le pones los NIFs y nombres de verdad debería aceptártelo. Los otros dos no están bien. Entre otras cosas, les faltan los namespaces.

Saludos,

batuzail 13-03-2017 16:00:42

Facturas emitidas en C#
 
1 Archivos Adjunto(s)
Hola,
Varios me lo habéis pedido por privado, lo pongo aqui a disposición de todos, son las clases necesarias para subir facturas emitidas.

Como pasáis el NIF del emisor en facturas Recibidas?????, a mi solo me aparece una propiedad Item me falta una que sea NIF, en emitidas aparece.
LA clase que me genera del WS contiene:

Cita:

public partial class IDFacturaRecibidaTypeIDEmisorFactura
{

private object itemField;

/// <comentarios/>
[System.Xml.Serialization.XmlElementAttribute("IDOtro", typeof(IDOtroType))]
[System.Xml.Serialization.XmlElementAttribute("NIF", typeof(string))]
public object Item
{
get
{
return this.itemField;
}
set
{
this.itemField = value;
}
}
}
Saludos

vicdeju 13-03-2017 16:11:48

Cita:

Empezado por jlegido (Mensaje 514238)
Hola angelhorse,

Estoy siguiendo un metodo parecido al tuyo, es decir lo hago en VB.Net, pero generando el archivo xml de forma manual (es decir son uso objetos generados al importa la referencia al servicio web).
Bueno el tema es que creo tener todo bien pero estoy en un atasco del que no puedo salir y ando ya desesperado, creo que tu me puedes echar un cable.
Tengo el archivo xml correcto y bien formado y con datos reales
Tengo un certificado (en archivo .pfx) correcto y verificado (he hecho envios de otra forma y funciona)
Al final la empresa ha decidido hacerlo todo sin usar los objetos generados al importar la referencia al servicio web, es decir que no tengo un objeto de tipo SuministroLRFacturasEmitidas con el que hacer las usuales lineas:
Código:

    Dim resul As RespuestaLRFEmitidasType
        resul = proxy.SuministroLRFacturasEmitidas(testC)

lo que uso es un objeto System.Net.HttpWebRequest, con el siguiente codigo

Código:

  Dim req As System.Net.HttpWebRequest
      Dim url As String = "*://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP"
      'inicializar propiedades request--------------------------------
      req = HttpWebRequest.Create(url)
      req.Headers.Add("SOAP:Action")
      req.ContentType = "text/xml;charset=""utf-8"""
      req.Accept = "text/xml"
      req.Method = "POST"
      Dim soapEnvelopeXml As XmlDocument = New XmlDocument()
      'cargar xml desde archivo
      Dim filename As String = "h:\facturaEmitidaMODEL1_1_1.xml"
      soapEnvelopeXml.Load(filename)

      'certificado---------------------------------------------------
      Dim cert As System.Security.Cryptography.X509Certificates.X509Certificate2
      Dim sRutaCert As String = "H:\Certificado.pfx"
      Dim sClaveCert As String = "xy123"
      cert = New System.Security.Cryptography.X509Certificates.X509Certificate2(sRutaCert, sClaveCert)
      req.ClientCertificates.Add(cert)

      'recoger respuesta 1-----------------------------------------
      Dim resp As WebResponse = req.GetResponse()
      Dim reader As StreamReader = New StreamReader(resp.GetResponseStream())
      Dim soapResult As String = reader.ReadToEnd()

Y aqui es donde me quedo totalmente atascado, me da un mensaje super largo, del cual solo posteo lo inicial, que es:

Código:

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="*://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Codigo[1304].Fin prematuro del archivo. (-1,-1)</faultstring><detail><callstack>XML no válido o mal formado
Pero por mas que repaso y repaso no veo que el xml no sea valido o este mal formado y sobre el “Fin prematuro de archivo” no he encontrado nada de anda en internet.
¿Qué codigo usas tu para enviarlo?

Muchas gracias por tu ayuda
Saludos

P.D. donde pongo * me refiero a una enlace (No me deja copiarlos tal cual) xD

[/quote]

Buenas tardes,
He estado utilizando el código que has puesto, porque me parece la mejor solución, utilizando un XML que me he generado yo, también me da error al hacer el envío. Lo que no me queda claro de este código, es en que instrucción se le dice al objeto req, que utilice el soapEnvolveXML como documento de envío.
Un saludo y muchas gracias.

vicdeju 13-03-2017 16:34:17

Cita:

Empezado por jlegido (Mensaje 514238)
Hola angelhorse,

Estoy siguiendo un metodo parecido al tuyo, es decir lo hago en VB.Net, pero generando el archivo xml de forma manual (es decir son uso objetos generados al importa la referencia al servicio web).
Bueno el tema es que creo tener todo bien pero estoy en un atasco del que no puedo salir y ando ya desesperado, creo que tu me puedes echar un cable.
Tengo el archivo xml correcto y bien formado y con datos reales
Tengo un certificado (en archivo .pfx) correcto y verificado (he hecho envios de otra forma y funciona)
Al final la empresa ha decidido hacerlo todo sin usar los objetos generados al importar la referencia al servicio web, es decir que no tengo un objeto de tipo SuministroLRFacturasEmitidas con el que hacer las usuales lineas:
Código:

    Dim resul As RespuestaLRFEmitidasType
        resul = proxy.SuministroLRFacturasEmitidas(testC)

lo que uso es un objeto System.Net.HttpWebRequest, con el siguiente codigo

Código:

  Dim req As System.Net.HttpWebRequest
      Dim url As String = "*://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP"
      'inicializar propiedades request--------------------------------
      req = HttpWebRequest.Create(url)
      req.Headers.Add("SOAP:Action")
      req.ContentType = "text/xml;charset=""utf-8"""
      req.Accept = "text/xml"
      req.Method = "POST"
      Dim soapEnvelopeXml As XmlDocument = New XmlDocument()
      'cargar xml desde archivo
      Dim filename As String = "h:\facturaEmitidaMODEL1_1_1.xml"
      soapEnvelopeXml.Load(filename)

      'certificado---------------------------------------------------
      Dim cert As System.Security.Cryptography.X509Certificates.X509Certificate2
      Dim sRutaCert As String = "H:\Certificado.pfx"
      Dim sClaveCert As String = "xy123"
      cert = New System.Security.Cryptography.X509Certificates.X509Certificate2(sRutaCert, sClaveCert)
      req.ClientCertificates.Add(cert)

      'recoger respuesta 1-----------------------------------------
      Dim resp As WebResponse = req.GetResponse()
      Dim reader As StreamReader = New StreamReader(resp.GetResponseStream())
      Dim soapResult As String = reader.ReadToEnd()

Y aqui es donde me quedo totalmente atascado, me da un mensaje super largo, del cual solo posteo lo inicial, que es:

Código:

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="*://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Codigo[1304].Fin prematuro del archivo. (-1,-1)</faultstring><detail><callstack>XML no válido o mal formado
Pero por mas que repaso y repaso no veo que el xml no sea valido o este mal formado y sobre el “Fin prematuro de archivo” no he encontrado nada de anda en internet.
¿Qué codigo usas tu para enviarlo?

Muchas gracias por tu ayuda
Saludos

P.D. donde pongo * me refiero a una enlace (No me deja copiarlos tal cual) xD

[/quote]

Buenas tardes, tienes que añadir estas líneas
Dim NewStream As Stream = req.GetRequestStream()
soapEnvelopeXml.Save(NewStream)


Antes del getresponse

Asi me ha funcionado correctamente.

Un saludo

JSBB_Z 13-03-2017 17:08:21

Generar xml
 
Hola vicdeju, yo también estoy siguiendo ese mismo código en VB.NET, pero me falta crear un fichero xml que sea correcto para proceder al envío. Podrías indicarme como lo generas?

Gracias y un saludo

batuzail 14-03-2017 15:18:58

Cita:

Empezado por batuzail (Mensaje 514263)
Hola,
Varios me lo habéis pedido por privado, lo pongo aqui a disposición de todos, son las clases necesarias para subir facturas emitidas.

Como pasáis el NIF del emisor en facturas Recibidas?????, a mi solo me aparece una propiedad Item me falta una que sea NIF, en emitidas aparece.
LA clase que me genera del WS contiene:



Saludos

He enviado un mail, y sorprendentemente me han respodido al momento, me han pedido el xml y el problema era que el nif del emisor y de la contraparte deben de ser el mismo, pero el error que me mostraba era:

[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: NIF

Seguimos......


CMB 14-03-2017 16:10:42

Cita:

Empezado por batuzail (Mensaje 514304)
He enviado un mail, y sorprendentemente me han respodido al momento, me han pedido el xml y el problema era que el nif del emisor y de la contraparte deben de ser el mismo, pero el error que me mostraba era:
[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: NIF
Seguimos......

Es que si lo piensas un poco, el emisor de una factura recibida siempre coincide con la contraparte. A diferencia de las facturas expedidas, en que el emisor es el que manda el XML. Yo también caí en la trampa :mad:

JSBB_Z 14-03-2017 17:29:55

Ayuda
 
Buenas tardes a todos. Por lo que llevo leido en este foro, parece que la mayoría va resolviendo los problemas que plantea este tema del SII. He implementado alguna de las soluciones que habeis propuesto, pero no consigo nada en limpio. Desarrollo en Visual Basic.NET.

No consigo crear un fichero XML con las especificaciones debidas, como lo haceis? Lo que pretendo es crear un fichero XML que me quede alojado en un directorio, para enviarlo después.

Podeis echarme una mano?

Gracias y un saludo

CMB 14-03-2017 17:44:20

Cita:

Empezado por JSBB_Z (Mensaje 514316)
Buenas tardes a todos. Por lo que llevo leido en este foro, parece que la mayoría va resolviendo los problemas que plantea este tema del SII. He implementado alguna de las soluciones que habeis propuesto, pero no consigo nada en limpio. Desarrollo en Visual Basic.NET.
No consigo crear un fichero XML con las especificaciones debidas, como lo haceis? Lo que pretendo es crear un fichero XML que me quede alojado en un directorio, para enviarlo después.
Podeis echarme una mano?
Gracias y un saludo

Crear un XML se puede hacer hasta con el Bloc de Notas de Windows. Con Delphi 7, manualmente, se rellena línea a línea la cabecera con su contenido, luego iterando factura a factura, y con un poco de paciencia, una vez hecho ya te sirve para siempre. Como se hizo con la Factura-e. Si en el futuro cambian algún Tag, pues en un momento rectificas el código y listos. No tiene ninguna complicación. Con Visual Basic.NET será más o menos igual. Una vez completado el XML, con Firefox puedes ver si hay problemas de Tags desapareados, u otras cosas. Finamente lo mandas a la AEAT, y con los errores que recibas haces las correcciones, hasta que te lo admitan. O consultas al foro.

Mira los ejemplos que te pone la AEAT.

Saludos,

JSBB_Z 15-03-2017 08:52:00

Gracias CMB por tu respuesta. He hecho alguna prueba con el método que sugieres, pero lo que obtengo es un fichero xml que Internet Explorer no lee, si lo abro con el bloc de notas si; es evidente que algo hago mal, algún paso me falta, serializarlo tal vez? o no sería necesario y se puede enviar así?

El ejemplo que estoy siguiendo es el que publicó batuzail, pero tengo la pega de que no me crea un fichero en una carpeta que es lo que pretendo.

Si alguien puede aclararme estas dudas...gracias de antemano.

Saludos

CMB 15-03-2017 09:39:55

Cita:

Empezado por JSBB_Z (Mensaje 514340)
Gracias CMB por tu respuesta. He hecho alguna prueba con el método que sugieres, pero lo que obtengo es un fichero xml que Internet Explorer no lee, si lo abro con el bloc de notas si; es evidente que algo hago mal, algún paso me falta, serializarlo tal vez? o no sería necesario y se puede enviar así?
El ejemplo que estoy siguiendo es el que publicó batuzail, pero tengo la pega de que no me crea un fichero en una carpeta que es lo que pretendo.
Si alguien puede aclararme estas dudas...gracias de antemano.
Saludos

Ábrelo con Firefox y te dirá la línea y la columna donde está el error.

O extraes uno de los ejemplos de la documentación (SII_Descripcion_ServicioWeb_v0.6.pdf) con el portapapeles, y ¡funciona! Lo mandas y te lo acepta. Aunque tienes que ponerle datos reales (NIF y nombres fiscales).

batuzail 15-03-2017 09:50:44

Cita:

Empezado por JSBB_Z (Mensaje 514340)
Gracias CMB por tu respuesta. He hecho alguna prueba con el método que sugieres, pero lo que obtengo es un fichero xml que Internet Explorer no lee, si lo abro con el bloc de notas si; es evidente que algo hago mal, algún paso me falta, serializarlo tal vez? o no sería necesario y se puede enviar así?

El ejemplo que estoy siguiendo es el que publicó batuzail, pero tengo la pega de que no me crea un fichero en una carpeta que es lo que pretendo.

Si alguien puede aclararme estas dudas...gracias de antemano.

Saludos



Si generas el xml con los métodos y quieres generar un xml antes de enviarlo, usa está función pasándole como parámetro el objeto que pasas al LRSuministro......

Cita:

public bool GetXMLFromObject(object o)
{
StringWriter sw = new StringWriter();
XmlTextWriter tw = null;
try
{
XmlSerializer serializer = new XmlSerializer(o.GetType());
tw = new XmlTextWriter(sw);
serializer.Serialize(tw, o);
}
catch (Exception ex)
{
//Handle Exception Code
return false;
}
finally
{
sw.Close();
if (tw != null)
{
tw.Close();
}
}

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\" + o.ToString() + ".xml"))
{
file.WriteLine(sw.ToString());

}
return true;
}


JSBB_Z 15-03-2017 10:48:52

Gracias batuzail tendrías ese mismo código que me has puesto en Visual Basic.NET?

Por otra parte en la línea...

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\" + o.ToString() + ".xml"))

que es el signo @? es algo propio de C#?...

Gracias de nuevo y un saludo

Ketemeto2008 15-03-2017 10:56:26

Cita:

Empezado por Nasca (Mensaje 514210)
Aunque el cambio es aplicable para el 15, ya está disponible la información.

aquí iba el enlace pero a mi todavía no me deja insertarlos al ser nuevo

Trabajo para el finde :mad:

hola buenas,

¿alguien tiene el pdf de esa nueva versión 0.6 o un enlace que funcione?
ese enlace que colgó el compañero ya no funciona
y las facturas que se tragaba la semana pasada con al version 0.5 ahora las rechaza indicando que ...
'Codigo[4100].Error en la cabecera. El contenido del campo IDVersionSii no es válido.'

muchas gracias

CMB 15-03-2017 11:02:33

Cita:

Empezado por Ketemeto2008 (Mensaje 514344)
hola buenas,
¿alguien tiene el pdf de esa nueva versión 0.6 o un enlace que funcione?
ese enlace que colgó el compañero ya no funciona
y las facturas que se tragaba la semana pasada con al version 0.5 ahora las rechaza indicando que ...
'Codigo[4100].Error en la cabecera. El contenido del campo IDVersionSii no es válido.'
muchas gracias

Pon 0.6 en IDVersionSi.

CMB 15-03-2017 11:06:11

Cambios en versión 0.6
 
Lo de las facturas recibidas ha cambiado y hay que hacer varios cambios.

Usando la misma estructura de la versión 0.5 rechazan el envío diciendo El XML no cumple el esquema. Falta informar campo obligatorio.: Contraparte

keys 15-03-2017 11:11:05

Enlace a la nueva version. El servidor e la aeat ya no admite nada que no este en esta version

http://www.agenciatributaria.es/AEAT.internet/SII.html

Ketemeto2008 15-03-2017 11:21:04

os agradezco a todos vuestras respuestas

el enlace que me ha puesto el último compañero me lleva a la versión 0.5
ya me imaginaba que poniendo 0.6 se lo tragaria, pero me gustaba la idea de que la AEAT colgara un pdf con la versión 0.6 igual que existia el de la 0.5

igual soy yo pero... ¿no os parece muy chapucero todo esto por parte de la administración?

y un tema importante
¿como os dais cuenta de estas cosas? ¿hay algun sitio donde se avisen de estos cambios de versión y de que cambios deben comportar en tu código?
¿o se trata de ir dando palos de ciego y empezar a probar cada vez que me ocurra un caso como este?

muchas gracias a todos otra vez.

keys 15-03-2017 11:24:03

El enlace es a la version 6. Mira el documento Descripción servicio Web Documento PDF y verás como pone 6.

En la pagina que he puesto van informando de los cambios. Tienes un rss al cual subscribirte para que te avisen de los cambios.

Ketemeto2008 15-03-2017 11:26:59

gracias keys

estaba mirando el primer enlace que mantiene la version 0.5
me suscribo al rss también

keys 15-03-2017 11:30:07

Por cierto. Han puesto un enlace nuevo donde su puede consultar todo lo que se ha presentado.

Un Saludo.

mpino 15-03-2017 11:30:35

Gracias a todos
 
Muchisimas gracias a todos por compartir todos vuestros conocimientos. ¿Alguien podría compartir un proyecto de ejemplo en .NET para el envío de facturas?

Un saludo
mpino

mpino 15-03-2017 11:34:58

Enlace a version 0.6
 
Cita:

Empezado por Ketemeto2008 (Mensaje 514348)
os agradezco a todos vuestras respuestas

el enlace que me ha puesto el último compañero me lleva a la versión 0.5
ya me imaginaba que poniendo 0.6 se lo tragaria, pero me gustaba la idea de que la AEAT colgara un pdf con la versión 0.6 igual que existia el de la 0.5

igual soy yo pero... ¿no os parece muy chapucero todo esto por parte de la administración?

y un tema importante
¿como os dais cuenta de estas cosas? ¿hay algun sitio donde se avisen de estos cambios de versión y de que cambios deben comportar en tu código?
¿o se trata de ir dando palos de ciego y empezar a probar cada vez que me ocurra un caso como este?

muchas gracias a todos otra vez.


Si miras el documento de Descripción del Servicio Web del enlace que han puesto anteriormente, verás que corresponde a la versión 0.6. Todo lo que está en ese enlace hace referencia a dicha versión.

Un saludo
mpino

CMB 15-03-2017 12:04:51

Cita:

Empezado por keys (Mensaje 514349)
El enlace es a la version 6. Mira el documento Descripción servicio Web Documento PDF y verás como pone 6.
En la pagina que he puesto van informando de los cambios. Tienes un rss al cual subscribirte para que te avisen de los cambios.

Por favor, ¿dónde hay que subscribirse para que te avisen de los cambios? No consigo ver el rss.

Muchas gracias.

keys 15-03-2017 12:13:15

Cita:

Empezado por CMB (Mensaje 514354)
Por favor, ¿dónde hay que subscribirse para que te avisen de los cambios? No consigo ver el rss.

Muchas gracias.

http://www.agenciatributaria.es/AEAT...ovedades.shtml

batuzail 15-03-2017 14:21:27

Cita:

Empezado por JSBB_Z (Mensaje 514343)
Gracias batuzail tendrías ese mismo código que me has puesto en Visual Basic.NET?

Por otra parte en la línea...

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\" + o.ToString() + ".xml"))

que es el signo @? es algo propio de C#?...

Gracias de nuevo y un saludo

Empecé haciendo en VB pero al final lo estoy haciendo en C#, pero si buscas algo de info no te será difícil pasarlo a VB.
En VB tengo un método básico de envio de facturas recibidas que puse por aqui.

Saludos

jonortsal 15-03-2017 16:52:45

Vb Net
 
¿Tenéis el proyecto hecho en VB.NET 2012?
Es que me genera errores y no sé porqué...
Si por favor podéis pasar el código en un fichero comprimido.
Gracias.

olinet 15-03-2017 17:15:48

Delphi 7
 
Buenas,

Me incorporo al tema ahora, de momento estoy leyendo y leyendo antes de programar nada.

Lamentablemente voy a empezar preguntando, en cuanto pueda intentaré responder también que no todo va a ser preguntar :)

¿Hay alguien que vaya a consumir los WS desde Delphi 7?.
Yo es que sigo con esa versión pero veo que no me importa bien los WDSL y si alguien ha avanzado algo al respecto le agradeceria algún consejo.

De todas formas tengo un plan B y un plan C, el B sería enviar los ficheros con SOAPUI en modo batch (parece que se puede hacer), y el plac C sería programar un cliente en C# u otro lenguaje más "modelno".

Gracias por adelantado y saludos.
Juan María.

jlegido 15-03-2017 20:30:15

Cita:

Empezado por keys (Mensaje 514351)
Por cierto. Han puesto un enlace nuevo donde su puede consultar todo lo que se ha presentado.

Un Saludo.

Hola Keys,

Puedes poner la direccion del enlace donde se puede consultar las facturas presentadas, porque no acabo de encontrarlo en la web de AEAT.
O es que se ha de hacer por codigo. Si asi fuera y tienes una pequeña muestra seria genial

Muchas gracias


La franja horaria es GMT +2. Ahora son las 21:19:16.

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