Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #61  
Antiguo 01-10-2018
elguille elguille is offline
Miembro
 
Registrado: ene 2005
Posts: 100
Poder: 15
elguille Va por buen camino
Añadir Pdf De La Factura

Cita:
Empezado por newtron Ver Mensaje
Hola a tod@s.


Viendo que este asunto no prosperaba y que necesitaba resolverlo le encargué el proyecto a alguien que sabe más que nosotros y que domina varias herramientas de programación.


Había que resolver dos problemas, primero el de firmar el fichero XML en tiempo de ejecución, cosa que estaba complicada sin componentes externos porque desde Delphi no conocemos a nadie que haya sido capaz de hacerlo así que se ha desarrollado una dll en .NET que hace la función de firmado y que se llama desde el proyecto Delphi. Posteriormente había que hacer la llamada al webservice firmada con el protocolo X.509, cosa que tampoco sabíamos resolver y que tampoco ha sido fácil de desarrollar.


Resumiendo, aquí os adjunto un ejemplo operativo que hace las funciones más habituales de llamadas al webservice de FACE, firma y envía ficheros XML, consulta de facturas, consulta de unidades y alguna cosa más que no he probado porque en principio tampoco voy a necesitar. Por supuesto también se pueden usar sus funciones para solamente firmar un fichero XML para enviarlo por otros medios.



Está compilado en Delphi Berlín e imagino que funcionará igualmente en Tokyo, para que funcione en versiones anteriores posiblemente habría que hacer algunos retoques.



Aunque lo pongo en un LEEME.TXT lo único que hay que hacer es tener instalada y registrada la dll de CAPICOM (no incluida) y posteriormente ejecutar el fichero REGISTER.BAT para registrar la dll que se usa para la firma.


Link para la descarga.



Saludos y que aproveche.

Edito:

Se me olvidaba comentar dos temas:

1º Para poder enviar facturas a FACE hay que estar dado de alta como proveedor. Si quieres usar los wsdl de prueba hay que estar dado de alta por el entorno de pruebas y si quieres usar los de producción hay que darse de alta también en producción. Si no me equivoco, el entorno de pruebas es https://se-face.redsara.es/es/login

2º El programa que adjunto tiene los WSDL del entorno de pruebas, para pasar al de producción solo hay que cambiar en el objeto HTTPRIO el wsdl, puerto y servicio.
Gracias Newtron por el codigo. Trasteando con el he enviado sin problemas una factura a la webservice de pruebas, pero para poderla emplear necesitaria poder añadir el PDF correspondiente a la imagen fisica de la factura, mirando el WDSL he añadido el siguiente codigo al enviar la factura

Código Delphi [-]
  
  miarr:arrayofanexofile;
  miarr1:anexofile;

if ficheropdf<>'' then
  begin
    MIARR1:=anexofile.create;
    miarr1.mime:='application/pdf';
    MIARR1.nombre:=extractfilename(ficheropdf);
    MIARR1.anexo:=tfile.ReadAllText(ficheropdf);
    SetLength(miarr, Length(miarr)+1);
    miarr[0]:=miarr1;
    SenderEnviarFactura.anexos  := miarr;
  end;
pero al hacerlo recibo el error "Se encontró un carácter no valido en el contenido del texto", imagino que tengo que codificar de alguna manera el texto resultante de tfile.ReadAllText(ficheropdf); ¿alguien sabe cómo se haría?
Gracias
Responder Con Cita
  #62  
Antiguo 01-10-2018
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.045
Poder: 16
newtron Va camino a la fama
Guille.


Me alegro de que te haya servido el código. Sobre el tema del problema que tienes la verdad es que no sabría decirte pero si te puedo comentar que tuvimos bastantes problemas con la codificación de los "strings" que se enviaban y al final funcionó codificando con UTF8Encode(...), no sé si los tiros en este caso irán por ahí.


Saludos

Edito: Si das con la solución compártelo por favor por si alguno lo necesitamos.
__________________
Be water my friend.

Última edición por newtron fecha: 01-10-2018 a las 18:30:05.
Responder Con Cita
  #63  
Antiguo 02-10-2018
elguille elguille is offline
Miembro
 
Registrado: ene 2005
Posts: 100
Poder: 15
elguille Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Guille.


Me alegro de que te haya servido el código. Sobre el tema del problema que tienes la verdad es que no sabría decirte pero si te puedo comentar que tuvimos bastantes problemas con la codificación de los "strings" que se enviaban y al final funcionó codificando con UTF8Encode(...), no sé si los tiros en este caso irán por ahí.


