CONSULTA CON PROGRAMA EXTERNO

Post Reply
norte_67
Posts: 46
Joined: Mon Jul 31, 2006 7:02 pm

CONSULTA CON PROGRAMA EXTERNO

Post by norte_67 »

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

Re: CONSULTA CON PROGRAMA EXTERNO

Post by cnavarro »

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

      string := "Mi Cadena " + Chr( 34 ) + "otro " + Chr( 34 )
 
o también puedes hacer

Code: Select all

               string := "Mi cadena " + '"' + "otro " + '"'
 
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: CONSULTA CON PROGRAMA EXTERNO

Post by nageswaragunupudi »

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

G. N. Rao.
Hyderabad, India
kpidata2016
Posts: 3
Joined: Sat Aug 20, 2016 4:50 pm

Re: CONSULTA CON PROGRAMA EXTERNO

Post by kpidata2016 »

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 _ " 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.
Post Reply