Club Delphi  
    Paypal   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

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #2981  
Antiguo 19-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Por mi perfecto, pero sinceramente, los unicos fallos que he tenido, an sido generados por las mismas pruebas, porque los que se refieren a la estructura del xml por ejemplo, o los valores en los campos numericos, etc... los has de tener controlados antes de rellenar los mismos.
Por ejemplo si los campos numericos solopueden incluir 2 decimales y un unico punto decimal ".", hay que formatear la entarda del usuario o convertir los valores al respecto , par aevitar cualquier valor que infrinja la norma.
Como ese otros, por ejemplo el de registro duplicado, si nos cercioramos de que se graba siempre despues de generado y actualizamos el contador, es dificil enviar un duplicado, como ese muchos.
Los clientes verificar si estan censados los que usan dni, sino se asigna la casilla de no censado, que es un extranjero , usar el type adecuado...

Los que me asustan mas son los fallos de conexion.



Y realmente liarla parda con los abonos , rectificativas y todas esas cositas que nunca heusado
Errores conwxion
Error nif cliente mo coincide con nombre
Error hora
Solo por que tengamos claro que hay que hacer. Marcar incidencia. Rectificativa...
  #2982  
Antiguo 20-10-2024
jguarda jguarda is offline
Miembro
 
Registrado: feb 2008
Posts: 27
Poder: 0
jguarda Va por buen camino
dudas

Verifactu me dice que el nif con el que envio la factura no está dado de alta. Como habeís solucionado este tema.


Gracias
  #2983  
Antiguo 20-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por jguarda Ver Mensaje
Verifactu me dice que el nif con el que envio la factura no está dado de alta. Como habeís solucionado este tema.


Gracias
Hola, yo solo tengo ese problema si envio con un nif que no existe o de pruebas de estos tipos:Juan Español Español 12312312F
Comprueba que el nombre corresponda (al menos parcialmente) con el que está dado de alta en la aeat. por ejemplo no puedes poner un nif de persona fisica asociado a un nombre comercial.
  #2984  
Antiguo 20-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Importante Para Envios Con Curl Para Software Antiguo

Hola, creo que es importante que se ponga esto en el primer post. Puede que le "salve la vida" a más de uno que usa desarrollo antiguo, tipo vb 6.0 , delphis antiquísimos etc..

Para realizar los envios con la aplicación Curl.exe.
1. Encapsular el fichero xml en SOAP.
Para ello agregar al fichero el inicio y final del soap
Código PHP:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<
soapenv:Header />
<
soapenv:Body>
<
sum:RegFactuSistemaFacturacion>
....
..
</
sum:RegFactuSistemaFacturacion>
</
soapenv:Body>
</
soapenv:Envelope
Ojo hay que quitarle
Código PHP:
<?xml version="1.0" encoding="UTF-8"?>
y si habeis puesto el inicio del nodo RegFactuSistemaFacturacion con referencias quitarlas y dejarlas así:
Código PHP:
<sum:RegFactuSistemaFacturacion
Ya que las referencias ya estan en el soap, aunque lo mismo funciona poniendolo en uno o en otro, pero si lo dejas en los 2 no va a funcionar.


2.Enviar el fichero soap con CURL.exe

Os dejo el comando, al que podeis hacerle modificaciones
curl.exe --connect-timeout 300 -m 300 -k -L -d "@C:\....\VFac22223.xml" -o respuesta_
VFac22223.xml -D cabecera_VFac22223.xml --cert-type P12 --cert C:\...certificado.pfx:contraseña https://prewww1.aeat.es/wlpl/TIKE-CO.../VerifactuSOAP --trace respuestatrace_VFac22223.txt

Explico un poco:
-Para enviar de esta forma podeis tener en una carpeeta el certificado con el que enviais en formato pfx/pt2, aunque el comando curl tambien admite usar certificados desde un almacen en el que lo habeis importado, si lo necesitais desde almacen podeis buscar ayuda al respectgo por el google.
-Aunque para saber un poco más de los parametros curl podeis ejecutar curl --help all desde el cmd os dejo las explicaciones a los parametros que uso:
*Los timeouts, son los tiempos de espera en segundos, que aunque los he puesto un poco exagerados, por experiencia los prefiero tener así, ya que me he encontrado en situaciones de conexiones 2G o que usaban un router de datos con los datos agotados y al menos alarga unos megas mas los envios a velocidad lenta.
*La opción -k os quitará muchos dolores de cabeza, ya que a veces hay restricciones de envios por temas de firewall, seguridad..., y es para que no tenga en cuenta si ha caducado el certificado del propio curl o de vuestro propio sistema... pero no tiene nada que ver con que caduque el certificado electronico con el que enviais, si ese caduca, channn-- error---

*La opcion -L permite que haya redirecciones, no es necesario, pero lo activo por si acaso meten alguna redireccion
*La opcion -d seguida de la ruta completa del archivo a enviar entrecomillada y precedida por el simbolo arroba @ antes de la ruta, es el archivo a enviar, se precede por el @ parea que se envie y reciba en formato binario y nos aseguremos que los caracteres que enviamos no lleguen convertidos a otro sistema que no sea el UTF8.
*La opción -o seguida de la ruta completa de la respuesta, nos devolverá en un fichero la respuesta de Hacienda en formato XML. Aconsejo usarla con la respuesta de cabecera -D, ya que podemos ver previamente si hay conexion o no, o sea, el de cabecera nos proporciona informacion adicional sobre la conexion, el fichero de cabecera puede tener varios estados: uno de ellos es vacio o que no se genere(con lo cual no ha habido conexion) y si tiene contenido nos informa si la conexion ha sido ok, haced bastantes pruebas, quitando la red, mandando repetidos etc.
* La opción --trace, no es necesaria, solo para hacer alguna prueba más severa por que tengamos algun problema con alguna conexion en particular y queramos informacion muy específica de todo lo que esta haciendo el comando.
* La opcion --cert-type P12 --cert continuada por el nombre del fichero(certificado pfx/pt2), continuada por dos puntos ":" y la contraseña indicamos que estamos enviando con un certificado de un fichero que tenemos donde indicamos. Debeis tener especial cuidad con este comando de no dejar rastros, no es aconsejable crear un .bat ni nada de eso, y tened en cuenta que es un pelin inseguro por temas que no voy a decir aquí.
* Y ya por ultimo el servidor para las altas de facturas:
https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP


