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

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #381  
Antiguo 20-03-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.591
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por keys Ver Mensaje
Una devolución de mercancias se supone que ha tenído una factura previa de venta. Si esta declarada previamente, la de devolución será una rectificativa.

Un Saludo.
Pero una devolución no necesariamente debe de provenir de UNA factura, un cliente puede estar retirando mercancía durante meses y luego llega y te devuelve cierta mercancía que puede provenir de quien sabe donde.

Cita:
Empezado por Nasca Ver Mensaje
Un rectificativa incremental lo soluciona todo de forma muy sencilla.

Nada de sustitutivas ni identificar factura/s rectificada/s.
Esa sería una solución, de esta manera ¿todas las facturas negativas serían rectificativas? o dicho de otra manera ¿no hay facturas "normales" en negativo?

Saludos
__________________
Be water my friend.
Responder Con Cita
  #382  
Antiguo 20-03-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Pero una devolución no necesariamente debe de provenir de UNA factura, un cliente puede estar retirando mercancía durante meses y luego llega y te devuelve cierta mercancía que puede provenir de quien sabe donde.

Esa sería una solución, de esta manera ¿todas las facturas negativas serían rectificativas? o dicho de otra manera ¿no hay facturas "normales" en negativo?
Efectivamente, puede haber varias facturas rectificadas, y así lo contempla el esquema:

Código:
<element name="FacturasRectificadas" minOccurs="0">
                <complexType>
                    <annotation>
                        <documentation xml:lang="es">El ID de las facturas rectificadas, únicamente se rellena en el caso de rectificación de facturas</documentation>
                    </annotation>
                    <sequence>
                        <element name="IDFacturaRectificada" type="sii:IDFacturaARType" maxOccurs="unbounded"/>
                    </sequence>
                </complexType>
            </element>
Por suerte en las FAQ dicen también que la identificación es opcional. En la misma línea del modelo 340.

Respecto a las negativas. Yo creo que se puede asumir sin mayor consecuencias que toda factura negativa es rectificativa.
Aunque también podría ser cierto que no todas las facturas rectificativas tienen que ser negativas. Las sustitutivas van en esa línea. Aunque no creo que haya muchas empresas que usen ese lío de Rectificativas - Sustitutivas.
Responder Con Cita
  #383  
Antiguo 20-03-2017
pprieto pprieto is offline
Registrado
NULL
 
Registrado: mar 2017
Posts: 8
Poder: 0
pprieto Va por buen camino
Hola a todos:

Antes de nada agradecer el fabuloso trabajo de todos y los ejemplos de código que me han resultado realmente útiles. Estoy intentando enviar un alta de factura normal con la versión 0.6 del webservice y me devuelve el siguiente error:

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

La única diferencia de mi XML que envío con el del ejemplo que aparece en el manual es que en el grupo de contraparte yo tengo un nodo denominado NIFRepresentante y en la documentación aparece como NIF. Al estar trabajando directamente con los objetos del WebService (en Vb .NET) no encuentro la manera de modificar el nombre del nodo.

Lo curioso es que si elimino ese grupo (el de contraparte) me da el error: "El argumento 'Prompt' no se puede convertir en el tipo 'String'".

¿A alguien le ha pasado lo mismo? ¿Existe una solución? Gracias.
Responder Con Cita
  #384  
Antiguo 20-03-2017
jmlazaro jmlazaro is offline
Registrado
NULL
 
Registrado: mar 2017
Posts: 5
Poder: 0
jmlazaro Va por buen camino
Cita:
Empezado por pprieto Ver Mensaje
Hola a todos:

Antes de nada agradecer el fabuloso trabajo de todos y los ejemplos de código que me han resultado realmente útiles. Estoy intentando enviar un alta de factura normal con la versión 0.6 del webservice y me devuelve el siguiente error:

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

La única diferencia de mi XML que envío con el del ejemplo que aparece en el manual es que en el grupo de contraparte yo tengo un nodo denominado NIFRepresentante y en la documentación aparece como NIF. Al estar trabajando directamente con los objetos del WebService (en Vb .NET) no encuentro la manera de modificar el nombre del nodo.

Lo curioso es que si elimino ese grupo (el de contraparte) me da el error: "El argumento 'Prompt' no se puede convertir en el tipo 'String'".

