CONSULTA CON PROGRAMA EXTERNO

CONSULTA CON PROGRAMA EXTERNO

Postby norte_67 » Sat Aug 20, 2016 5: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.,
norte_67
 
Posts: 46
Joined: Mon Jul 31, 2006 7:02 pm

Re: CONSULTA CON PROGRAMA EXTERNO

Postby cnavarro » Sat Aug 20, 2016 6: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: Select all  Expand view

      string := "Mi Cadena " + Chr( 34 ) + "otro " + Chr( 34 )
 

o también puedes hacer

Code: Select all  Expand view

               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
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: CONSULTA CON PROGRAMA EXTERNO

Postby nageswaragunupudi » Sun Aug 21, 2016 3:29 pm

string := [I have double " quotes and also single ' quotes]
? string
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10247
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: CONSULTA CON PROGRAMA EXTERNO

Postby kpidata2016 » Mon Aug 22, 2016 6: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.
kpidata2016
 
Posts: 3
Joined: Sat Aug 20, 2016 4:50 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 28 guests