Nota:
Podeis tener problemas con el servidor si teneis un router con tarjeta de datos 3g/4g/5g si el proveedor os han metido CG-NAT (de repente) o s han puesto en un blacklist, para saberlo receibirais al conectar un error 443, normalmente no es problema del firewall, que ese es otro tema, para corregir el problema teneis 2 opciones, o llamais al proveedor y os lo soluciona (le decis que os saque del CG-NAT) o cambias la tarjeta de datos.
Os lo digo por si quereis meter ese control en las respuestas, ya que no es un error frecuente y os puede también dar dolores de cabeza.

Última edición por ermendalenda fecha: 20-10-2024 a las 10:13:10.
  #2985  
Antiguo 20-10-2024
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 194
Poder: 7
unomasmas Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Hola, una cosa las etiquetas de cierre no llevan referencia, no se la incluyas o al parsear te dara error.


Código:
Esto ,

</sum1:FechaHoraHusoGenRegistro>
Es asi:

</FechaHoraHusoGenRegistro>
Las etiquetas de cierre nisiquiera pueden incluir espacios en blanco a no ser que sean parte del nombre
Desde luego, todavía más limpio sin referencia en las etiquetas de cierre pero he hecho pruebas con etiquetas de cierre con referencia y no ha presentado ningún problema. También me fijo en que ellos devuelven la respuesta con etiquetas de cierre con referencia...

¿Qué error te da al parsear?
  #2986  
Antiguo 20-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Habría que preguntar a Verifactu cuanto tiempo Dan para cambiar la versión y esquema de envíos después de cada cambio para que no devuelvan error o
, dicho de otra forma, durante cuanto tiempo aceptaran las versiones anteriores después de una modificación, a ver si no nos podemos ir de vacaciones

Última edición por ermendalenda fecha: 20-10-2024 a las 10:59:33.
  #2987  
Antiguo 20-10-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 862
Poder: 3
bmfranky Va por buen camino
Para los errores de dni no censado.

Cita:
Errores conwxion
1-> Error nif cliente mo coincide con nombre
2-> Error hora
Solo por que tengamos claro que hay que hacer. Marcar incidencia. Rectificativa...
Cita:
Empezado por jguarda Ver Mensaje
3-> Verifactu me dice que el nif con el que envio la factura no está dado de alta. Como habeís solucionado este tema.


Gracias

Hola, para los casos 2 y 3 hay una solucion propuesta por la misma administracion, porque puede ser perfectamente que un cliente no este censado en hacienda y al reenviarpor un corte seguro estamos fuera, de la hora de generacion fijo.


Para el caso 1 y 3 uso la misma solucion, compruebo la estructura que este bien formado, que no lo haya introducido mal.
Código:
   class verificaDniCif
    {
       public static Boolean valida_NIFCIFNIE(string data)
        {
            if (String.IsNullOrEmpty(data) || data.Length < 8)
                return false;

            var initialLetter = data.Substring(0, 1).ToUpper();
            if (Char.IsLetter(data, 0))
            {
                switch (initialLetter)
                {
                    case "X":
                        data = "0" + data.Substring(1, data.Length - 1);
                        return validarNIF(data);
                    case "Y":
                        data = "1" + data.Substring(1, data.Length - 1);
                        return validarNIF(data);
                    case "Z":
                        data = "2" + data.Substring(1, data.Length - 1);
                        return validarNIF(data);
                    default:
                        if (new Regex("[A-Za-z][0-9]{7}[A-Za-z0-9]{1}$").Match(data).Success)
                            return validadCIF(data);
                        break;
                }
            }
            else if (Char.IsLetter(data, data.Length - 1))
            {
                if (new Regex("[0-9]{8}[A-Za-z]").Match(data).Success || new Regex("[0-9]{7}[A-Za-z]").Match(data).Success)
                    return validarNIF(data);
            }
            return false;
        }

        private static string getLetra(int id)
        {
            Dictionary<int, String> letras = new Dictionary<int, string>();
            letras.Add(0, "T");
            letras.Add(1, "R");
            letras.Add(2, "W");
            letras.Add(3, "A");
            letras.Add(4, "G");
            letras.Add(5, "M");
            letras.Add(6, "Y");
            letras.Add(7, "F");
            letras.Add(8, "P");
            letras.Add(9, "D");
            letras.Add(10, "X");
            letras.Add(11, "B");
            letras.Add(12, "N");
            letras.Add(13, "J");
            letras.Add(14, "Z");
            letras.Add(15, "S");
            letras.Add(16, "Q");
            letras.Add(17, "V");
            letras.Add(18, "H");
            letras.Add(19, "L");
            letras.Add(20, "C");
            letras.Add(21, "K");
            letras.Add(22, "E");
            return letras[id];
        }

        private static bool validarNIF(string data)
        {
            if (data == String.Empty)
                return false;
            try
            {
                String letra;
                letra = data.Substring(data.Length - 1, 1);
                data = data.Substring(0, data.Length - 1);
                int nifNum = int.Parse(data);
                int resto = nifNum % 23;
                string tmp = getLetra(resto);
                if (tmp.ToLower() != letra.ToLower())
                    return false;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return false;
            }
            return true;
        }

        private static bool validadCIF(string data)
        {
            try
            {
                int pares = 0;
                int impares = 0;
                int suma;
                string ultima;
                int unumero;
                string[] uletra = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "0" };
                string[] fletra = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };
                int[] fletra1 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
                string xxx;

                /*
                * T      P      P      N  N  N  N  N  C
                Siendo:
                T: Letra de tipo de Organización, una de las siguientes: A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S.
                P: Código provincial.
                N: Númeración secuenial dentro de la provincia.
                C: Dígito de control, un número ó letra: Aó1,Bó2,Có3,Dó4,Eó5,Fó6,Gó7,Hó8,Ió9,Jó0.
                *
                *
                A.    Sociedades anónimas.
                B.    Sociedades de responsabilidad limitada.
                C.    Sociedades colectivas.
                D.    Sociedades comanditarias.
                E.    Comunidades de bienes y herencias yacentes.
                F.    Sociedades cooperativas.
                G.    Asociaciones.
                H.    Comunidades de propietarios en régimen de propiedad horizontal.
                I.    Sociedades civiles, con o sin personalidad jurídica.
                J.    Corporaciones Locales.
                K.    Organismos públicos.
                L.    Congregaciones e instituciones religiosas.
                M.    Órganos de la Administración del Estado y de las Comunidades Autónomas.
                N.    Uniones Temporales de Empresas.
                O.    Otros tipos no definidos en el resto de claves.

                */
                data = data.ToUpper();

                ultima = data.Substring(8, 1);

                int cont = 1;
                for (cont = 1; cont < 7; cont++)
                {
                    xxx = (2 * int.Parse(data.Substring(cont++, 1))) + "0";
                    impares += int.Parse(xxx.ToString().Substring(0, 1)) + int.Parse(xxx.ToString().Substring(1, 1));
                    pares += int.Parse(data.Substring(cont, 1));
                }

                xxx = (2 * int.Parse(data.Substring(cont, 1))) + "0";
                impares += int.Parse(xxx.Substring(0, 1)) + int.Parse(xxx.Substring(1, 1));

                suma = pares + impares;
                unumero = int.Parse(suma.ToString().Substring(suma.ToString().Length - 1, 1));
                unumero = 10 - unumero;
                if (unumero == 10) unumero = 0;

                if ((ultima == unumero.ToString()) || (ultima == uletra[unumero - 1]))
                    return true;
                else
                    return false;

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return false;
            }
        }
    }
