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

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #2461  
Antiguo 27-09-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 257
Poder: 4
antoine0 Va por buen camino
Siento por estar fuera del asunto. Se puede mover en distinto hilo si hay mejor ubicación (gracias, moderadores).

Cita:
Empezado por adolfogonza Ver Mensaje
Soy programador desde hace mas de 45 años, vamos que soy de la vieja escuela, tengo un programa de facturacion funcionando desde hace mas de 24 años, hecho en visual basic 6, y veo que tengo que adaptarme a las nuevas normativas o morir en el intento.
Me gustaria si alguno de vosotros, me podria dar el proceso para enviar los archivos xml a la web de pruebas.
Tengo una clase VBA7 que he usado desde un par de años para proyectos SII, que gestiona la comunicación con SOAP. No la he probado con Veri*factu, pero no creo que siga distinta al nivel del SOAP.
No tengo experiencia con VB6 (usaba TP cuando era VB3 y después prefiero Delphi a VB4+, con perdón) pero tengo entendido que es muy compatible con VBA, una vez habrás quitado las comandas del pre-procesador (#const/if etc.)

El uso básico es algo como:
Código:
Dim svc As WebServiceSOAP
'...
    Set svc = New WebServiceSOAP
'...
  On Error GoTo Abrir_Error
    svc.Certificado = nif ' una cadena con p.e. el NIF del usuario que comunica, para seleccionar el certificado; cualquier parte del asunto del certificado vale
    svc.Abrir urlDelWSDL
'...
  On Error GoTo Comunica_Error
    svc.Envia xmlTransacción ' el XML que Hacienda espera, completo con el sobre SOAP
    Debug.Assert svc.RespuestaDisponible
'    Debug.Print svc.CabecerasRespuesta
'    Debug.Print svc.TextoRespuesta
   gestiona( svc.respuesta ) ' gestiona el contenido devuelto por Hacienda
'...
    Set svc = Nothing
Creo que está suficientemente documentada, pero por supuesto si hay interrogaciones por favor preguntar. Usará el certificado del usuario. Si alguien sabe poner en forma el código VB para resaltar los keywords, por favor actuar.
Archivos Adjuntos
Tipo de Archivo: zip WebServiceSOAP.zip (3,7 KB, 30 visitas)
  #2462  
Antiguo 28-09-2024
jalvar28 jalvar28 is offline
Miembro
 
Registrado: jun 2024
Posts: 15
Poder: 0
jalvar28 Va por buen camino
No se validan los encadenamientos correctamente

Buenos días.
Estoy enviado facturas y todo ok.
El tema es que veo que se traga todos los encadenamientos, le ponga lo que le ponga me dice que factura correcta ¿Alguien ha notado esto? ¿No lo están validando aún?

encadenamientoFacturaAnterior.IDEmisorFactura = cifEmisor;
encadenamientoFacturaAnterior.NumSerieFactura = NumSerieFacturaAnterior ;//numero factura anterior
encadenamientoFacturaAnterior.FechaExpedicionFactura = FechaFacturaAnterior;//fecha factura anterior
encadenamientoFacturaAnterior.Huella = HuellaFacturaAnterior;//huella registro anterior
  #2463  
Antiguo 28-09-2024
jlmoli_67 jlmoli_67 is offline
Miembro
 
Registrado: feb 2024
Posts: 104
Poder: 2
jlmoli_67 Va por buen camino
Buenas,

No te dice aceptada con errores y te hace referencia al hash? En las pruebas que hice ayer asi me lo reflejaba.

un saludo
  #2464  
Antiguo 28-09-2024
jalvar28 jalvar28 is offline
Miembro
 
Registrado: jun 2024
Posts: 15
Poder: 0
jalvar28 Va por buen camino
Te lo explico con ejemplo:

- Registro la factura 0001/2024 correctamente (utilizando PrimerRegistroCadenaType).

- Luego registro la factura 0002/2024 e indico que la anterior es la 0001/2024 (completando los campos correspondientes en EncadenamientoFacturaAnteriorType), y el sistema me lo valida correctamente.

- Posteriormente, intento registrar la factura 0003/2024 e indico, nuevamente, que la factura anterior es la 0001/2024 (utilizando los mismos datos en EncadenamientoFacturaAnteriorType), pero el sistema también lo valida como correcto, cuando en realidad debería haber detectado que la factura previa debió ser la 0002/2024.

No estoy seguro si estoy cometiendo algún error o si es el sistema el que no está validando correctamente la secuencia de encadenamiento de facturas.

- Además, si en el campo EncadenamientoFacturaAnteriorType incluyo una factura que nunca ha sido añadida al sistema, junto con una huella anterior generada aleatoriamente por una IA, también me indica que la factura es correcta. Creo que aún no se está validando correctamente. Si pueden probarlo, agradecería que me lo confirmaran.

var encadenamientoFacturaAnterior = new EncadenamientoFacturaAnteriorType();
encadenamientoFacturaAnterior.IDEmisorFactura = cifEmisor;
encadenamientoFacturaAnterior.NumSerieFactura = "00001/Pepito/2024";//numero factura nunca añadida anteriormente
encadenamientoFacturaAnterior.FechaExpedicionFactura = "02-02-2024";//fecha factura anterior
encadenamientoFacturaAnterior.Huella = "7F3D68A9B8C39A1D29C7B4F54E6FA318CBD26317F02C89DF1A6477E3952D8F3E";//huella generada por ia
  #2465  
Antiguo 28-09-2024
xevi xevi is offline
Miembro
 
Registrado: feb 2024
Posts: 66
Poder: 2
xevi Va por buen camino
Lo que yo si he notado es que puedes enviar TANTOS registros como quieras como PrimerRegistro

<sum1:Encadenamiento>
<sum1:PrimerRegistro>S</sum1:PrimerRegistro>
</sum1:Encadenamiento>


Eso tampoco es normal, ya que SOLAMENTE debería de existir un registo PrimerRegistro
A partir de ahí, si, he visto que si no le pongo correctamente la Huella y la correspondiente HuellaAnterior, lo Acepta con errores
Como si envias un registro que no esté calculado correctamente el ImporteTotal con las sumas de las bases... Lo Acepta con errores

Luego a partir de ahí es donde entra el hacer registros de Subsanación de errores... otro tema!!!
  #2466  
Antiguo 28-09-2024
jlmoli_67 jlmoli_67 is offline
Miembro
 
Registrado: feb 2024
Posts: 104
Poder: 2
jlmoli_67 Va por buen camino
Pienso que si creas dos facturas, la 1 y la 3 , encadenadas correctamente y las envias secuencialmente porque no existe la nº 2 realmente el proceso es correcto pero llevas razon, deberia , pienso yo de avisar de que la 2 no existe, no es asi????? Hay que probarlo porque en ese caso ya te digo yo quien va a perder el tiempo en anulaciones.

En las pruebas que hice ayer, si el hash esta mal porque lo refiero a otra factura entonces si lo detecta pero realmente este caso no lo he probado.
  #2467  
Antiguo 28-09-2024
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 419
Poder: 17
espinete Va camino a la fama
Diferencias con TicketBAI

Estoy empezando a darle caña a VeriFactu y veo que hay algunas diferencias con respecto a TicketBAI que me gustaría que me confirmaran, por si me estoy equivocando con el procedimiento...

Para TicketBAI, el procedimiento es el siguiente:

1. Generar el XML (por ejemplo, factura.xml)
2. Firmar el XML (por ejemplo, factura-firmada.xml)
3. Realizar el envío del archivo, firmando también el envío (yo uso el evento NetHTTPClient1NeedClientCertificate del componente TNetHTTPClient)

Pero según entiendo, con VeriFactu (al menos por ahora) no hay que firmar el XML, sino únicamente *el envío*.

Con VeriFactu creo entender que el procedimiento es este:
1. Generar la(s) Factura(s) (no veo forma de obtener el XML de UNA factura concreta)
2. Generar el XML del envío, que contiene la(s) factura(s)
3. Realizar el envío, firmando el envío con el certificado

¿Es correcto?

No veo la forma de obtener el XML de la factura antes de hacer el envío. Solo al enviarla, con el evento HTTPRIO1BeforeExecutedel componente THTTPRIO
No sé si es posible usar el componente TNetHTTPClient, aunque esto lo de menos ya que me da igual que funcione uno u otro.
Al no tener que firmar el XML de la factura, entiendo que no hace falta lo de las políticas de firma, SigPolicyID, SigPolicyHash, r_SigPolicyURI, etc. que sí eran necesarios en TicketBAI

¿Podría alguien confirmarme esto antes de seguir empeñado en hacerlo como en TicketBAI?
  #2468  
Antiguo 29-09-2024
xamminf xamminf is offline
Miembro
 
Registrado: ene 2017
Posts: 187
Poder: 9
xamminf Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Estoy empezando a darle caña a VeriFactu y veo que hay algunas diferencias con respecto a TicketBAI que me gustaría que me confirmaran, por si me estoy equivocando con el procedimiento...

Para TicketBAI, el procedimiento es el siguiente:

1. Generar el XML (por ejemplo, factura.xml)
2. Firmar el XML (por ejemplo, factura-firmada.xml)
3. Realizar el envío del archivo, firmando también el envío (yo uso el evento NetHTTPClient1NeedClientCertificate del componente TNetHTTPClient)

Pero según entiendo, con VeriFactu (al menos por ahora) no hay que firmar el XML, sino únicamente *el envío*.

Con VeriFactu creo entender que el procedimiento es este:
1. Generar la(s) Factura(s) (no veo forma de obtener el XML de UNA factura concreta)
2. Generar el XML del envío, que contiene la(s) factura(s)
3. Realizar el envío, firmando el envío con el certificado

¿Es correcto?

No veo la forma de obtener el XML de la factura antes de hacer el envío. Solo al enviarla, con el evento HTTPRIO1BeforeExecutedel componente THTTPRIO
No sé si es posible usar el componente TNetHTTPClient, aunque esto lo de menos ya que me da igual que funcione uno u otro.
Al no tener que firmar el XML de la factura, entiendo que no hace falta lo de las políticas de firma, SigPolicyID, SigPolicyHash, r_SigPolicyURI, etc. que sí eran necesarios en TicketBAI

¿Podría alguien confirmarme esto antes de seguir empeñado en hacerlo como en TicketBAI?

espinete,

No me atrevo a responder a su pregunta pero si a plantear alguna diferencia mas:

Con TicketBAI no hay "flujo", con lo cual, conforme se hace se envia. Con VF si hay flujo y puede ser necesario demorar el envio, porque claro, no se va a demorar la generacion-impresion de la factura
Ademas en TB el xml hay que hacerlo en el momento de la impresion porque en el QR va un trozo de la firma. En VF me pareciera que no porque 1º no hay que firmarla el xml y segundo en el QR no se incluye un trozo de la firma. Esto a mi modo de ver es determinante porque "determina" la manera de hacer y si cambiara también habría que cambiar la forma
  #2469  
Antiguo 30-09-2024
Avatar de thinkows
thinkows thinkows is offline
Miembro
 
Registrado: mar 2020
Ubicación: Sabadell
Posts: 99
Poder: 6
thinkows Va por buen camino
Thumbs down Primer Envío

Buenos días, gracias a todos por vuestras aportaciones, hoy he enviado a mano el primer XML mediante ARC (Advanced Rest Client) y la primera en la frente tanto el NIF del emisor de la factura como el del certificado mediante el cual me iidentifico son los mismos, el problema es que me devuelve un error cuyo codigo [4118] no se corresponde con la descripción del mismo :

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Codigo[4118].Error La direccion no se corresponde con el fichero de entrada.</faultstring><detail><callstack>Error La direccion no se corresponde con el fichero de entrada.

La verdad voy muy despistado... parece que algo no está correcto en el encabezado, os adjunto el envío por si alguno le puede hechar un vistazo...


POST /wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP HTTP/1.1
Host: prewww1.aeat.es:443
Content-Type: text/xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:sfLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<soapenv:Header/>
<soapenv:Body>
<sfLR:AltaFactuSistemaFacturacion>
<sf:Cabecera>
<sf:IDVersion>1.0</sf:IDVersion>
<sf:ObligadoEmision>
<sf:NombreRazon>EMPRESA,S.L.</sf:NombreRazon>
<sf:NIF>Bnnnnnnnn</sf:NIF>
</sf:ObligadoEmision>
</sf:Cabecera>
<sfLR:RegistroAltaFacturas>
<sfLR:RegistroFacturacion>
<sf:IDFactura>
<sf:IDEmisorFactura>
<sf:NIF>Bnnnnnnnn</sf:NIF>
</sf:IDEmisorFactura>
<sf:NumSerieFacturaEmisor>T1966968</sf:NumSerieFacturaEmisor>
<sf:FechaExpedicionFacturaEmisor>27-09-2024</sf:FechaExpedicionFacturaEmisor>
</sf:IDFactura>
<sf:NombreRazonEmisor>EMPRESA,S.L.</sf:NombreRazonEmisor>
<sf:TipoRegistroSIF>S0</sf:TipoRegistroSIF>
<sf:TipoFactura>F1</sf:TipoFactura>
<sf:TipoRectificativa>S</sf:TipoRectificativa>
<sfescripcionOperacion>Venta Artículos Jardineria</sfescripcionOperacion>
<sf:FacturaSimplificadaArticulos7.2_7.3>S</sf:FacturaSimplificadaArticulos7.2_7.3>
<sf:FacturaSinIdentifDestinatarioArticulo6.1.d>S</sf:FacturaSinIdentifDestinatarioArticulo6.1.d>
<sf:Cupon>N</sf:Cupon>
<sfesglose>
<sfetalleDesglose>
<sf:ClaveRegimen>01</sf:ClaveRegimen>
<sf:CalificacionOperacion>S1</sf:CalificacionOperacion>
<sf:TipoImpositivo>21.00</sf:TipoImpositivo>
<sf:BaseImponibleOimporteNoSujeto>21.82</sf:BaseImponibleOimporteNoSujeto>
<sf:CuotaRepercutida>4.58</sf:CuotaRepercutida>
</sfetalleDesglose>
</sfesglose>
<sf:CuotaTotal>4.58</sf:CuotaTotal>
<sf:ImporteTotal>26.40</sf:ImporteTotal>
<sf:PrimerRegistro>
<sf:IDEmisorFacturaRegistroAnterior>S</sf:IDEmisorFacturaRegistroAnterior>
</sf:PrimerRegistro>
<sf:EncadenamientoRegistroAnterior>
<sf:IDEmisorFacturaRegistroAnterior>
<sf:NIF>B58292129</sf:NIF>
</sf:IDEmisorFacturaRegistroAnterior>
<sf:NumSerieFacturaRegistroAnterior>T1966967</sf:NumSerieFacturaRegistroAnterior>
<sf:FechaExpedicionFacturaRegistroAnterior>27-09-2024</sf:FechaExpedicionFacturaRegistroAnterior>
<sf:HuellaRegistroAnterior/>
</sf:EncadenamientoRegistroAnterior>
<sf:SistemaInformatico>
<sf:NombreRazon>EMPRESA INFORMATICA,SL</sf:NombreRazon>
<sf:NIF>Bxxxxxxxx</sf:NIF>
<sf:NombreSistemaInformatico>ELSOFTWARE</sf:NombreSistemaInformatico>
<sf:IdSistemaInformatico>A.01</sf:IdSistemaInformatico>
<sf:Version>1.0</sf:Version>
<sf:NumeroInstalacion>100</sf:NumeroInstalacion>
<sf:TipoUsoPosibleSoloVerifactu>S</sf:TipoUsoPosibleSoloVerifactu>
<sf:TipoUsoPosibleMultiOT>S</sf:TipoUsoPosibleMultiOT>
<sf:IndicadorMiltipleOT>S</sf:IndicadorMiltipleOT>
</sf:SistemaInformatico>
<sf:FechaHoraHusoGenRegistro>2024-09-27T13:21:20+02:00</sf:FechaHoraHusoGenRegistro>
</sfLR:RegistroFacturacion>
<sf:TipoHuella>1</sf:TipoHuella>
<sf:Huella>C32E027863DBD555C84FD80E5A52D84EE30693DE3F28B599DDCB4461DD320811</sf:Huella>
</sfLR:RegistroAltaFacturas>
</sfLR:AltaFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>


Gracias de antemano, verremos como evoluciona el tema.
Un Saludo.
  #2470  
Antiguo 30-09-2024
Noe277 Noe277 is offline
Miembro
 
Registrado: jul 2017
Posts: 96
Poder: 8
Noe277 Va por buen camino
Cita:
Empezado por thinkows Ver Mensaje
Buenos días, gracias a todos por vuestras aportaciones, hoy he enviado a mano el primer XML mediante ARC (Advanced Rest Client) y la primera en la frente tanto el NIF del emisor de la factura como el del certificado mediante el cual me iidentifico son los mismos, el problema es que me devuelve un error cuyo codigo [4118] no se corresponde con la descripción del mismo :

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Codigo[4118].Error La direccion no se corresponde con el fichero de entrada.</faultstring><detail><callstack>Error La direccion no se corresponde con el fichero de entrada.

La verdad voy muy despistado... parece que algo no está correcto en el encabezado, os adjunto el envío por si alguno le puede hechar un vistazo...


POST /wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP HTTP/1.1
Host: prewww1.aeat.es:443
Content-Type: text/xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:sfLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<soapenv:Header/>
<soapenv:Body>
<sfLR:AltaFactuSistemaFacturacion>
<sf:Cabecera>
<sf:IDVersion>1.0</sf:IDVersion>
<sf:ObligadoEmision>
<sf:NombreRazon>EMPRESA,S.L.</sf:NombreRazon>
<sf:NIF>Bnnnnnnnn</sf:NIF>
</sf:ObligadoEmision>
</sf:Cabecera>
<sfLR:RegistroAltaFacturas>
<sfLR:RegistroFacturacion>
<sf:IDFactura>
<sf:IDEmisorFactura>
<sf:NIF>Bnnnnnnnn</sf:NIF>
</sf:IDEmisorFactura>
<sf:NumSerieFacturaEmisor>T1966968</sf:NumSerieFacturaEmisor>
<sf:FechaExpedicionFacturaEmisor>27-09-2024</sf:FechaExpedicionFacturaEmisor>
</sf:IDFactura>
<sf:NombreRazonEmisor>EMPRESA,S.L.</sf:NombreRazonEmisor>
<sf:TipoRegistroSIF>S0</sf:TipoRegistroSIF>
<sf:TipoFactura>F1</sf:TipoFactura>
<sf:TipoRectificativa>S</sf:TipoRectificativa>
<sfescripcionOperacion>Venta Artículos Jardineria</sfescripcionOperacion>
<sf:FacturaSimplificadaArticulos7.2_7.3>S</sf:FacturaSimplificadaArticulos7.2_7.3>
<sf:FacturaSinIdentifDestinatarioArticulo6.1.d>S</sf:FacturaSinIdentifDestinatarioArticulo6.1.d>
<sf:Cupon>N</sf:Cupon>
<sfesglose>
<sfetalleDesglose>
<sf:ClaveRegimen>01</sf:ClaveRegimen>
<sf:CalificacionOperacion>S1</sf:CalificacionOperacion>
<sf:TipoImpositivo>21.00</sf:TipoImpositivo>
<sf:BaseImponibleOimporteNoSujeto>21.82</sf:BaseImponibleOimporteNoSujeto>
<sf:CuotaRepercutida>4.58</sf:CuotaRepercutida>
</sfetalleDesglose>
</sfesglose>
<sf:CuotaTotal>4.58</sf:CuotaTotal>
<sf:ImporteTotal>26.40</sf:ImporteTotal>
<sf:PrimerRegistro>
<sf:IDEmisorFacturaRegistroAnterior>S</sf:IDEmisorFacturaRegistroAnterior>
</sf:PrimerRegistro>
<sf:EncadenamientoRegistroAnterior>
<sf:IDEmisorFacturaRegistroAnterior>
<sf:NIF>B58292129</sf:NIF>
</sf:IDEmisorFacturaRegistroAnterior>
<sf:NumSerieFacturaRegistroAnterior>T1966967</sf:NumSerieFacturaRegistroAnterior>
<sf:FechaExpedicionFacturaRegistroAnterior>27-09-2024</sf:FechaExpedicionFacturaRegistroAnterior>
<sf:HuellaRegistroAnterior/>
</sf:EncadenamientoRegistroAnterior>
<sf:SistemaInformatico>
<sf:NombreRazon>EMPRESA INFORMATICA,SL</sf:NombreRazon>
<sf:NIF>Bxxxxxxxx</sf:NIF>
<sf:NombreSistemaInformatico>ELSOFTWARE</sf:NombreSistemaInformatico>
<sf:IdSistemaInformatico>A.01</sf:IdSistemaInformatico>
<sf:Version>1.0</sf:Version>
<sf:NumeroInstalacion>100</sf:NumeroInstalacion>
<sf:TipoUsoPosibleSoloVerifactu>S</sf:TipoUsoPosibleSoloVerifactu>
<sf:TipoUsoPosibleMultiOT>S</sf:TipoUsoPosibleMultiOT>
<sf:IndicadorMiltipleOT>S</sf:IndicadorMiltipleOT>
</sf:SistemaInformatico>
<sf:FechaHoraHusoGenRegistro>2024-09-27T13:21:20+02:00</sf:FechaHoraHusoGenRegistro>
</sfLR:RegistroFacturacion>
<sf:TipoHuella>1</sf:TipoHuella>
<sf:Huella>C32E027863DBD555C84FD80E5A52D84EE30693DE3F28B599DDCB4461DD320811</sf:Huella>
</sfLR:RegistroAltaFacturas>
</sfLR:AltaFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>


Gracias de antemano, verremos como evoluciona el tema.
Un Saludo.

La razón social tiene que ser la de la empresa y que sea correcta. En el SII pasaba lo mismo
  #2471  
Antiguo 30-09-2024
Avatar de thinkows
thinkows thinkows is offline
Miembro
 
Registrado: mar 2020
Ubicación: Sabadell
Posts: 99
Poder: 6
thinkows Va por buen camino
Razon Social

Cita:
Empezado por Noe277 Ver Mensaje
La razón social tiene que ser la de la empresa y que sea correcta. En el SII pasaba lo mismo
Gracias Noe por responder.

La razón social es la de mi empresa, he sustituido el nombre por EMPRESA,SL como ejemplo para vosotros, lo que no me cuadra es el código de error que se corresponde con nif incorrecto y el descriptivo del error es otro.


Un saludo.
  #2472  
Antiguo 30-09-2024
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Cita:
Empezado por jlmoli_67 Ver Mensaje
Hola, newtron

Me suena mucho el haber visto ese problema en algun foro no se si del clubdelphi.com o de otro y creo recordar que era algo de configuracion del delphi (yo no lo uso). Simplemente queria decirte esto aunque tampoco te lo puedo asegurar pero quizas te pueda servir para que busques informacion al respecto y con eso me basta para decirtelo. Perdona si no fuera asi ya que tan solo me suena el problema que describes.

un saludo y suerte

Gracias compañero. Ya irán saliendo las cosas.
__________________
Be water my friend.
  #2473  
Antiguo 30-09-2024
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Hola a tod@s.


Como he visto que alguno de vosotros pregunta cómo guardar el XML de la factura os pongo el código que he preparado (con ayuda de este mismo hilo). No tengo confirmado es si es correcto y todavía tengo dudas sobre cómo firmarlo pero esto crea el fichero.


Código Delphi [-]
  // Si es NO VERIFACTU Guardo y firmo el fichero XML
  if (RadioButton3.Checked) or (RadioButton5.Checked) then begin
    MyXML := TXMLDocument.Create(Application);
    parentXML := TXMLDocument.Create( Application );

    MyXML.Active := True;
    MyXML.Version:='1.0';
    MyXML.Encoding:='utf-8';

    parentXML.Active := True;
    parentXML.Version:='1.0';
    parentXML.Encoding:='utf-8';


    ARootNode := MyXML.CreateNode('RegistroAlta');
    AParentode := parentXML.CreateNode('RegistroAlta');

    MOPToSoapDomConvert := TOPtoSOAPDomConvert.Create(Application);

    MOPToSoapDomConvert.Encoding := 'utf-8';

    MOPToSoapDomConvert.Options :=
    [
    TSOAPConvertOption.soXXXXHdr,
    TSOAPConvertOption.soDontSendEmptyNodes,
    TSOAPConvertOption.soUTF8InHeader,
    TSOAPConvertOption.soSendUntyped,
    TSOAPConvertOption.soSendMultiRefObj,
    //TSOAPConvertOption.soSendMultiRefArray,
    TSOAPConvertOption.soTryAllSchema,
    TSOAPConvertOption.soRootRefNodesToBody,
    TSOAPConvertOption.soCacheMimeResponse,
    TSOAPConvertOption.soUTF8EncodeXML,
    TSOAPConvertOption.soSOAP12];
    newNode := Factura.RegistroAlta.ObjectToSOAP( ARootNode, AParentode, MOPToSoapDomConvert, 'RegistroAlta',
      Swdsl,'T',[ocoDontPrefixNode,ocoDontPutTypeAttr], RefId  );
    MyXML.DocumentElement := NewNode;
    // Crear un stream de cadena para almacenar el contenido XML
    StringStream := TStringStream.Create;
    try
      sAux:=CarpetaXML+FormatDateTime('YYYY',XSDateTime.AsDateTime)+'\';
      CreateDir(sAux);
      sAux:=sAux+FormatDateTime('MM',XSDateTime.AsDateTime)+'\';
      CreateDir(sAux);
      // Guardar el contenido XML en el stream
      MyXML.SaveToStream(StringStream);
      // Guardar el contenido del stream en un archivo
      sAux:=sAux+Factura.RegistroAlta.IDFactura.NumSerieFactura+'.XML';
      StringStream.SaveToFile(sAux);
    finally
      StringStream.Free;
      XSDateTime.Free;
    end;
  end;
__________________
Be water my friend.
  #2474  
Antiguo 30-09-2024
yeyo yeyo is offline
Miembro
 
Registrado: abr 2010
Posts: 19
Poder: 0
yeyo Va por buen camino
buenos dias. ¿hay que darse de alta en la web de la aeat para utilizar el entorno de pruebas? ¿como/dónde? es que no encuentro nada al respecto (web de la aeat) y lo que me encuentro siempre es un lío. Gracias!!
  #2475  
Antiguo 30-09-2024
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 179
Poder: 8
pablog2k Va por buen camino
Cita:
Empezado por yeyo Ver Mensaje
buenos dias. ¿hay que darse de alta en la web de la aeat para utilizar el entorno de pruebas? ¿como/dónde? es que no encuentro nada al respecto (web de la aeat) y lo que me encuentro siempre es un lío. Gracias!!
según han comentado aqui, tú subes el xml con un certificado válido a la plataforma de pruebas y ya está....
  #2476  
Antiguo 30-09-2024
yeyo yeyo is offline
Miembro
 
Registrado: abr 2010
Posts: 19
Poder: 0
yeyo Va por buen camino
muchas gracias pablog2k!!!
  #2477  
Antiguo 30-09-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.874
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por newtron Ver Mensaje
Hola a tod@s.
Como he visto que alguno de vosotros pregunta cómo guardar el XML de la factura os pongo el código que he preparado (con ayuda de este mismo hilo). No tengo confirmado es si es correcto y todavía tengo dudas sobre cómo firmarlo pero esto crea el fichero.

Gracias.
Actualizado mensaje#2, dónde está la recopilación de códigos útiles.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
  #2478  
Antiguo 30-09-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 391
Poder: 9
sglorka Va por buen camino
Cita:
Empezado por thinkows Ver Mensaje
Buenos días, gracias a todos por vuestras aportaciones, hoy he enviado a mano el primer XML mediante ARC (Advanced Rest Client) y la primera en la frente tanto el NIF del emisor de la factura como el del certificado mediante el cual me iidentifico son los mismos, el problema es que me devuelve un error cuyo codigo [4118] no se corresponde con la descripción del mismo :

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Codigo[4118].Error La direccion no se corresponde con el fichero de entrada.</faultstring><detail><callstack>Error La direccion no se corresponde con el fichero de entrada.

La verdad voy muy despistado... parece que algo no está correcto en el encabezado, os adjunto el envío por si alguno le puede hechar un vistazo...


POST /wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP HTTP/1.1
Host: prewww1.aeat.es:443
Content-Type: text/xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:sfLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<soapenv:Header/>
<soapenv:Body>
<sfLR:AltaFactuSistemaFacturacion>
<sf:Cabecera>
<sf:IDVersion>1.0</sf:IDVersion>
<sf:ObligadoEmision>
<sf:NombreRazon>EMPRESA,S.L.</sf:NombreRazon>
<sf:NIF>Bnnnnnnnn</sf:NIF>
</sf:ObligadoEmision>
</sf:Cabecera>
<sfLR:RegistroAltaFacturas>
<sfLR:RegistroFacturacion>
<sf:IDFactura>
<sf:IDEmisorFactura>
<sf:NIF>Bnnnnnnnn</sf:NIF>
</sf:IDEmisorFactura>
<sf:NumSerieFacturaEmisor>T1966968</sf:NumSerieFacturaEmisor>
<sf:FechaExpedicionFacturaEmisor>27-09-2024</sf:FechaExpedicionFacturaEmisor>
</sf:IDFactura>
<sf:NombreRazonEmisor>EMPRESA,S.L.</sf:NombreRazonEmisor>
<sf:TipoRegistroSIF>S0</sf:TipoRegistroSIF>
<sf:TipoFactura>F1</sf:TipoFactura>
<sf:TipoRectificativa>S</sf:TipoRectificativa>
<sfescripcionOperacion>Venta Artículos Jardineria</sfescripcionOperacion>
<sf:FacturaSimplificadaArticulos7.2_7.3>S</sf:FacturaSimplificadaArticulos7.2_7.3>
<sf:FacturaSinIdentifDestinatarioArticulo6.1.d>S</sf:FacturaSinIdentifDestinatarioArticulo6.1.d>
<sf:Cupon>N</sf:Cupon>
<sfesglose>
<sfetalleDesglose>
<sf:ClaveRegimen>01</sf:ClaveRegimen>
<sf:CalificacionOperacion>S1</sf:CalificacionOperacion>
<sf:TipoImpositivo>21.00</sf:TipoImpositivo>
<sf:BaseImponibleOimporteNoSujeto>21.82</sf:BaseImponibleOimporteNoSujeto>
<sf:CuotaRepercutida>4.58</sf:CuotaRepercutida>
</sfetalleDesglose>
</sfesglose>
<sf:CuotaTotal>4.58</sf:CuotaTotal>
<sf:ImporteTotal>26.40</sf:ImporteTotal>
<sf:PrimerRegistro>
<sf:IDEmisorFacturaRegistroAnterior>S</sf:IDEmisorFacturaRegistroAnterior>
</sf:PrimerRegistro>
<sf:EncadenamientoRegistroAnterior>
<sf:IDEmisorFacturaRegistroAnterior>
<sf:NIF>B58292129</sf:NIF>
</sf:IDEmisorFacturaRegistroAnterior>
<sf:NumSerieFacturaRegistroAnterior>T1966967</sf:NumSerieFacturaRegistroAnterior>
<sf:FechaExpedicionFacturaRegistroAnterior>27-09-2024</sf:FechaExpedicionFacturaRegistroAnterior>
<sf:HuellaRegistroAnterior/>
</sf:EncadenamientoRegistroAnterior>
<sf:SistemaInformatico>
<sf:NombreRazon>EMPRESA INFORMATICA,SL</sf:NombreRazon>
<sf:NIF>Bxxxxxxxx</sf:NIF>
<sf:NombreSistemaInformatico>ELSOFTWARE</sf:NombreSistemaInformatico>
<sf:IdSistemaInformatico>A.01</sf:IdSistemaInformatico>
<sf:Version>1.0</sf:Version>
<sf:NumeroInstalacion>100</sf:NumeroInstalacion>
<sf:TipoUsoPosibleSoloVerifactu>S</sf:TipoUsoPosibleSoloVerifactu>
<sf:TipoUsoPosibleMultiOT>S</sf:TipoUsoPosibleMultiOT>
<sf:IndicadorMiltipleOT>S</sf:IndicadorMiltipleOT>
</sf:SistemaInformatico>
<sf:FechaHoraHusoGenRegistro>2024-09-27T13:21:20+02:00</sf:FechaHoraHusoGenRegistro>
</sfLR:RegistroFacturacion>
<sf:TipoHuella>1</sf:TipoHuella>
<sf:Huella>C32E027863DBD555C84FD80E5A52D84EE30693DE3F28B599DDCB4461DD320811</sf:Huella>
</sfLR:RegistroAltaFacturas>
</sfLR:AltaFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>


Gracias de antemano, verremos como evoluciona el tema.
Un Saludo.
Tu certificado no está registrado como activo parar acceder a la Aeat
Mira las validaciones de error en este documento
En concreto "4118 El NIF del titular no está autorizado a enviar información al sistema"

https://sede.agenciatributaria.gob.e...esSII_v1.1.pdf
  #2479  
Antiguo 30-09-2024
Avatar de thinkows
thinkows thinkows is offline
Miembro
 
Registrado: mar 2020
Ubicación: Sabadell
Posts: 99
Poder: 6
thinkows Va por buen camino
Error mio

Cita:
Empezado por sglorka Ver Mensaje
Tu certificado no está registrado como activo parar acceder a la Aeat
Mira las validaciones de error en este documento
En concreto "4118 El NIF del titular no está autorizado a enviar información al sistema"

https://sede.agenciatributaria.gob.e...esSII_v1.1.pdf
Buenos días, error mío he subido una versión del xml antigua, perdonad si os hice perder tiempo lo siento mucho.

Un saludos y muchas gracias a todos.
  #2480  
Antiguo 30-09-2024
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 292
Poder: 9
seccion_31 Va por buen camino
Buenos dias

Estoy actualizando el programa que envia facturas (simples) a verifactu, que deje posteado hace tiempo en este foro desde una hoja de calculo, ahora para realizar ya el envio de pruebas.

Modificado, y probado me devuelve este error:

Error al realizar el envío; (ERemotableException)-<env:Fault xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>env:Server</faultcode><faultstring>Codigo[1207].Se esperaba nodo {http://schemas.xmlsoap.org/soap/envelope/}Envelope y ha venido {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring></env:Fault>

efectivamente, la cabecera del XML que envia es: http://www.w3.org/2003/05/soap-envelope pero no se como cambiarlo al que me esta pidiendo: http://schemas.xmlsoap.org/soap/envelope

(he tratado de alterar el XML antes del envio httprio beofre...., pero creo que habra mejor forma y tampoco lo he conseguido).


¿puede alguien ayudarme? y asi dejamos un ejemplo funcional de envio de alta y baja de facturas al entorno de pruebas.

Saludos !
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 15:57:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi