Crear archivos XML

173 views
Skip to first unread message

Mosquetero IV

unread,
Jun 27, 2023, 11:33:31 AM6/27/23
to Mundo Visual FoxPro
Buenos días a todos Grupo,

Tengo la necesidad de generar las facturas a XML, con su encabezado y detalles, me gustaría saber si podrían ayudarme con una guía de cómo crear los archivos XML.

Gracias.

Andrickson.

Alfonso Ramirez Diaz

unread,
Jun 27, 2023, 11:42:59 AM6/27/23
to mundovis...@googlegroups.com
Los archivos XML son simples archivos de texto que puedes generar sin problemas con Foxpro no es nada especial solo debes ir concatenando cadenas y después guardar en un archivo con STRTOFILE

El proceso más complicado es el de firmar los documentos XML, hay si debes usar otras herramientas fuera de Foxpro.


--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/mundovisualfoxpro/c1802339-fc1e-456d-a441-d6c432e5a9d8n%40googlegroups.com.


--



Alfonso Ramirez Diaz

Ivan Herrera

unread,
Jun 28, 2023, 1:39:40 PM6/28/23
to Mundo Visual FoxPro
Hola a todos
Yo uso esta rutina que me genera la linea para el xml, simplemente le llamo con el campo, espero te sirva

PARAMETERS ldesc, lcampo, ltipo
IF EMPTY(lcampo) AND ldesc  # "valorRetenido" AND ldesc # "baseImponible"
=MESSAGEBOX("Error campo en blanco "+ldesc,0,cMessagetitle)
gerror = 1
RETURN
ENDIF
DO CASE
CASE ltipo="C"
WAIT WINDOW NOWAIT lcampo
dato  = CHRTRAN(lcampo,[áéíóúñÁÍÓÚÑ&><"'º°],[aeiounAIOUN-......])
linea= "<"+ldesc+">"+ALLTRIM(dato)+"</"+ldesc+">" + CR
CASE ltipo="N"
WAIT WINDOW NOWAIT STR(lcampo)
linea= "<"+ldesc+">"+ALLTRIM(STR(lcampo,12,2))+"</"+ldesc+">" + CR
ENDCASE
cXML=cXML+ linea

Eric Zbrun

unread,
Jun 28, 2023, 3:18:52 PM6/28/23
to mundovis...@googlegroups.com
Hola Gente de FOX!

Podes usar CURSORTOXML() donde tenes la factura y los items en un solo cursor y lo pasar con eso. Ahora claro lo pasa un formato que es un XML compatible con FOX si necesitas un formato en especial tenes que ver quien va usar ese XML.

Ejemplo que me dio ChatGPT :/

USE Customer  && Abrir una tabla o vista
GO TOP  && Ir al primer registro

CURSORTOXML(1, "C:\MiCarpeta\customers.xml")  && Convertir el cursor #1 a XML y guardarlo en un archivo específico

WAIT WINDOW "El cursor se ha convertido en XML y se ha guardado en customers.xml."  && Mostrar un mensaje

Saludos.
Eric!




--
Saludos.
Eric!

Mosquetero IV

unread,
Jul 1, 2023, 9:08:40 AM7/1/23
to Mundo Visual FoxPro
Buenos días sr.. Ivan Herrera, muchas gracias por la atención y ayuda.

En el ejemplo que me envió, me gustaría saber, de donde proviene la variable: CR

linea= "<"+ldesc+">"+ALLTRIM(STR(lcampo,12,2))+"</"+ldesc+">" + CR

Gracias anticipadas.

Mosquetero IV

unread,
Jul 1, 2023, 9:20:19 AM7/1/23
to Mundo Visual FoxPro
Buenos días Alfonso, muchas gracias por la atención.

Ya probé la función exitosamente.

Gracias.

Mosquetero IV

unread,
Jul 1, 2023, 10:55:06 AM7/1/23
to Mundo Visual FoxPro
Buenos días sr.  Eric Zbrun.

Muchas gracias por la idea de ChatGpt.

Ivan Herrera

unread,
Jul 3, 2023, 5:20:08 PM7/3/23
to Mundo Visual FoxPro
Hola, la variable CR es el enter
CR = CHR(13)

Mosquetero IV

unread,
Jul 4, 2023, 8:44:37 PM7/4/23
to Mundo Visual FoxPro
Saludos Ivan,

Muchas gracias.
Reply all
Reply to author
Forward
0 new messages