¿A alguien le ha pasado lo mismo? ¿Existe una solución? Gracias.
Hola pprieto.

A mí me pasaba lo mismo, lo solucioné poniendo contraparte.Item = "BXXXXXXX"

Espero que te funcione.

Saludos
Responder Con Cita
  #385  
Antiguo 20-03-2017
pprieto pprieto is offline
Registrado
NULL
 
Registrado: mar 2017
Posts: 8
Poder: 0
pprieto Va por buen camino
Cita:
Empezado por jmlazaro Ver Mensaje
Hola pprieto.

A mí me pasaba lo mismo, lo solucioné poniendo contraparte.Item = "BXXXXXXX"

Espero que te funcione.

Saludos
Muchas gracias jmlazaro. Con esto me ha funcionado perfectamente.
Responder Con Cita
  #386  
Antiguo 20-03-2017
Conrado Cueva Conrado Cueva is offline
Registrado
NULL
 
Registrado: mar 2017
Posts: 1
Poder: 0
Conrado Cueva Va por buen camino
Hola,

Buenos días a todos, soy nuevo en este grupo y me pongo en contacto con vosotros para ver si me podéis echar una mano con algunos problemas que tengo.

Antes de nada, me descargue Los Ejemplos que habéis publicado y después de hacer algunos ajustes según los ejemplos, sigo con el mismo problema que tenía.

Esta es la configuración que estoy utilizando:

defWSDL = ' https: // www7.aeat.es/ wlpl / SSII-FACT / ws / fr / SiiFactFRV1SOAP/ SuministroFactRecibidas.wsdl';
defSvc = 'siiService';
defPrt = 'SuministroFactRecibidasPruebas';

Y el certificado lo cargo según los ejemplos que me descargue (setCERTIFICADO(CERTIFICADO))


Cuando intento enviar una factura Recibida me muestra siempre este mensaje de error:

Proyect Proyect1.exe raised exception class EDOMParseError with message 'DTD está prohibido.

Line: 1
<!DOCTYPO html PUBLIC ' -//W3C//DTD XHTML'.


y si pongo lo siguiente para desactivar el DTD:

constructor SuministroLRFacturasRecibidas.Create;
begin
inherited Create;
FSerializationOptions := [xoLiteralParam];
MSXMLDOMDocumentFactory.AddDOMProperty('ProhibitDTD', False);
end;


Me muestra el siguiente error:

Proyect Proyect1.exe raised exception class Exception class Exception with message 'Unabled to load WSDL File/Location:
https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFRV1SOAP/SuministroFactRecibidas.wsdl. Error [Se encontró un carácter no válido en el contenido del texto.

Line: 9
<title>Gestí]'.


¿ Os ha ocurrido a vosotros algo parecido ?

¿ Podéis ayudarme ?

Gracias de antemano.

Saludos
Responder Con Cita
  #387  
Antiguo 20-03-2017
inyu inyu is offline
Miembro
NULL
 
Registrado: mar 2017
Posts: 48
Poder: 0
inyu Va por buen camino
Cita:
Empezado por bartag Ver Mensaje
Te pongo el código que utilizo. Básicamente lo que hace es tomar un archivo xml y lo envía. Debes por favor cumplimentar previamente los campos de dicho archivo pues en caso contrario te dará errores de validación.