Si esta correcto compruebo el Nif con hacienda usando la opcion de buscar los datos del nif en hacienda.http://www2.agenciatributaria.gob.es...ws/VNifV2.wsdl
Código:
        /// <summary>
        /// Comprueba si un CIF/NIf esta censado
        /// </summary>
        /// <returns>Si o No segun el estado del censo</returns>
        public string Censado()
        {
            string censado = "No";
            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            Salida respuestaNif = new Salida();
            Entrada checaNif = new Entrada();
            VNifV2EntContribuyente contribuyente = new VNifV2EntContribuyente();
            contribuyente.Nif = Dni.Text;
            contribuyente.Nombre = Apellido1.Text + " " + Apellido2.Text + " " + nom.Text;
            VNifV2EntContribuyente[] contrib = new VNifV2EntContribuyente[1];
            contrib[0] = contribuyente;
            checaNif.VNifV2Ent = contrib;
            VNifV2Client checa = new VNifV2Client("VNifPort1");
            checa.ClientCredentials.ClientCertificate.Certificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(Program.certificado, Program.passcertificado);
            checa.ClientCredentials.UseIdentityConfiguration = true;
            checa.ClientCredentials.SupportInteractive = true;
            VNifV2SalContribuyente nifsalida = new VNifV2SalContribuyente();

            var resultado = checa.VNifV2(checaNif);
            if(resultado.VNifV2Sal[0].Resultado == "IDENTIFICADO")
            {
                txtCensado.BackColor = Color.Green;
                censado = "Si";
            }
            else
            {
                txtCensado.BackColor = Color.Red;
                MessageBox.Show("El cliente no esta censado en hacienda o sus datos son incorrectos, por favor reviselo , o no se podra utilizar para enviar le facturas.");
            }
            return censado;
        }
Si el CIF/NIF esta bien estructurado , pero no censado, se usa el tipo IDotro, rellenando todos los campos y estableciendo el idtype en 7, no censado
Código:
idOtro.IDType = PersonaFisicaJuridicaIDTypeType.Item07;
En cuanto a la hora , el numero 2, dan la opcion de consignar Incidencia, para que no tenga en cuenta la hora,
Cita:
Buenas tardes:
Este es un error de los denominados admisibles (ver documento de validaciones, apartado "4.3 Tratamiento de los errores admisibles ") y debido a ello se admitirá el registro. Este error en concreto, se excepciona de la necesidad de ser subsanado por lo que necesitarían realizar ninguna subsanación posteriormente.
Otra cuestión a tener en cuenta, es que está previsto que los sistemas informáticos de facturación, tengan indisponibilidades como cortes de luz, falta de conexión, fallos en el sistema , etc. y se pueda superar el tiempo establecido...En esos casos deben activar el campo "Incidencia" (ver diseño de registro, hoja "1)DR Remisión Alta-Anul.VF-Req.") para que no les aparezca dicho error
Por otro lado, en vuestro caso que rellenais a pelo el xml, deveriais intentar rellenar lo ultimo le Timestamp para que tengais el mayor margen posible.
  #2988  
Antiguo 20-10-2024
jguarda jguarda is offline
Miembro
 
Registrado: feb 2008
Posts: 27
Poder: 0
jguarda Va por buen camino
duda

Yo en mi sistema, para componer el nro de factura me baso en el año, de esta manera, cada nuevo ejercicio o año, el programa comienza con el nro 1 de factura, xq la serie por asi decirlo cambia. es decir.


ejercicio 2024 -> 2024.XXXXX1 donde XXXXX1 es el nro de factura, comenzando por el nro. 1. en cada ejercicio.

ejercicio 2025 -> 2025.XXXXX1

ejercicio 2026 -> 2026.XXXXX1


¿ que ocurre entonces con el encadenamiento ?.


supongo que la primera factura de cada ejercicio nuevo, se envia sin encadenamiento no ?, por asi decirlo, es como si empezara desde cero o como lo habeis implementado vosotros ??