Saludos

Edito: Si das con la solución compártelo por favor por si alguno lo necesitamos.
Ya me fije con los comentarios que habiais hecho muchas pruebas. Lo que comentas y varias cosas mas ya las habia probado y no se me ocurre que empaquetado es el que quieren, en fin haré mas pruebas a ver si me viene alguna idea.

Gracias y saludos
Responder Con Cita
  #64  
Antiguo 02-10-2018
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.538
Poder: 24
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por newtron Ver Mensaje
[...]firmar el fichero XML en tiempo de ejecución, cosa que estaba complicada sin componentes externos porque desde Delphi no conocemos a nadie que haya sido capaz de hacerlo[...]
Y una vez que Embarcadero o algún programador lo consiga con código 100% en Delphi, será la noticia de la década.
__________________
@algonzalez74
Responder Con Cita
  #65  
Antiguo 15-11-2018
elguille elguille is offline
Miembro
 
Registrado: ene 2005
Posts: 100
Poder: 15
elguille Va por buen camino
Código Delphi [-]
var
  miarr:arrayofanexofile;
  miarr1:anexofile;

  if edit1.Text<>'' then
  begin
    MIARR1:=anexofile.create;
    miarr1.mime:='application/pdf';
    MIARR1.nombre:=utf8encode(extractfilename(EDIT1.Text));
    MIARR1.anexo:=Encode64(tfile.ReadAllText(edit1.Text),tetUTF8);
    SetLength(miarr, Length(miarr)+1);
    miarr[0]:=miarr1;
    SenderEnviarFactura.anexos  := miarr;
  end;
A falta de hacer una prueba real este es el codigo correcto para añadir un pdf de imagen de la factura.
Responder Con Cita
  #66  
Antiguo 16-11-2018
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.045
Poder: 16
newtron Va camino a la fama
Cita:
Empezado por elguille Ver Mensaje
Código Delphi [-]var miarr:arrayofanexofile; miarr1:anexofile; if edit1.Text<>'' then begin MIARR1:=anexofile.create; miarr1.mime:='application/pdf'; MIARR1.nombre:=utf8encode(extractfilename(EDIT1.Text)); MIARR1.anexo:=Encode64(tfile.ReadAllText(edit1.Text),tetUTF8); SetLength(miarr, Length(miarr)+1); miarr[0]:=miarr1; SenderEnviarFactura.anexos := miarr; end;

A falta de hacer una prueba real este es el codigo correcto para añadir un pdf de imagen de la factura.

muchas gracias por la info, el que primero lo pruebe que lo confirme.


Saludos
__________________
Be water my friend.
Responder Con Cita
  #67  
Antiguo 14-03-2019
Virman Virman is offline
Miembro
 
Registrado: ene 2017
Posts: 67
Poder: 3
Virman Va por buen camino
Consulta estado facturas

Buenos días,
Tengo que realizar un programa que consulte el estado de las facturas pero sin certificado. En la web de FACE he visto que rellenando unos campos se permite realizar la consulta de facturas.

Entiendo que podría usar el programa que habéis aportado para realizar estas consultas, verdad?

Muchas gracias!
Responder Con Cita
  #68  
Antiguo 14-03-2019
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.045
Poder: 16
newtron Va camino a la fama
Cita:
Empezado por Virman Ver Mensaje
Buenos días,
Tengo que realizar un programa que consulte el estado de las facturas pero sin certificado. En la web de FACE he visto que rellenando unos campos se permite realizar la consulta de facturas.

Entiendo que podría usar el programa que habéis aportado para realizar estas consultas, verdad?

Muchas gracias!

Dudo que puedas consultar las facturas sin tener que introducir el certificado.
__________________
Be water my friend.
Responder Con Cita
  #69  
Antiguo 14-03-2019
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: 15.895
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Cita:
Empezado por Virman Ver Mensaje
Tengo que realizar un programa que consulte el estado de las facturas pero sin certificado. En la web de FACE he visto que rellenando unos campos se permite realizar la consulta de facturas.

Tendrías quue acalarar qué sistema quieres utilizar. Hay varios.
Habría que ver si se puede enviar información de registro a la web utilizando las Indy o similares.


Cita:
Empezado por Virman Ver Mensaje
Entiendo que podría usar el programa que habéis aportado para realizar estas consultas, verdad?
No se de qué programa hablas. Está en este hilo.
¿Puedes dar un link al programa? No sigo con mucho detalle este hilo.


