FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour CONSULTA CON PROGRAMA EXTERNO
Posts: 46
Joined: Mon Jul 31, 2006 07:02 PM
CONSULTA CON PROGRAMA EXTERNO
Posted: Sat Aug 20, 2016 05:47 PM

Estimado amigos, llevo trabajando nn tiempo con clipper, me pase a fivewin y de ahi a fivewin xharbour, estoy con FWH 8.12. BCC55, Xharbour, el tema es el siguiente que me supera y necesito trabajar como explico.

Tengo un sistema que emite facturas, para que salga la factura electr贸nica en chile, contrate una aplicaci贸n (integrador) que captura mi xml, y lo enlaza con el certificado y genera el documento final, pero
solo puedo ver ese documento en la pagina web del due帽o de este integrador.

cFileName :="Fact001"+".Xml"
ASI FUNCIONA COMO INDICA

cComando := "SFACTURA"+" "+"distribuidora@gmail.com"+" "+"m844"+" "+"pro"+" "+cFileName
WINEXEC( cComando )

pero necesito agregar los siguiente :

"{\"savePDF\":\"C:\temp\dte-123\"}"

para que se ejecute asi

sfactura.exe "usuario@empresa.com" "miclave" "cer" "archivo.json" "{\"savePDF\":\"C:\temp\dte-123\"}"

pero las comillas del comando "{\"savePDF\":\"C:\temp\dte-123\"}" , me dan error por todos lados...

ahora este programa, genera de respuesta un mensaje de error o de respuesta como string JSON de la siguiente forma {"ok":true,"folio":"125"} , donde ese numero corresponde al numero del documento que se genero, el numero de la factura, hay forma de capturar esa respuesta de ese numero, para que de ahi, pueda guardar el numero real de documento en mi sistema.

Atte.,

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: CONSULTA CON PROGRAMA EXTERNO
Posted: Sat Aug 20, 2016 06:01 PM
Suponiendo que tu problema sea con integrar las comillas dentro de tu cadena
Intenta generar la cadena sustituyendo las comillas que tengas que integrar dentro de la cadena como

Code (fw): Select all Collapse
      string := "Mi Cadena " + Chr( 34 ) + "otro " + Chr( 34 )

o tambi茅n puedes hacer

Code (fw): Select all Collapse
聽 聽 聽 聽 聽 聽 聽 聽string := "Mi cadena " + '"' + "otro " + '"'
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: CONSULTA CON PROGRAMA EXTERNO
Posted: Sun Aug 21, 2016 03:29 PM
string := [I have double " quotes and also single ' quotes]
? string
Regards



G. N. Rao.

Hyderabad, India
Posts: 3
Joined: Sat Aug 20, 2016 04:50 PM
Re: CONSULTA CON PROGRAMA EXTERNO
Posted: Mon Aug 22, 2016 06:06 PM

Env铆o de Opciones

Las opciones adicionales se definen mediante un string JSON.
En caso de utilizar el comando sfactura.exe, es importante advertir que la linea de comandos requiere escapar los caracteres " y \ anteponiendo un caracter de escape .

Por ejemplo, si queremos pasar como argumento el string JSON {"savePDF" : "c:\temp\dte-123"}, la linea de comandos debe quedar as铆:

sfactura.exe "usuario@empresa.com" "miclave" "cer" "archivo.json" "{\"savePDF\":\"C:\temp\dte-123\"}"
Notar que en el comando anterior hemos destacado en rojo el caracter de escape .

Env铆o de Mails

Para enviar los PDF y XML a los receptores de los DTE, se puede utilizar la opci贸n mail, indicando el correo electr贸nico de la casilla del receptor destinada para la recepci贸n de los DTE:

{
"mail" : "dte@cliente.cl"
}
Descargas de PDF

Esta opci贸n permite descargar los PDF de los DTE copia original y copia cedible (cuando corresponda).
Para tales efectos, se debe especificar la opci贸n savePDF e indicar la ruta de destino y el prefijo para los archivos PDF que se descargar谩n.
Por ejemplo, si se especifica la ruta C:\temp\dte-123, se generar谩n los archivos C:\temp\dte-123.pdf para la copia original y C:\temp\dte-123-cedible.pdf para la copia cedible.

{
"savePDF" : "C:\temp\dte-123"
}

a lo anterior, como poder cargarlo en mi archivo de arranque como escribo asi

cComando := "SFACTURA"+" "+"distribuidora@gmail.com"+" "+"m844"+" "+"pro"+" "+cFileName

WINEXEC( cComando )

se puede hacer esto :

cRespuesta := WINEXEC( cComando )

en donde en cRespuesta, debiera quedar = {"ok":true,"folio":"125"}, ya que necesito saber que el envi贸 quedo Ok, y capturar ese numero.

Continue the discussion