He visto algun programa, que el nro de factura siempre va creciendo, es decir, si llevase 6-7 años usándolo puede estar por un nro de factura enorme ... independiente del ejercicio, esto para mi supone un follon de tres pares ... cambiaria toda la lógica del programa con lo q eso supone.
  #2989  
Antiguo 20-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por jguarda Ver Mensaje
Yo en mi sistema, para componer el nro de factura me baso en el año, de esta manera, cada nuevo ejercicio o año, el programa comienza con el nro 1 de factura, xq la serie por asi decirlo cambia. es decir.


ejercicio 2024 -> 2024.XXXXX1 donde XXXXX1 es el nro de factura, comenzando por el nro. 1. en cada ejercicio.

ejercicio 2025 -> 2025.XXXXX1

ejercicio 2026 -> 2026.XXXXX1


¿ que ocurre entonces con el encadenamiento ?.


supongo que la primera factura de cada ejercicio nuevo, se envia sin encadenamiento no ?, por asi decirlo, es como si empezara desde cero o como lo habeis implementado vosotros ??


He visto algun programa, que el nro de factura siempre va creciendo, es decir, si llevase 6-7 años usándolo puede estar por un nro de factura enorme ... independiente del ejercicio, esto para mi supone un follon de tres pares ... cambiaria toda la lógica del programa con lo q eso supone.
Es correcta tu for a de actuar, puedes empezar por el numero 1
,pero tienes que seguir encadenando con el último del año anterior, recuerda que el encadenamiento no es por serie es por orden cronológico, independientemente de la serie. Puedes encadenar 2 registros de series distintos y de distintos años.
  #2990  
Antiguo 20-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Hola, para los casos 2 y 3 hay una solucion propuesta por la misma administracion, porque puede ser perfectamente que un cliente no este censado en hacienda y al reenviarpor un corte seguro estamos fuera, de la hora de generacion fijo.


Para el caso 1 y 3 uso la misma solucion, compruebo la estructura que este bien formado, que no lo haya introducido mal.
Código:
   class verificaDniCif
    {
       public static Boolean valida_NIFCIFNIE(string data)
        {
            if (String.IsNullOrEmpty(data) || data.Length < 8)
                return false;

            var initialLetter = data.Substring(0, 1).ToUpper();
            if (Char.IsLetter(data, 0))
            {
                switch (initialLetter)
                {
                    case "X":
                        data = "0" + data.Substring(1, data.Length - 1);
                        return validarNIF(data);
                    case "Y":
                        data = "1" + data.Substring(1, data.Length - 1);
                        return validarNIF(data);
                    case "Z":
                        data = "2" + data.Substring(1, data.Length - 1);
                        return validarNIF(data);
                    default:
                        if (new Regex("[A-Za-z][0-9]{7}[A-Za-z0-9]{1}$").Match(data).Success)
                            return validadCIF(data);
                        break;
                }
            }
            else if (Char.IsLetter(data, data.Length - 1))
            {
                if (new Regex("[0-9]{8}[A-Za-z]").Match(data).Success || new Regex("[0-9]{7}[A-Za-z]").Match(data).Success)
                    return validarNIF(data);
            }
            return false;
        }

        private static string getLetra(int id)
        {
            Dictionary<int, String> letras = new Dictionary<int, string>();
            letras.Add(0, "T");
            letras.Add(1, "R");
            letras.Add(2, "W");
            letras.Add(3, "A");
            letras.Add(4, "G");
            letras.Add(5, "M");
            letras.Add(6, "Y");
            letras.Add(7, "F");
            letras.Add(8, "P");
            letras.Add(9, "D");
            letras.Add(10, "X");
            letras.Add(11, "B");
            letras.Add(12, "N");
            letras.Add(13, "J");
            letras.Add(14, "Z");
            letras.Add(15, "S");
            letras.Add(16, "Q");
            letras.Add(17, "V");
            letras.Add(18, "H");
            letras.Add(19, "L");
            letras.Add(20, "C");
            letras.Add(21, "K");
            letras.Add(22, "E");
            return letras[id];
        }

        private static bool validarNIF(string data)
        {
            if (data == String.Empty)
                return false;
            try
            {
                String letra;
                letra = data.Substring(data.Length - 1, 1);
                data = data.Substring(0, data.Length - 1);
                int nifNum = int.Parse(data);
                int resto = nifNum % 23;
                string tmp = getLetra(resto);
                if (tmp.ToLower() != letra.ToLower())
                    return false;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return false;
            }
            return true;
        }

        private static bool validadCIF(string data)
        {
            try
            {
                int pares = 0;
                int impares = 0;
                int suma;
                string ultima;
                int unumero;
                string[] uletra = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "0" };
                string[] fletra = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };
                int[] fletra1 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
                string xxx;

                /*
                * T      P      P      N  N  N  N  N  C
                Siendo:
                T: Letra de tipo de Organización, una de las siguientes: A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S.
                P: Código provincial.
                N: Númeración secuenial dentro de la provincia.
                C: Dígito de control, un número ó letra: Aó1,Bó2,Có3,Dó4,Eó5,Fó6,Gó7,Hó8,Ió9,Jó0.
                *
                *
                A.    Sociedades anónimas.
                B.    Sociedades de responsabilidad limitada.
                C.    Sociedades colectivas.
                D.    Sociedades comanditarias.
                E.    Comunidades de bienes y herencias yacentes.
                F.    Sociedades cooperativas.
                G.    Asociaciones.
                H.    Comunidades de propietarios en régimen de propiedad horizontal.
                I.    Sociedades civiles, con o sin personalidad jurídica.
                J.    Corporaciones Locales.
                K.    Organismos públicos.
                L.    Congregaciones e instituciones religiosas.
                M.    Órganos de la Administración del Estado y de las Comunidades Autónomas.
                N.    Uniones Temporales de Empresas.
                O.    Otros tipos no definidos en el resto de claves.

                */
                data = data.ToUpper();

                ultima = data.Substring(8, 1);

                int cont = 1;
                for (cont = 1; cont < 7; cont++)
                {
                    xxx = (2 * int.Parse(data.Substring(cont++, 1))) + "0";
                    impares += int.Parse(xxx.ToString().Substring(0, 1)) + int.Parse(xxx.ToString().Substring(1, 1));
                    pares += int.Parse(data.Substring(cont, 1));
                }

                xxx = (2 * int.Parse(data.Substring(cont, 1))) + "0";
                impares += int.Parse(xxx.Substring(0, 1)) + int.Parse(xxx.Substring(1, 1));

                suma = pares + impares;
                unumero = int.Parse(suma.ToString().Substring(suma.ToString().Length - 1, 1));
                unumero = 10 - unumero;
                if (unumero == 10) unumero = 0;

                if ((ultima == unumero.ToString()) || (ultima == uletra[unumero - 1]))
                    return true;
                else
                    return false;

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return false;
            }
        }
    }