Cita:
Empezado por newtron Ver Mensaje
Dudo que puedas consultar las facturas sin tener que introducir el certificado.

Si se puede. Hay varios sistemas de consulta:


__________________
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.
Responder Con Cita
  #70  
Antiguo 14-03-2019
Virman Virman is offline
Miembro
 
Registrado: ene 2017
Posts: 67
Poder: 3
Virman Va por buen camino
Si se puede. Hay varios sistemas de consulta:


[/quote]

Esta opción es a través de su web y obliga a introducir un captcha.

Lo que yo estoy preguntando es si habría posibilidad de, usando el web service, realizar esa consulta de una factura sin identificación y no tener que introducir captcha alguno.

Cualquier ayuda o sugerencia es agradecida.

Un saludo.
Responder Con Cita
  #71  
Antiguo 14-03-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 29.133
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Virman Ver Mensaje
Esta opción es a través de su web y obliga a introducir un captcha.
Lo que yo estoy preguntando es si habría posibilidad de, usando el web service, realizar esa consulta de una factura sin identificación y no tener que introducir captcha alguno.Cualquier ayuda o sugerencia es agradecida.Un saludo.
Algún control debe tener, ya que entonces cualquiera podría ver las facturas de quien quisiera.
Responder Con Cita
  #72  
Antiguo 14-03-2019
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.045
Poder: 16
newtron Va camino a la fama
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje

Si se puede. Hay varios sistemas de consulta:



Me refería a que no creo que pueda hacer consultas sin identificarse.
__________________
Be water my friend.
Responder Con Cita
  #73  
Antiguo 14-03-2019
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: 15.895
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Cita:
Empezado por Virman Ver Mensaje
Si se puede. Hay varios sistemas de consulta:
Esta opción es a través de su web y obliga a introducir un captcha.

Lo que yo preguntaba es ¿Cual de ellas?
Quitando la del certificado quedan 3.


Revisa estos hilos que explican cómo interactuar con una web:
http://www.clubdelphi.com/foros/showthread.php?t=37050
https://www.clubdelphi.com/foros/showthread.php?t=72067


Si buscas encontrarás más...
__________________
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.
Responder Con Cita
  #74  
Antiguo 14-03-2019
Virman Virman is offline
Miembro
 
Registrado: ene 2017
Posts: 67
Poder: 3
Virman Va por buen camino
Usando el botón de Sin Identificación.

En el formulario que aparece a continuación te pide algún dato que identifique la factura e introducir un captcha. https://1drv.ms/u/s!Ar8oZnzvbJ7FmVRITrDI51MC9xPk

Mi consulta es si usando los métodos del webservice se podría hacer esta consulta a través de un programa, para no tener que usar la web y sin tener que introducir el captcha alguno.

Muchas gracias.
Responder Con Cita
  #75  
Antiguo 18-03-2019
Virman Virman is offline
Miembro
 
Registrado: ene 2017
Posts: 67
Poder: 3
Virman Va por buen camino
Cita:
Empezado por Virman Ver Mensaje
Usando el botón de Sin Identificación.

En el formulario que aparece a continuación te pide algún dato que identifique la factura e introducir un captcha. https://1drv.ms/u/s!Ar8oZnzvbJ7FmVRITrDI51MC9xPk

Mi consulta es si usando los métodos del webservice se podría hacer esta consulta a través de un programa, para no tener que usar la web y sin tener que introducir el captcha alguno.

Muchas gracias.
Me auto respondo.
Al final he optado por hacer una aplicación que interactúe con la web, como recomendaba Neftali [Germán.Estévez] , es un tostón tener que estar introduciendo el captcha, pero al menos puedes consultar el estado de una factura sin tener que identificarte en el portal de FACE.

Gracias a todos por vuestros comentarios y ayuda.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Facturas Electronicas Argentina Chaja Varios 3 10-07-2015 19:15:05
Agregar Adendas a Facturas electronicas mexico reypcs Varios 0 20-01-2011 16:26:10
Tabla de Facturas vs Detalles de Facturas magnu9 Conexión con bases de datos 9 27-07-2007 17:27:37
Comunicaciones electronicas EDI Toni Conexión con bases de datos 0 18-04-2006 13:06:34
Campos calculados, facturas y detalles de facturas. Letty Conexión con bases de datos 7 07-11-2003 11:19:44


La franja horaria es GMT +2. Ahora son las 03:34:06.


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