Código:
        ' ----------------------------------------------------------------------------------------
        Dim store As Security.Cryptography.X509Certificates.X509Store = New Security.Cryptography.X509Certificates.X509Store("My")
        store.Open(Security.Cryptography.X509Certificates.OpenFlags.ReadOnly)

        Dim CertificadoCorrecto As New System.Security.Cryptography.X509Certificates.X509Certificate2
        
        For Each x In store.Certificates
            ListCert = ListCert & vbNewLine
        Next
        'RichTextBox1.Text = ListCert

        CertificadoCorrecto = store.Certificates(CInt(TextBoxNumeroOrdenCertificado.Text)) '(5)

        ' Objeto que almacenara la respuesta de la funcion del Web Service
        Dim resp As New ServiceReference1.RespuestaLRFEmitidasType

        ' Ws
        Dim Ws As New ServiceReference1.siiSOAPClient

        Ws.ClientCredentials.ClientCertificate.Certificate = CertificadoCorrecto
        Ws.ClientCredentials.UseIdentityConfiguration = True

        ' Asignamos el certificado:
        Ws.ClientCredentials.ClientCertificate.Certificate = CertificadoCorrecto
        ' ----------------------------------------------------------------------------------------


        ' ----------------------------------------------------------------------------------------
        Dim _SuministroLRFacturasEmitidas As New SuministroLRFacturasEmitidas
        '--------------------------------------------------------------------------
        
        Try

            Dim x As New XmlSerializer(_SuministroLRFacturasEmitidas.GetType, "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd") 

            ' A FileStream is needed to read the XML document.
            Dim filename As String = "facturaEmitidaMODEL.XML"


            Using reader As New FileStream(filename, FileMode.Open)
                _SuministroLRFacturasEmitidas = CType(x.Deserialize(reader), SuministroLRFacturasEmitidas)
            End Using

            ' SI QUEREMOS SOBREESCRIBIR EL XML ANTES DE ENVIAR:
            ' SOBREESCRIBIMOS DATS FORM ANTES SEND:
            _SuministroLRFacturasEmitidas.Cabecera.Titular.NombreRazon = Trim(TextBoxRazonSocialEmisor.Text)
            _SuministroLRFacturasEmitidas.Cabecera.Titular.NIF = Trim(TextBoxNIFEmisor.Text)

           '(...)

           '// se hace la llamada a la funcion suministrada por el WS
            resp = Ws.SuministroLRFacturasEmitidas(_SuministroLRFacturasEmitidas)

            Catch ex As Exception
            MsgBox(ex.Message)
            Respuesta2RichTextBox = ex.Message
        Finally
            'Me.Cursor = Cursors.Default
            'Threading.Thread.Sleep(5000)
            'ProgressBar1.Style = ProgressBarStyle.Continuous
            ''ProgressBar1.Value = ProgressBar1.Maximum
        End Try
Te adjunto también el archivo xml que debes cumplimentar donde indica '[A CUMPLIMENTAR]'.

Con esto, se toma la factura del archivo (fíjate que solamente tiene el nodo '<SuministroLRFacturasEmitidas>' y nada del encabezado SOAP para que no dé error al aplicar el Deserialize) y nos la convierte en un objeto serializado donde podemos acceder a los campos de la clase antes de enviar si lo deseamos; en caso contrario se envía y la propia llamada se encarga de insertar las cabeceras, los namespaces, etc.
Hola bartag. Gracias por tus aportaciones, me han aclarado bastante el tema.
Estoy intentando usar tu código pero tengo un problema cuando hago el Deserialize sobre el XML modelo que has adjuntado. Me da un error "There is an error in XML document (2, 2)", ¿sabes a qué puede ser debido?

Gracias.
Responder Con Cita
  #388  
Antiguo 20-03-2017
Virman Virman is offline
Miembro
 
Registrado: ene 2017
Posts: 67
Poder: 8
Virman Va por buen camino
Angry Eliminado por BUG en OPENTEXT

Tras actualizar a la nueva versión de WebService, me ha empezado a devolver este error al tratar de enviar cualquier tipo de factura:

{"El cliente encontró el tipo de contenido de respuesta 'text/html', pero se esperaba 'text/xml'.\r\nError de la solicitud con el mensaje de error:Proceso de conexión con la Sede Electrónica de la Agencia Tributaria en curso.<!-- Menu de UTILIDADES PREVIEW -->\r\n\t</div>\r\n</body>\r\n<!-- Eliminado por BUG en OPENTEXT render:trackDependencies/-->\r\n</html>\r\n\r\n--."}

A alguien le ha pasado eso también? Esta mañana me dejaba enviar sin problemas.
Responder Con Cita
  #389  
Antiguo 20-03-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Ahora la Agencia está muy lenta y no responde peticiones al WebService.
A ver si es por eso.
En lugar de procesar petición devuelve una respuesta diciendo que anda lenta.
Suele ser normal los días 20 por temas de presentación de 340.
No quiero ni imaginarme cuando entre en producción el SII.

Lo gracioso es que en lugar de devolver un código de error por saturación y punto devuelve una bonita web animada de 56 KB.
Es una buena oportunidad para añadir tolerancia a errores extraños al programa que gestiona el SII.

Última edición por Nasca fecha: 20-03-2017 a las 22:03:02.
Responder Con Cita
  #390  