Si esta correcto compruebo el Nif con hacienda usando la opcion de buscar los datos del nif en hacienda.http://www2.agenciatributaria.gob.es...ws/VNifV2.wsdl
Código:
        /// <summary>
        /// Comprueba si un CIF/NIf esta censado
        /// </summary>
        /// <returns>Si o No segun el estado del censo</returns>
        public string Censado()
        {
            string censado = "No";
            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            Salida respuestaNif = new Salida();
            Entrada checaNif = new Entrada();
            VNifV2EntContribuyente contribuyente = new VNifV2EntContribuyente();
            contribuyente.Nif = Dni.Text;
            contribuyente.Nombre = Apellido1.Text + " " + Apellido2.Text + " " + nom.Text;
            VNifV2EntContribuyente[] contrib = new VNifV2EntContribuyente[1];
            contrib[0] = contribuyente;
            checaNif.VNifV2Ent = contrib;
            VNifV2Client checa = new VNifV2Client("VNifPort1");
            checa.ClientCredentials.ClientCertificate.Certificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(Program.certificado, Program.passcertificado);
            checa.ClientCredentials.UseIdentityConfiguration = true;
            checa.ClientCredentials.SupportInteractive = true;
            VNifV2SalContribuyente nifsalida = new VNifV2SalContribuyente();

            var resultado = checa.VNifV2(checaNif);
            if(resultado.VNifV2Sal[0].Resultado == "IDENTIFICADO")
            {
                txtCensado.BackColor = Color.Green;
                censado = "Si";
            }
            else
            {
                txtCensado.BackColor = Color.Red;
                MessageBox.Show("El cliente no esta censado en hacienda o sus datos son incorrectos, por favor reviselo , o no se podra utilizar para enviar le facturas.");
            }
            return censado;
        }
Si el CIF/NIF esta bien estructurado , pero no censado, se usa el tipo IDotro, rellenando todos los campos y estableciendo el idtype en 7, no censado
Código:
idOtro.IDType = PersonaFisicaJuridicaIDTypeType.Item07;
En cuanto a la hora , el numero 2, dan la opcion de consignar Incidencia, para que no tenga en cuenta la hora,
Por otro lado, en vuestro caso que rellenais a pelo el xml, deveriais intentar rellenar lo ultimo le Timestamp para que tengais el mayor margen posible.
Gracias
Ya .as o menos se vé por donde van
Yo antes de enviar voy a comprobar la hora del registro y le meto incidencia si ha pasado por ejemplo 100 segundos, ya veo que si no es muy habitual quenle mandes todo fuera de hora tampoco te van a decir nada.
  #2991  
Antiguo 20-10-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 862
Poder: 3
bmfranky Va por buen camino
El encadenamiento sera eterno...

Cita:
Empezado por jguarda Ver Mensaje
Yo en mi sistema, para componer el nro de factura me baso en el año, de esta manera, cada nuevo ejercicio o año, el programa comienza con el nro 1 de factura, xq la serie por asi decirlo cambia. es decir.


ejercicio 2024 -> 2024.XXXXX1 donde XXXXX1 es el nro de factura, comenzando por el nro. 1. en cada ejercicio.

ejercicio 2025 -> 2025.XXXXX1

ejercicio 2026 -> 2026.XXXXX1


¿ que ocurre entonces con el encadenamiento ?.


supongo que la primera factura de cada ejercicio nuevo, se envia sin encadenamiento no ?, por asi decirlo, es como si empezara desde cero o como lo habeis implementado vosotros ??


He visto algun programa, que el nro de factura siempre va creciendo, es decir, si llevase 6-7 años usándolo puede estar por un nro de factura enorme ... independiente del ejercicio, esto para mi supone un follon de tres pares ... cambiaria toda la lógica del programa con lo q eso supone.
Hola realmete podriais crear tablas de encadenamiento diferentes por año, pero tened en cuenta , que el primer encadenamiento, siempre sera el ultimo del año anterior, podeis por ejemplo verificar la fecha al crear el encadenamiento , si es posterior al 1 enero de año en curso y no exite la tabla "ENCADENAMIENTO2025" , usamos el untimo registro del año pasado como semilla y Lo guardamos como el primero de este año, asi evitamos llenar la tabla si hay demasiados registros.
Esto es personalmente lo que hago para guardar las facturas, asi siempre empiezo el año con el numero 1/AÑO, ademas que simplemente consulto el numero de registros de la tabla , para saber el numero de factura a asignar.
Tened tambien en cuenta , que se tiene que establecer el regitro numero 1 el dia que porfin entre en vigor la ley, ahunque esto es realmente obbio.
  #2992  
Antiguo 20-10-2024
[email protected] frrr@grupo3rs.c is offline
Miembro
 
Registrado: mar 2024
Posts: 116
Poder: 3
frrr@grupo3rs.c Va por buen camino
Mensaje ERROR devuelto al encapsular el envio de una factura

Estoy intentado enviar el xml de ALTA DE FACTURA, ya no detecta errores, y al enviar ,

ESTAS SON LA PRIMERA LINEAS, SIN EL SOAP ENVELOPE

