Se puede utilizar una tarea tipo script para recuperar datos de un archivo de un comprobante timbrado que tenga el formato XML según la normatividad del SAT v3.3

Para ello es necesario añadir a la forma un campo tipo Documento en el que se cargará el documento XML.

La ejecución del workprocess no se ejecutará con una importación del documento en forma masiva sino solo a través de la ejecución bajo demanda o por calendario.

Dentro del script,  lo primero es instanciar el objeto que representará al XML con la función simpleXML.



XML = simpleXML(mivariable);  donde mivariable es el campo tipo documento, como el campo puede tener varios archivos se recomienda usar un Foreach para procesar cada uno de ellos.  Si solamente va a usar un archivo, entonces no es necesario usar el Foreach.  Observe el siguiente ejemplo:

 

En este ejemplo el campo XML es un campo tipo documento y está en la forma donde se está lanzando el evento ( de ahí la referencia “input.”).

Una vez instanciado, se tiene disponible dos métodos en el objeto:


.xpath(): Busca el nodo que cumpla la ruta definida.

 

 

.getAttribute(): Obtiene el valor del atributo del nodo actual

 

Una vez recuperado los datos, los puede insertar en otra forma a través de un “Insert into”. En el Ejemplo se Insertaron los datos en una forma llamada “Datos_CFDI”.

Dentro del insert, los datos en color negro (Serie, Folio, Fecha, etc.) hacen referencia a los campos que tiene la forma, y los datos en color azul se refiere a las variables antes declaradas que tienen en memoria los datos del XML.


 

 

 

A continuación, se muestra un ejemplo completo de cómo se puede hacer la carga de un XML a distintas formas.