Antiguo 20-03-2017
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 8
CMB Va por buen camino
El webservice no ha funcionado en casi toda la tarde

Cita:
Empezado por Nasca Ver Mensaje
Ahora la Agencia está muy lenta y no responde peticiones al WebService.
A ver si es por eso.
En lugar de procesar petición devuelve una respuesta diciendo que anda lenta.
Suele ser normal los días 20 por temas de presentación de 340.
No quiero ni imaginarme cuando entre en producción el SII.
A las 16:53 envié una prueba y recibí la respuesta. Cinco minutos después dejó de funcionar, incluso en el portal de pruebas y consultas externas. Y en este momento sigue igual.

Si eso pasa cuando esté en producción, el lío que se montaría sería responsabilidad de ellos, no nuestro. Nuestro software puede tener bugs, eso seguro, pero si falla el webservice nosotros tranquilos.
Responder Con Cita
  #391  
Antiguo 20-03-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Cita:
Empezado por CMB Ver Mensaje
A las 16:53 envié una prueba y recibí la respuesta. Cinco minutos después dejó de funcionar, incluso en el portal de pruebas y consultas externas. Y en este momento sigue igual.

Si eso pasa cuando esté en producción, el lío que se montaría sería responsabilidad de ellos, no nuestro. Nuestro software puede tener bugs, eso seguro, pero si falla el webservice nosotros tranquilos.
Me temo que no es tan sencillo. Por mi experiencia, no sería la primera vez que se les rompe una web y se lavan las manos.


Por si alguien tiene curiosidad por ver la respuesta en el navegador. Queda muy resultón con la barra animada, pero bastante inútil como respuesta para una petición SOAP.

Responder Con Cita
  #392  
Antiguo 20-03-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Tienes razón la web de consultas está igual. Devuelven el mismo mensaje.

Puede ser que haya tenido ataque o sobrecarga y hayan optado simplemente por desactivar los servicios no fundamentales.
Y de ahí que aún sea algo menos específico para un WebService.
Responder Con Cita
  #393  
Antiguo 20-03-2017
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 8
CMB Va por buen camino
Cita:
Empezado por Nasca Ver Mensaje
Tienes razón la web de consultas está igual. Devuelven el mismo mensaje.
Puede ser que haya tenido ataque o sobrecarga y hayan optado simplemente por desactivar los servicios no fundamentales.
Y de ahí que aún sea algo menos específico para un WebService.
Y si entras en Cliente de web service para el entorno de pruebas e intentas mandar un xml con facturas emitidas, sale un recuadro Error al enviar. Internal Server Error. Así desde las 16:53h de hoy. Y si lo haces desde tu programa por SOAP se queda colgado esperando la respuesta.

¿Quién está a cargo del todo el tema informático? ¿Los mismos funcionarios de Hacienda, o es una empresa externa?
Responder Con Cita
  #394  
Antiguo 21-03-2017
jonortsal jonortsal is offline
Miembro
NULL
 
Registrado: mar 2017
Posts: 10
Poder: 0
jonortsal Va por buen camino
Cita:
Empezado por inyu Ver Mensaje
Hola bartag. Gracias por tus aportaciones, me han aclarado bastante el tema.
Estoy intentando usar tu código pero tengo un problema cuando hago el Deserialize sobre el XML modelo que has adjuntado. Me da un error "There is an error in XML document (2, 2)", ¿sabes a qué puede ser debido?

Gracias.
Con este código, ¿qué modificación podemos hacer para que guarde el XML que enviamos (SOAP REQUEST) y el que recibimos (SOAP RESPONSE)
Gracias.
Responder Con Cita
  #395  
Antiguo 21-03-2017
javi_valencia44 javi_valencia44 is offline
Miembro
 
Registrado: mar 2017
Posts: 50
Poder: 8
javi_valencia44 Va por buen camino
A mi la nueva versión me da error en esta sección del código:

Public Shared Widening Operator CType(v As SuministroLRFacturasEmitidas) As SuministroLRFacturasEmitidas
Throw New NotImplementedException()
End Operator



Tras comentar este código y probar me da el mismo error que dice el compañero:

Cita:
Empezado por Virman Ver Mensaje
Tras actualizar a la nueva versión de WebService, me ha empezado a devolver este error al tratar de enviar cualquier tipo de factura:

