Page 1 of 1

Leer xml factura electrónica México

Posted: Sun Sep 29, 2019 5:01 pm
by jparada
Hola,
Tenía la necesidad de leer datos muy específicos de un archivo xml (factura electrónica), así que adjunto este ejemplo que no tiene mayor complejidad, en caso que alguno de ustedes tenga un requerimiento similar.
xml.zip
(3.19 KiB) Downloaded 200 times
Detalles...
- No me siento conforme cómo resolví el tema de manejar la línea para escribir los datos a Excel, si alguno de ustedes puede aportar una mejor manera se lo agradezco.
- Si los archivos a leer son muchos (en mi caso más de 5000), se congela el programa con el famoso mensaje "no responde", pero finaliza correctamente..., tenemos en hmg algo tipo sysrefresh para evitar ese comportamiento?, esto solo por estética, también se podría utilizar una barra de progreso en donde se despliegue "leyendo 1 de n archivos", a ver si se puede evitar ese detalle, aunque esta solución no me agrada mucho y además que no sé cómo implementar esa barra de progreso en todo caso.
- Estoy utilizando la librería de Fausto https://github.com/FTrautwein/hbxlsxml para generar el archivo Excel.
que genera un archivo xml, hay que utilizar "Abrir con... Excel"

La ventaja de ésta librería es que es mucho más rápido exportar/escribir datos a Excel que utilizar

Code: Select all

win_oleCreateObject( "Excel.Application" )
Espero este ejemplo sea de utilidad.

Saludos,
Javier

Re: Leer xml factura electrónica México

Posted: Sun Sep 29, 2019 8:54 pm
by edk
jparada wrote: Sun Sep 29, 2019 5:01 pm - Si los archivos a leer son muchos (en mi caso más de 5000), se congela el programa con el famoso mensaje "no responde", pero finaliza correctamente..., tenemos en hmg algo tipo sysrefresh para evitar ese comportamiento?
Try to add "Do Events" into For ... Each loop.

Re: Leer xml factura electrónica México

Posted: Tue Oct 01, 2019 4:18 pm
by jparada
Hi Edward,
edk wrote: Sun Sep 29, 2019 8:54 pm Try to add "Do Events" into For ... Each loop.
I did the test and what I see works, that is, the program is no longer frozen, but what I noticed is that it has a little impact on performance, I mean, the process runs faster without "Do Events".

Regards,
Javier

Re: Leer xml factura electrónica México

Posted: Tue Oct 01, 2019 7:11 pm
by edk
For example, you can try calling Do Events every hundredth step of a loop.

Edward ;) .

Re: Leer xml factura electrónica México

Posted: Tue Oct 01, 2019 10:05 pm
by jparada
Hi,
Edward, sorry for my mistake..., thanks for your advice.

Regards,
Javier