![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Para los errores de dni no censado.
Cita:
Cita:
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;
}
}
}
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;
}
Código:
idOtro.IDType = PersonaFisicaJuridicaIDTypeType.Item07; Cita:
|
|
#2
|
|||
|
|||
|
Cita:
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. |
|
#3
|
|||
|
|||
|
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><tikR escripcionErrorRegistro>Valor o tipo incorrecto del campo.: Huella</tikR escripcionErrorRegistro></tikR:RespuestaLinea></tikR:RespuestaRegFactuSistemaFacturacion></env:Body></env:Envelope> Alguien puede orientarme al respecto. |
|
#4
|
|||
|
|||
|
Cita:
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. |
|
#5
|
||||
|
||||
|
Cita:
Puede poner el registro completo, para revisarlo? |
|
#6
|
||||
|
||||
|
Tiempo de respuesta
Bueno aun no estamos en produccion y ya empezamos con el royo.
Cita:
|
|
#7
|
||||
|
||||
|
Una hora mas tarde... Sigue sin poderse enviar nada, soy al unico que le pasa??
|
|
#8
|
|||
|
|||
|
Cita:
Gracias bmfranky. Encontré el error, encapsule el nodo del "PrimerRegistro" dentro de registroanterior que en ese caso no hay que ponerlo. |
|
#9
|
|||
|
|||
|
Cita:
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> <?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><tikR escripcionErrorRegistro>Valor o tipo incorrecto del campo.: Huella</tikR escripcionErrorRegistro></tikR:RespuestaLinea></tikR:RespuestaRegFactuSistemaFacturacion></env:Body></env:Envelope> |
|
#10
|
|||
|
|||
|
Cita:
|
|
#11
|
|||
|
|||
|
Cita:
ETERNAMENTE AGRADECIDO por vuestra ayuda y cooperacion. Ya he conseguido recibir la respuesta de la AEAT y me indica : Código:
<?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:CSV>A-R8GVFMLPGQ5X9U</tikR:CSV><tikR:DatosPresentacion><tik:NIFPresentador>33461360V</tik:NIFPresentador><tik:TimestampPresentacion>20-10-2024 21:37:24</tik:TimestampPresentacion></tikR:DatosPresentacion><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>ParcialmenteCorrecto</tikR:EstadoEnvio><tikR:RespuestaLinea><tikR:IDFactura><tik:IDEmisorFactura>33461360V</tik:IDEmisorFactura><tik:NumSerieFactura>2023</tik:NumSerieFactura><tik:FechaExpedicionFactura>02-10-2024</tik:FechaExpedicionFactura></tikR:IDFactura><tikR:Operacion><tik:TipoOperacion/></tikR:Operacion><tikR:EstadoRegistro>AceptadoConErrores</tikR:EstadoRegistro><tikR:CodigoErrorRegistro>2004</tikR:CodigoErrorRegistro><tikR:DescripcionErrorRegistro>El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de: 120 segundos.</tikR:DescripcionErrorRegistro></tikR:RespuestaLinea></tikR:RespuestaRegFactuSistemaFacturacion> </env:Body></env:Envelope> |
|
#12
|
|||
|
|||
|
Cita:
IDEmisorFactura=33461360V&NumSerieFactura=2024&FechaExpedicionFactura=15-10-2024&TipoFactura=F1&CuotaTotal=1.72&ImporteTotal=9.90&FechaHoraHusoGenRegistro=2024-10-19T10:01:06+02:00 y el resultado del sha256 en Hexadecimal que tienes qu eponer en la huella es este: D9AEC6BA1CA8988FE6184C630CF57B8D70B9CF71E4981E11DFEB185DC532F9D1 Puedes usar este link para probar los strings: https://www.convertstring.com/es/Hash/SHA256 |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|