{"El cliente encontró el tipo de contenido de respuesta 'text/html', pero se esperaba 'text/xml'.\r\nError de la solicitud con el mensaje de error:Proceso de conexión con la Sede Electrónica de la Agencia Tributaria en curso.<!-- Menu de UTILIDADES PREVIEW -->\r\n\t</div>\r\n</body>\r\n<!-- Eliminado por BUG en OPENTEXT render:trackDependencies/-->\r\n</html>\r\n\r\n--."}

A alguien le ha pasado eso también? Esta mañana me dejaba enviar sin problemas.
Responder Con Cita
  #396  
Antiguo 21-03-2017
pprieto pprieto is offline
Registrado
NULL
 
Registrado: mar 2017
Posts: 8
Poder: 0
pprieto Va por buen camino
Hola a todos:

¿Hay alguna manera de eliminar todas las facturas enviadas al portal de pruebas? De tanto enviar hay un jaleo importante y me gustaría "empezar desde cero".

Gracias!
Responder Con Cita
  #397  
Antiguo 21-03-2017
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 8
CMB Va por buen camino
Cita:
Empezado por pprieto Ver Mensaje
Hola a todos:
¿Hay alguna manera de eliminar todas las facturas enviadas al portal de pruebas? De tanto enviar hay un jaleo importante y me gustaría "empezar desde cero".
Gracias!
Yo no veo ninguna opción para hacerlo. Quizás la única manera sea enviar peticiones de baja, una para cada factura enviada, que eso sí que está previsto.

De todos modos, sería de gran utilidad hacer borrón y cuenta nueva. Si alguien lo sabe que tenga la amabilidad de publicarlo.

Saludos,
Responder Con Cita
  #398  
Antiguo 21-03-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Cita:
Empezado por CMB Ver Mensaje
Yo no veo ninguna opción para hacerlo. Quizás la única manera sea enviar peticiones de baja, una para cada factura enviada, que eso sí que está previsto.
De todos modos, sería de gran utilidad hacer borrón y cuenta nueva. Si alguien lo sabe que tenga la amabilidad de publicarlo.
La verdad es que si se hecha de menos esa opción.
La baja es una opción. Al enviar las anulaciones están disponibles un tiempo y luego desaparecen.
Entiendo que en producción no será así, por lo que parece que es la forma que han previsto de ir limpiando cosas en pruebas.
Responder Con Cita
  #399  
Antiguo 21-03-2017
pprieto pprieto is offline
Registrado
NULL
 
Registrado: mar 2017
Posts: 8
Poder: 0
pprieto Va por buen camino
Cita:
Empezado por Nasca Ver Mensaje
La verdad es que si se hecha de menos esa opción.
La baja es una opción. Al enviar las anulaciones están disponibles un tiempo y luego desaparecen.
Entiendo que en producción no será así, por lo que parece que es la forma que han previsto de ir limpiando cosas en pruebas.
¿Cuanto tiempo suelen tardar? Ayer anulé una de las facturas y sigue apareciendo como "Anulada". Me da la sensación que cuando estemos en producción no se va a poder borrar nada (aunque son elucubraciones mías).
Responder Con Cita
  #400  
Antiguo 21-03-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.591
Poder: 21
newtron Va camino a la fama
Hola.

Yo creo que las facturas anuladas no desaparecen, en la documentación se dice claramente que cuando se anula una factura, si quieres volver a enviarla debe de ser con otro número.

Por otro lado tampoco he visto ninguna forma de borrar lo ya enviado en pruebas así que lo que he hecho es poner como número de factura a los documentos una cadena que es la fecha+hora+minutos+segundos+un número de orden y de esa manera puedo enviar la misma factura todas las veces que quiera.

Saludos
__________________
Be water my friend.
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 4288 Hace 1 Día 13:58:30
AEAT envio de datos vía Webservice problemas con WSDL CelsoO Internet 11 09-10-2019 21:03:41
webService Soap de la Administración Digital Española notific@ apicito Internet 3 31-01-2017 12:25:28
Error en Webservice funcion envio de sms webmasterplc Delphi para la web 5 25-07-2013 21:10:29
Problemas con envío de XML a un WebService davidvamo Internet 1 13-02-2007 16:49:20


La franja horaria es GMT +2. Ahora son las 02:14:26.


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