![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#2961
|
|||
|
|||
|
no pasa nada Jguarda, "solo" han sido 148 paginas de foro, si hubiesen sido 5.000 puess...
![]() PD.- Decidles que si nos contratan a mi y a Neftali por un muy buen sueldo de 10.000 euros al mes (cada uno) solucionaremos esos fallos tontos. Les arruinaremos si, pero los fallos los solucionaremos fijo. PD2.- en cuanto tengamos acceso al codigo y un lapiz USB de buena marca (no de los chinos que esos fallan mucho) les robaremos el codigo fuente y en unos meses sacaremos el NeftaNavFactu claro.... que tampoco nacimos ayer, aunque por lo que veo debe estar plagado de fallos ese codigo y en plan "spaguetti" total pero bueno, quien sabe..... no sonrias Neftali... hablo muy en serio. Última edición por navbuoy fecha: 18-10-2024 a las 19:22:17. |
|
#2962
|
|||
|
|||
|
Cita:
|
|
#2963
|
|||
|
|||
|
Espera
Buenas,
Yo lo que he hecho desde un primer momento es dedicarme a readaptar mi programa a verifactu sin entrar en detalles de envios y de creacion del xml pero sin perder el hilo de los cambios que van haciendo asi como de aprender el como se realiza cada problematica. Cuando acaben de cambiar las cosas y ya sea casi definitivo entonces aplicare todo lo aprendido y las pruebas que voy haciendo de creacion y envio del xml y de esta forma no pierdo el tiempo (que supungo que como vosotros no me sobra) en parchear lo que voy haciendo una y otra vez. Os recuerdo que nos daran 9 meses a partir de la publicacion en el boe para adecuar los programas a la norma, tiempo que creo suficiente si se tienen las cosas claras para poder realizar dicha tarea. un saludo, amigos |
|
#2964
|
||||
|
||||
|
Cita:
Cita:
|
|
#2965
|
|||
|
|||
|
Cita:
El problema lo tenia en el formato y la referencia de los nodos, pensaba que al defirnir la url al principio servia para todo el XML., pero veo que hay que definirlas en cada grupo He llegado hasta el ultimo campo : HUELLA donde me indica VALOR O TIPO INCORRECTO DE CAMPO. El formato y valores del mismo es : <Huella xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">8C4F00D6E814A06990BDA2F30CA26CE3 9D8C043767CFA0BD293436238793067A</Huella> Yo creo que esta bien formado, pero me da error. Si teneis un hueco y podeis mirarlo y decirme donde esta el problma, os lo agradecere Un saludo |
|
#2966
|
|||
|
|||
|
Cita:
Bueno, el espacio de nombre xmlns está correctamente definido y aunque no es la forma más indicada para esta estructura de ficheros sí deberia funcionar si el resto del xml está correctamente estructurado y con sus espacios de nombres en cada nodo. Habría que revisar el xml xompleto, a ojo se puede más o menos revisar si lo pusieras completo. Nota: es mejor crear etiquetas/prefijos de los espacios de nombres para no tener que reescribir en cada nodo el espacio de nombres del xsd y referenciando con el prefijo ahorras espacio y mejoras la visibilidad del xml. |
|
#2967
|
|||
|
|||
|
Cita:
Puedes ampliar un poco la informacion que comentas crear etiquetas/prefijos de los espacios de nombres ??? Podria adjuntar el xml completo, pero me sabe mal por el resto de componente del club Puedo hacertelo llegar por otro lado Gracias |
|
#2968
|
|||
|
|||
|
Cita:
Te dejo una prueba de Factura simplificada (Creo que está a la última versión, no he podido comprobar si ha habido modificaciones, estoy un pelin liado estas ultimas semanas) Código PHP:
Si te fijas, en el segundo nodo se definen los prefijos/etiquetas para hacer referencia a los xsd y despues en cada nodo se pone simplemente la etiqueta que corresponda según el nodo, ya que cada nodo puede ser de un esquema(xsd) distinto, aqu'i defino 2 etiquetas "sum" y "sum1" Claro, esto en lenguajes actuales, practicamente no hay ni que saberlo, ya que se define todo muy automático, pero entiendo que estás escribiendo a pelo los xmls. Última edición por ermendalenda fecha: 19-10-2024 a las 10:14:58. |
|
#2969
|
|||
|
|||
|
Cita:
Agradecido por tu tiempo. Tomo nota de los prefijos/etiquetas que me indicas y voy a cambiarlo. Tal como entiendes estoy montando a PELO los xmls. He pasado una prueba con el xml que me aadjunta y aleluya HA FUNCIONADO e imagino que ha llegado a la AEAT por la respuesta que me indican de error. Te lo adjunto : <?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[20009]. UNSUCCESSFUL EXECUTION CAUSED BY AN UNAVAILABLE RESOURCE. REASON 00C90081, TYPE OF RESOURCE 00000210, AND RESOURCE NAME DBTCCSOR.TSTCCSOR.00000001. SQLCODE=-904, SQLSTATE=57011, DRIVER=4.33.43 </faultstring> </env:Fault> </env:Body> </env:Envelope> Donde puedo averiguar lo que significan estos errores y los pasos a seguir. Gracias Rodrigo |
|
#2970
|
|||
|
|||
|
Cita:
Pero con autoafirma.exe si puedes investigar, aunque tun pelin complicado y no se si se ajustará a los tiempos que necesitas para las generaciones. La otra opción es que compras alguna función api/dll para estas cosas, hay un par de ellas que son adaptables a casi cualquier software de desarrollo antiguo Última edición por ermendalenda fecha: 19-10-2024 a las 10:58:48. |
|
#2971
|
|||
|
|||
|
Cita:
sURL is string = NoSpace(VERIFACTU_ENDPOINT) sResult is string = "" HTTPCertificate(sCertificadoSeleccionado) IF HTTPRequest(sURL,"","",sRequest) = False THEN Error("ERROR:"+CR+CR+ErrorInfo()) ELSE sResult = HTTPGetResult(httpResult) fSaveText(XTMP+"RESPUESTA ENVIO XML.TXT",sResult) Info("OK HTTPREQUEST",sUbicacion,"",sResult) END Como ves, indico cual es el ENDPOINT : VERIFACTU_ENDPOINT is string = "https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP" sNombre_del_endpoint_es is string = "SistemaVerifactuPruebas" adjunto el certificado a la peticion y realizo una peticion HTTPREQUEST a la url de hacienda y recibo la respuesta. Esta forma de realizar la peticion la tengo implementada en el SII desde hace años y actualmente esta funcionando perfectamente. Me reitero, gracias por dedicarme tu tiempo, ya que he adelantado mucho, ahora falta interpretar la respuesta de la AEAT Voy a ver el tema de la firma y el hash de la firma Rodrigo |
|
#2972
|
||||
|
||||
|
Cita:
|
|
#2973
|
||||
|
||||
|
Enviar a pelo xml en c#
Cita:
Cita:
byte[] Program.certificado , esta variable contiene el certificado usado para firmar la conexion string Program.passcertificado, esta variable contiene la clave del certificado [CODE C#] /// <summary> /// Llama a al web service de la AEAT para el VeriFactu seleccionado. /// </summary> /// <param name="url">Url destino.</param> /// <param name="action">Acción a ejecutar.</param> /// <param name="xmlDocument">Documento soap xml.</param> /// <returns>Devuelve la respuesta.</returns> protected static string Call(string url, string action, XmlDocument xmlDocument) { HttpWebRequest webRequest = CreateWebRequest(url, action); X509Certificate2 certificate = new X509Certificate2(Program.certificado, Program.passcertificado); // Aqui se carga el certificado, yo lo almaceno en la base de datos, pero podriai s cargarlo desde un archivo var tiempo = certificate.SubjectName; if (certificate == null) throw new ArgumentNullException( "Certificate is null. Maybe serial number in configuration was wrong."); if (certificate.NotAfter < DateTime.Now) throw new ArgumentNullException( $"Certificate is out of date. NotAfter: {certificate.NotAfter}."); webRequest.ClientCertificates.Add(certificate); using (Stream stream = webRequest.GetRequestStream()) { xmlDocument.Save(stream); } HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); string statusDescription = response.StatusDescription; Stream dataStream = response.GetResponseStream(); string responseFromServer; using (StreamReader reader = new StreamReader(dataStream)) { responseFromServer = reader.ReadToEnd(); reader.Close(); dataStream.Close(); response.Close(); } return responseFromServer; } [/code] |
|
#2974
|
|||
|
|||
|
Cita:
Te sería muy complicado poner ecomo quedaria formado el xml empaquetado, buff ojalá. |
|
#2975
|
||||
|
||||
|
Como queda en el envio
Cita:
Código:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header />
<soapenv:Body>
<RegFactuSistemaFacturacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<ObligadoEmision>
<NombreRazon>Mi taller s.l.</NombreRazon>
<NIF>mi nif</NIF>
</ObligadoEmision>
<RemisionVoluntaria>
<FechaFinVeriFactu />
<Incidencia>N</Incidencia>
</RemisionVoluntaria>
</Cabecera>
<RegistroFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<RegistroAlta>
<IDVersion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">1.0</IDVersion>
<IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDEmisorFactura>Mi nif</IDEmisorFactura>
<NumSerieFactura>VC1-24-100001</NumSerieFactura>
<FechaExpedicionFactura>19/10/2024</FechaExpedicionFactura>
</IDFactura>
<NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">Mi Taller</NombreRazonEmisor>
<TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F2</TipoFactura>
<FechaOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">19-10-2024</FechaOperacion>
<DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">Venta de materiales servidos cliente contado.</DescripcionOperacion>
<Desglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<DetalleDesglose>
<ClaveRegimen>01</ClaveRegimen>
<CalificacionOperacion>S1</CalificacionOperacion>
<TipoImpositivo>21.00</TipoImpositivo>
<BaseImponibleOimporteNoSujeto>133.45</BaseImponibleOimporteNoSujeto>
<CuotaRepercutida>28.02</CuotaRepercutida>
</DetalleDesglose>
</Desglose>
<CuotaTotal xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">28.02</CuotaTotal>
<ImporteTotal xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">161.47</ImporteTotal>
<Encadenamiento xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<PrimerRegistro>S</PrimerRegistro>
</Encadenamiento>
<SistemaInformatico xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<NombreRazon>yo mismo</NombreRazon>
<NIF>mi nif</NIF>
<NombreSistemaInformatico>Facturas Taller 2024</NombreSistemaInformatico>
<IdSistemaInformatico>A1</IdSistemaInformatico>
<Version>5.1.4.222</Version>
<NumeroInstalacion>001</NumeroInstalacion>
<TipoUsoPosibleSoloVerifactu>S</TipoUsoPosibleSoloVerifactu>
<TipoUsoPosibleMultiOT>N</TipoUsoPosibleMultiOT>
<IndicadorMultiplesOT>N</IndicadorMultiplesOT>
</SistemaInformatico>
<FechaHoraHusoGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">2024-10-19T13:04:40+02:00</FechaHoraHusoGenRegistro>
<TipoHuella xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">01</TipoHuella>
<Huella xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F4C7FAA3D9FF0CF50DD50139224840BFC91A514878EFC34E193A7D6F6301B844</Huella>
</RegistroAlta>
</RegistroFactura>
</RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>
Perdonad el indentado, pero esta serializado, lo he separado para que se veamejor. |
|
#2976
|
|||
|
|||
|
Cita:
¡Ojo, cambio hecho a mano. Muy fácil que haya errores! 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>Mi taller s.l.</sum1:NombreRazon>
<sum1:NIF>mi nif</sum1:NIF>
</sum1:ObligadoEmision>
<sum1:RemisionVoluntaria>
<sum1:FechaFinVeriFactu />
<sum1:Incidencia>N</sum1:Incidencia>
</sum1:RemisionVoluntaria>
</sum1:Cabecera>
<sum1:RegistroFactura>
<sum1:RegistroAlta>
<sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:IDFactura>
<sum1:IDEmisorFactura>Mi nif</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>VC1-24-100001</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>19/10/2024</sum1:FechaExpedicionFactura>
</sum1:IDFactura>
<sum1:NombreRazonEmisor>Mi Taller</sum1:NombreRazonEmisor>
<sum1:TipoFactura>F2</sum1:TipoFactura>
<sum1:FechaOperacion>19-10-2024</sum1:FechaOperacion>
<sum1:DescripcionOperacion>Venta de materiales servidos cliente contado.</sum1:DescripcionOperacion>
<sum1:Desglose>
<sum1:DetalleDesglose>
<sum1:ClaveRegimen>01</sum1:ClaveRegimen>
<sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
<sum1:BaseImponibleOimporteNoSujeto>133.45</sum1:BaseImponibleOimporteNoSujeto>
<sum1:CuotaRepercutida>28.02</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:CuotaTotal>28.02</sum1:CuotaTotal>
<sum1:ImporteTotal>161.47</sum1:ImporteTotal>
<sum1:Encadenamiento>
<sum1:PrimerRegistro>S</sum1:PrimerRegistro>
</sum1:Encadenamiento>
<sum1:SistemaInformatico>
<sum1:NombreRazon>yo mismo</sum1:NombreRazon>
<sum1:NIF>mi nif</sum1:NIF>
<sum1:NombreSistemaInformatico>Facturas Taller 2024</sum1:NombreSistemaInformatico>
<sum1:IdSistemaInformatico>A1</sum1:IdSistemaInformatico>
<sum1:Version>5.1.4.222</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-19T13:04:40+02:00</sum1:FechaHoraHusoGenRegistro>
<sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>F4C7FAA3D9FF0CF50DD50139224840BFC91A514878EFC34E193A7D6F6301B844</sum1:Huella>
</sum1:RegistroAlta>
</sum1:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>
|
|
#2977
|
|||
|
|||
|
Cita:
Oleeeee Gracias He enviado desde el programa curl.exe y va perfecto |
|
#2978
|
||||
|
||||
|
Etiquetas cierre
Cita:
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> |
|
#2979
|
|||
|
|||
|
Diagrama de flujos control de envios
Creo que es buena idea que creemos un diagrama de flujos del control de envios/errores
Es un pelin lioso según el mensaje warning o error que devuelve |
|
#2980
|
||||
|
||||
|
Cita:
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 ![]() ![]() |
![]() |
|
|
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 |
|