<sum:RegFactuSistemaFacturacion xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<sum1:Cabecera>
<sum1:ObligadoEmision>
la AEAT responde con :


ESTA ES LA RESPUESTA DE AEAT:

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Server</faultcode><faultstring>Codigo[1207].Se esperaba nodo {http://schemas.xmlsoap.org/soap/envelope/}Envelope y ha venido {https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd}RegFactuSistemaFacturacion</faultstring></env:Fault></env:Body></env:Envelope>



Despues de seguir vuestros consejos respecto a encapsular antes de enviar, lo hago y me responde como que tengo error en la huella. ??? :


ESTAS SON LAS LINEAS QUE HE AÑADIDO AL PRINCIPIO
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<sum:RegFactuSistemaFacturacion xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<sum1:Cabecera>


Y AL FINAL CIEERO LAS MISMAS

</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>

Y ESTA ES LA RESPUESTA DE LA AEAT:


<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body Id="Body"><tikR:RespuestaRegFactuSistemaFacturacion xmlns:tik="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:tikR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaSuministro.xsd"><tikR:Cabecera><tik:ObligadoEmision><tik:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</tik:NombreRazon><tik:NIF>33461360V</tik:NIF></tik:ObligadoEmision></tikR:Cabecera><tikR:TiempoEsperaEnvio>60</tikR:TiempoEsperaEnvio><tikR:EstadoEnvio>Incorrecto</tikR:EstadoEnvio><tikR:RespuestaLinea><tikR:IDFactura><tik:IDEmisorFactura>33461360V</tik:IDEmisorFactura><tik:NumSerieFactura>2024</tik:NumSerieFactura><tik:FechaExpedicionFactura>15-10-2024</tik:FechaExpedicionFactura></tikR:IDFactura><tikR:Operacion><tik:TipoOperacion/></tikR:Operacion><tikR:EstadoRegistro>Incorrecto</tikR:EstadoRegistro><tikR:CodigoErrorRegistro>1100</tikR:CodigoErrorRegistro><tikRescripcionErrorRegistro>Valor o tipo incorrecto del campo.: Huella</tikRescripcionErrorRegistro></tikR:RespuestaLinea></tikR:RespuestaRegFactuSistemaFacturacion>
</env:Body></env:Envelope>


Alguien puede orientarme al respecto.
  #2993  
Antiguo 20-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por [email protected] Ver Mensaje
Estoy intentado enviar el xml de ALTA DE FACTURA, ya no detecta errores, y al enviar ,

ESTAS SON LA PRIMERA LINEAS, SIN EL SOAP ENVELOPE

<sum:RegFactuSistemaFacturacion xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<sum1:Cabecera>
<sum1:ObligadoEmision>
la AEAT responde con :


ESTA ES LA RESPUESTA DE AEAT:

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Server</faultcode><faultstring>Codigo[1207].Se esperaba nodo {http://schemas.xmlsoap.org/soap/envelope/}Envelope y ha venido {https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd}RegFactuSistemaFacturacion</faultstring></env:Fault></env:Body></env:Envelope>



Despues de seguir vuestros consejos respecto a encapsular antes de enviar, lo hago y me responde como que tengo error en la huella. ??? :


ESTAS SON LAS LINEAS QUE HE AÑADIDO AL PRINCIPIO
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<sum:RegFactuSistemaFacturacion xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<sum1:Cabecera>


Y AL FINAL CIEERO LAS MISMAS

</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>

Y ESTA ES LA RESPUESTA DE LA AEAT:


<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body Id="Body"><tikR:RespuestaRegFactuSistemaFacturacion xmlns:tik="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:tikR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaSuministro.xsd"><tikR:Cabecera><tik:ObligadoEmision><tik:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</tik:NombreRazon><tik:NIF>33461360V</tik:NIF></tik:ObligadoEmision></tikR:Cabecera><tikR:TiempoEsperaEnvio>60</tikR:TiempoEsperaEnvio><tikR:EstadoEnvio>Incorrecto</tikR:EstadoEnvio><tikR:RespuestaLinea><tikR:IDFactura><tik:IDEmisorFactura>33461360V</tik:IDEmisorFactura><tik:NumSerieFactura>2024</tik:NumSerieFactura><tik:FechaExpedicionFactura>15-10-2024</tik:FechaExpedicionFactura></tikR:IDFactura><tikR:Operacion><tik:TipoOperacion/></tikR:Operacion><tikR:EstadoRegistro>Incorrecto</tikR:EstadoRegistro><tikR:CodigoErrorRegistro>1100</tikR:CodigoErrorRegistro><tikRescripcionErrorRegistro>Valor o tipo incorrecto del campo.: Huella</tikRescripcionErrorRegistro></tikR:RespuestaLinea></tikR:RespuestaRegFactuSistemaFacturacion>
</env:Body></env:Envelope>


Alguien puede orientarme al respecto.
Puedes estar enviando como primer registro sin encadenamiento? a mi eso me ha fallado y aun no sé por qué
Y revisa también que sea envel soap donde se definan los prefijos y no en el nodo de <RegFactu...

Última edición por ermendalenda fecha: 20-10-2024 a las 17:11:22.
  #2994  
Antiguo 20-10-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 862
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Puedes estar enviando como primer registro sin encadenamiento? a mi eso me ha fallado y aun no sé por qué
Y revisa también que sea envel soap donde se definan los prefijos y no en el nodo de <RegFactu...
Hola, es el primer registro, lo has tenido en cuenta al generar la huella, no has de consignar datos, solo poner primer registro.


Puede poner el registro completo, para revisarlo?
  #2995  
Antiguo 20-10-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 862
Poder: 3
bmfranky Va por buen camino
Tiempo de respuesta

Bueno aun no estamos en produccion y ya empezamos con el royo.
Cita:
El canal de solicitud agotó el tiempo de espera mientras esperaba una respuesta después de 00:00:59.8814458. Aumente el valor de tiempo de espera pasado a la llamada a Request, o bien aumente el valor de SendTimeout en el enlace. El tiempo asignado a esta operación puede haber sido una parte de un tiempo de espera mayor.
Imagino que vosotros lo pondriais en una funcion que lo reenvie automatico en por ejemplo 10"?, Asignando incidencia y sin mas, yo voy a aprovechar pa rescatar las facturas proforma y provar el reenvio.
  #2996  
Antiguo 20-10-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 862
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Bueno aun no estamos en produccion y ya empezamos con el royo.

Imagino que vosotros lo pondriais en una funcion que lo reenvie automatico en por ejemplo 10"?, Asignando incidencia y sin mas, yo voy a aprovechar pa rescatar las facturas proforma y provar el reenvio.
Una hora mas tarde... Sigue sin poderse enviar nada, soy al unico que le pasa??
  #2997  
Antiguo 20-10-2024
jguarda jguarda is offline
Miembro
 
Registrado: feb 2008
Posts: 27
Poder: 0
jguarda Va por buen camino
dudas

imaginate lo que va a pasar cuando mas de 4-5 millones de negocios, pyme, autonomos, grandes empresas, etc, empiezen a enviar simultáneamente todo a saco... jejeje


no se vá a poder vender, mis clientes me van a llamar cagandose en todo, y yo le diré que, apague el tpv y venda con la libreta, cada vez que repare un zapato, o venda un tarro de crema, o unos cordones, q se vayan a la delegación de hacienda más proxima, pida cita previa, y le entregue el papel con la venta...
  #2998  
Antiguo 20-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por jguarda Ver Mensaje
imaginate lo que va a pasar cuando mas de 4-5 millones de negocios, pyme, autonomos, grandes empresas, etc, empiezen a enviar simultáneamente todo a saco... jejeje


no se vá a poder vender, mis clientes me van a llamar cagandose en todo, y yo le diré que, apague el tpv y venda con la libreta, cada vez que repare un zapato, o venda un tarro de crema, o unos cordones, q se vayan a la delegación de hacienda más proxima, pida cita previa, y le entregue el papel con la venta...
Que no puedas enviar wn un momento dado no quiere decir que no puedas vender, tienes que enviar de manera asíncrona, es decir no tienes que esperara a que termine el envío,, lo tienes que poner en segundo plano, sobre todo por las incidencias que pueda haber.
  #2999  
Antiguo 20-10-2024
[email protected] frrr@grupo3rs.c is offline
Miembro
 
Registrado: mar 2024
Posts: 116
Poder: 3
frrr@grupo3rs.c Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Puedes estar enviando como primer registro sin encadenamiento? a mi eso me ha fallado y aun no sé por qué
Y revisa también que sea envel soap donde se definan los prefijos y no en el nodo de <RegFactu...

Código:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<soapenv:Header/>
<soapenv:Body>
<sum:RegFactuSistemaFacturacion>
<sum1:Cabecera>
<sum1:ObligadoEmision>
<sum1:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</sum1:NombreRazon>
<sum1:NIF>33461360V</sum1:NIF>
</sum1:ObligadoEmision>
</sum1:Cabecera>
<sum:RegistroFactura>
<sum:RegistroAlta>
<sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:IDFactura>
<sum1:IDEmisorFactura>33461360V</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>2024</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>15-10-2024</sum1:FechaExpedicionFactura>
</sum1:IDFactura>
<sum1:NombreRazonEmisor>HECTOR RAFAEL RODRIGO SANCHEZ</sum1:NombreRazonEmisor>
<sum1:TipoFactura>F1</sum1:TipoFactura>
<sum1:DescripcionOperacion>VENTA</sum1:DescripcionOperacion>
<sum1:Destinatarios>
<sum1:IDDestinatario>
<sum1:NombreRazon>VENTAS CONTADO</sum1:NombreRazon>
<sum1:NIF>19823568Y</sum1:NIF>
</sum1:IDDestinatario>
</sum1:Destinatarios>
<sum1:Desglose>
<sum1:DetalleDesglose>
<sum1:ClaveRegimen>01</sum1:ClaveRegimen>
<sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
<sum1:BaseImponibleOimporteNoSujeto>8.18</sum1:BaseImponibleOimporteNoSujeto>
<sum1:CuotaRepercutida>1.72</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:CuotaTotal>1.72</sum1:CuotaTotal>
<sum1:ImporteTotal>9.90</sum1:ImporteTotal>
<sum1:Encadenamiento>
<sum1:PrimerRegistro>S</sum1:PrimerRegistro>
</sum1:Encadenamiento>
<sum1:SistemaInformatico>
<sum1:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</sum1:NombreRazon>
<sum1:NIF>33461360V</sum1:NIF>
<sum1:NombreSistemaInformatico>GESTION COMERCIAL</sum1:NombreSistemaInformatico>
<sum1:IdSistemaInformatico>A1</sum1:IdSistemaInformatico>
<sum1:Version>5.1.531.1443</sum1:Version>
<sum1:NumeroInstalacion>001</sum1:NumeroInstalacion>
<sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
<sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT>
<sum1:IndicadorMultiplesOT>N</sum1:IndicadorMultiplesOT>
</sum1:SistemaInformatico>
<sum1:FechaHoraHusoGenRegistro>2024-10-19T10:01:06+02:00</sum1:FechaHoraHusoGenRegistro>
<sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>8C4F00D6E814A06990BDA2F30CA26CE3 9D8C043767CFA0BD293436238793067A</sum1:Huella>
</sum:RegistroAlta>
</sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>
Despues de hacer los distintos cambios que me habeis indicado, sigue dando el mismo error : Valor o tipo incorrecto del campo.: Huella

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body Id="Body"><tikR:RespuestaRegFactuSistemaFacturacion xmlns:tik="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:tikR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaSuministro.xsd"><tikR:Cabecera><tik:ObligadoEmision><tik:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</tik:NombreRazon><tik:NIF>33461360V</tik:NIF></tik:ObligadoEmision></tikR:Cabecera><tikR:TiempoEsperaEnvio>60</tikR:TiempoEsperaEnvio><tikR:EstadoEnvio>Incorrecto</tikR:EstadoEnvio><tikR:RespuestaLinea><tikR:IDFactura><tik:IDEmisorFactura>33461360V</tik:IDEmisorFactura><tik:NumSerieFactura>2024</tik:NumSerieFactura><tik:FechaExpedicionFactura>15-10-2024</tik:FechaExpedicionFactura></tikR:IDFactura><tikR:Operacion><tik:TipoOperacion/></tikR:Operacion><tikR:EstadoRegistro>Incorrecto</tikR:EstadoRegistro><tikR:CodigoErrorRegistro>1100</tikR:CodigoErrorRegistro><tikRescripcionErrorRegistro>Valor o tipo incorrecto del campo.: Huella</tikRescripcionErrorRegistro></tikR:RespuestaLinea></tikR:RespuestaRegFactuSistemaFacturacion>
</env:Body></env:Envelope>
  #3000  
Antiguo 20-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por [email protected] Ver Mensaje
Código:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<soapenv:Header/>
<soapenv:Body>
<sum:RegFactuSistemaFacturacion>
<sum1:Cabecera>
<sum1:ObligadoEmision>
<sum1:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</sum1:NombreRazon>
<sum1:NIF>33461360V</sum1:NIF>
</sum1:ObligadoEmision>
</sum1:Cabecera>
<sum:RegistroFactura>
<sum:RegistroAlta>
<sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:IDFactura>
<sum1:IDEmisorFactura>33461360V</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>2024</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>15-10-2024</sum1:FechaExpedicionFactura>
</sum1:IDFactura>
<sum1:NombreRazonEmisor>HECTOR RAFAEL RODRIGO SANCHEZ</sum1:NombreRazonEmisor>
<sum1:TipoFactura>F1</sum1:TipoFactura>
<sum1:DescripcionOperacion>VENTA</sum1:DescripcionOperacion>
<sum1:Destinatarios>
<sum1:IDDestinatario>
<sum1:NombreRazon>VENTAS CONTADO</sum1:NombreRazon>
<sum1:NIF>19823568Y</sum1:NIF>
</sum1:IDDestinatario>
</sum1:Destinatarios>
<sum1:Desglose>
<sum1:DetalleDesglose>
<sum1:ClaveRegimen>01</sum1:ClaveRegimen>
<sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
<sum1:BaseImponibleOimporteNoSujeto>8.18</sum1:BaseImponibleOimporteNoSujeto>
<sum1:CuotaRepercutida>1.72</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:CuotaTotal>1.72</sum1:CuotaTotal>
<sum1:ImporteTotal>9.90</sum1:ImporteTotal>
<sum1:Encadenamiento>
<sum1:PrimerRegistro>S</sum1:PrimerRegistro>
</sum1:Encadenamiento>
<sum1:SistemaInformatico>
<sum1:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</sum1:NombreRazon>
<sum1:NIF>33461360V</sum1:NIF>
<sum1:NombreSistemaInformatico>GESTION COMERCIAL</sum1:NombreSistemaInformatico>
<sum1:IdSistemaInformatico>A1</sum1:IdSistemaInformatico>
<sum1:Version>5.1.531.1443</sum1:Version>
<sum1:NumeroInstalacion>001</sum1:NumeroInstalacion>
<sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
<sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT>
<sum1:IndicadorMultiplesOT>N</sum1:IndicadorMultiplesOT>
</sum1:SistemaInformatico>
<sum1:FechaHoraHusoGenRegistro>2024-10-19T10:01:06+02:00</sum1:FechaHoraHusoGenRegistro>
<sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>8C4F00D6E814A06990BDA2F30CA26CE3 9D8C043767CFA0BD293436238793067A</sum1:Huella>
</sum:RegistroAlta>
</sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>
Despues de hacer los distintos cambios que me habeis indicado, sigue dando el mismo error : Valor o tipo incorrecto del campo.: Huella

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body Id="Body"><tikR:RespuestaRegFactuSistemaFacturacion xmlns:tik="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:tikR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaSuministro.xsd"><tikR:Cabecera><tik:ObligadoEmision><tik:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</tik:NombreRazon><tik:NIF>33461360V</tik:NIF></tik:ObligadoEmision></tikR:Cabecera><tikR:TiempoEsperaEnvio>60</tikR:TiempoEsperaEnvio><tikR:EstadoEnvio>Incorrecto</tikR:EstadoEnvio><tikR:RespuestaLinea><tikR:IDFactura><tik:IDEmisorFactura>33461360V</tik:IDEmisorFactura><tik:NumSerieFactura>2024</tik:NumSerieFactura><tik:FechaExpedicionFactura>15-10-2024</tik:FechaExpedicionFactura></tikR:IDFactura><tikR:Operacion><tik:TipoOperacion/></tikR:Operacion><tikR:EstadoRegistro>Incorrecto</tikR:EstadoRegistro><tikR:CodigoErrorRegistro>1100</tikR:CodigoErrorRegistro><tikRescripcionErrorRegistro>Valor o tipo incorrecto del campo.: Huella</tikRescripcionErrorRegistro></tikR:RespuestaLinea></tikR:RespuestaRegFactuSistemaFacturacion>
</env:Body></env:Envelope>
Si la has enviado tal y como se vé es normal que te tire un error, la huella solo puede contener caracteres HEXADECIMALES, observo un espacio o caracter no visible antes del intro, intenta poner la huella sin intros ni espacios.
Tema Cerrado



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
Hijo de Informáticos gluglu Humor 3 13-03-2007 11:05:35
Adictos informaticos ... Trigger Humor 2 11-10-2004 12:18:32
Nosotros los Informáticos Trigger Humor 1 10-10-2004 14:58:09
Patrón de los Informáticos. obiwuan Varios 20 10-09-2003 14:44:54
Chistes Informaticos jhonny Humor 2 11-08-2003 21:59:09


La franja horaria es GMT +2. Ahora son las 14:54:52.


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
Copyright 1996-2007 Club Delphi