Adicionalmente
a la librería de funciones VirtualXML.DLL, VirtualXML provee de un
programa ejecutable externo para equipos de 32 y 64 bits
(VirtualXML.EXE y VirtualXML_x64.EXE) que se ejecuta desde la línea de
comandos.
Este programa externo utiliza archivos de texto (scripts) para realizar el proceso de firmado, sellado y timbrado de documentos fiscales digitales (CFDIs) en versiones 3.3. y 4.0
Es muy útil cuando tu lenguaje de programación no soporta llamadas a DLLs externas o bien cuando requieres hacer una factura sin necesidad de recurrir a un programa formal.
Los scripts de VirtualXML son simplemente archivos de texto con la extensión .vxml (aunque pueden tener cualquier extensión), que contienen llamadas a las funciones de la librería VirtualXML con un formato específico.
Ejemplo:
Si queremos crear un documento CFDI en la version 4.0 nuestro script (archivo de texto) deberá contener las siguientes lineas:
|>| VirtualXML_New | 4.0 |<|
Si observas bien, esta es una llamada similar a la función VirtuaXML_New() y utiliza incluso su mismo parámetro.
Las reglas para el llamado a las instrucciones de VirtualXML para los archivos scripts son muy simples:
Se coloca una sola instrucción por línea
|>| Inicia instruccion VirtualXML
Instruccion Virtual XML + | (pleca, pipe)
Parámetro(s) de la función separados por " | " (pleca, pipe) en vez de ",". Son los mismos parametros de la funciones de la DLL a excepción del "handler" de la función, el cual no es requerido en el Script.
Parámetro que no deba de ser expresado se representa vacio: " | | "
|<| Termina instruccion VirtualXML
Similar a como se usan la funciones de la DLL VirtualXML, cada llamada a una función va creando en la memoria de la computadora el archivo XML, en el ejemplo anterior se crea el siguiente nodo:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
</cfdi:Comprobante>
Tal como si estuvieramos programando en un lenguaje de programación convencional, agregaremos mas instrucciones VirtualXML, siguiendo la regla de llamado, así por ejemplo para completar el nodo <cfdi:Comprobante> agregaremos:
|>|VirtualXML_SetComprobanteInfo_cfdi40|CJZ|7303|%cb_date|99|CREDITO|6034.48|0.00|MXN|1|7000.00|I|PPD|07270||01|<|
Y en la memoria de la computadora se habra creado:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
Serie="CJZ"
Folio="7303"
Fecha="%cb_date"
Sello=""
FormaPago="99"
NoCertificado=""
Certificado=""
CondicionesDePago="CREDITO"
SubTotal="6034.00"
Descuento="0.00"
Moneda="MXN"
Total="7000.00"
TipoDeComprobante="I"
Exportacion="01"
MetodoPago="PPD"
LugarExpedicion="07270">
</cfdi:Comprobante>
Agregamos información de Emisor y Receptor:
|>|VirtualXML_SetEmisorInfo_cfdi40|EKU9003173C9|ESCUELA KEMPER URGATE|601||<|
|>|VirtualXML_SetReceptorInfo_cfdi40|CTE940531F58|CIBERNETICA Y TECNOLOGIA|||G03|53050|601|<|
Y Obtenemos esto:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
Serie="CJZ"
Folio="7303"
Fecha="%cb_date"
Sello=""
FormaPago="99"
NoCertificado=""
Certificado=""
CondicionesDePago="CREDITO"
SubTotal="6034.00"
Descuento="0.00"
Moneda="MXN"
Total="7000.00"
TipoDeComprobante="I"
Exportacion="01"
MetodoPago="PPD"
LugarExpedicion="07270">
<cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" RegimenFiscal="601"/>
<cfdi:Receptor Rfc="CTE940531F58" Nombre="CIBERNETICA Y TECNOLOGIA" DomicilioFiscalReceptor="53050" RegimenFiscalReceptor="601" UsoCFDI="G03"/>
</cfdi:Comprobante>
Agreguemos un concepto y sus respectivos impuestos:
|>|VirtualXML_AddConcepto_cfdi40|43211500|EQU-0025|1.000|H87|Computadora|COMPUTADORA HP PORTATIL|6034.48|6034.48|0.00|02|<|
|>|VirtualXML_AddConceptoTraslado|6034.48|002|Tasa|0.160000|965.52|<|
Nuestro XML en memoria va así:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
Serie="CJZ"
Folio="7303"
Fecha="%cb_date"
Sello=""
FormaPago="99"
NoCertificado=""
Certificado=""
CondicionesDePago="CREDITO"
SubTotal="6034.00"
Descuento="0.00"
Moneda="MXN"
Total="7000.00"
TipoDeComprobante="I"
Exportacion="01"
MetodoPago="PPD"
LugarExpedicion="07270">
<cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE SA DE CV" RegimenFiscal="601"/>
<cfdi:Receptor Rfc="CTE940531F58" Nombre="CIBERNETICA Y TECNOLOGIA" DomicilioFiscalReceptor="53050" RegimenFiscalReceptor="601" UsoCFDI="G03"/>
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ="43211500" NoIdentificacion="EQU-0025" Cantidad="1.000" ClaveUnidad="H87" Unidad="Computadora" Descripcion="COMPUTADORA HP PORTATIL" ValorUnitario="6034.48" Importe="6034.48" Descuento="0.00" ObjetoImp="02">
<cfdi:Impuestos>
<cfdi:Traslados>
<cfdi:Traslado Base="6034.48" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="965.52"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Concepto>
</cfdi:Conceptos>
</cfdi:Comprobante>
Finalmente el nodo de impuestos y sus valores:
|>|VirtualXML_SetImpuestosInfo_cfdi40|965.52||<|
|>|VirtualXML_AddTraslado_cfdi40|002|Tasa|0.160000|965.52|6034.48|<|
Nuestro XML en memoria está listo:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
Serie="CJZ"
Folio="7303"
Fecha="%cb_date"
Sello=""
FormaPago="99"
NoCertificado=""
Certificado=""
CondicionesDePago="CREDITO"
SubTotal="6034.00"
Descuento="0.00"
Moneda="MXN"
Total="7000.00"
TipoDeComprobante="I"
Exportacion="01"
MetodoPago="PPD"
LugarExpedicion="07270">
<cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" RegimenFiscal="601"/>
<cfdi:Receptor Rfc="CTE940531F58" Nombre="CIBERNETICA Y TECNOLOGIA" DomicilioFiscalReceptor="53050" RegimenFiscalReceptor="601" UsoCFDI="G03"/>
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ="43211500" NoIdentificacion="EQU-0025" Cantidad="1.000" ClaveUnidad="H87" Unidad="Computadora" Descripcion="COMPUTADORA HP PORTATIL" ValorUnitario="6034.48" Importe="6034.48" Descuento="0.00" ObjetoImp="02">
<cfdi:Impuestos>
<cfdi:Traslados>
<cfdi:Traslado Base="6034.48" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="965.52"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Concepto>
</cfdi:Conceptos>
<cfdi:Impuestos TotalImpuestosTrasladados="965.52">
<cfdi:Traslados>
<cfdi:Traslado Base="6034.48" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="965.52"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Comprobante>
Nuestro XML está listo, ahora debemos "procesarlo" (firmarlo, sellarlo y timbrarlo digitalmente), esta operación se realiza usando LA MISMA FUNCION como si utilizaramos la función de la DLL:
|>|VirtualXML_ProcesaDocumento|CSD_EKU9003173C9.cer|CSD_EKU9003173C9.key|12345678a|demoIngresoCFDI40.xml|<|
El resultado del procesamiento lo obtendremos un archivo de texto con el mismo nombre del archivo de salida especificado en la llamada a la función VirtualXML_ProcesaDocumento(). los 21 valores recuperados estarán ahi.
Para procesar nuestro archivo script, desde la línea de comandos haremos:
C:\> VirtualXML.exe <archivo.vxml>
También es posible procesar mas de 1 documento CFDI a la vez dentro del mismo archivo .VXML, simplemente repite las instrucciones de llenado del CFDI tantas veces como documentos quieras timbrar y podrás timbrar tantos documentos como desees con un solo archivo .VMXL
El ejemplo completo quedaría como sigue;
Este programa externo utiliza archivos de texto (scripts) para realizar el proceso de firmado, sellado y timbrado de documentos fiscales digitales (CFDIs) en versiones 3.3. y 4.0
Es muy útil cuando tu lenguaje de programación no soporta llamadas a DLLs externas o bien cuando requieres hacer una factura sin necesidad de recurrir a un programa formal.
Los scripts de VirtualXML son simplemente archivos de texto con la extensión .vxml (aunque pueden tener cualquier extensión), que contienen llamadas a las funciones de la librería VirtualXML con un formato específico.
Ejemplo:
Si queremos crear un documento CFDI en la version 4.0 nuestro script (archivo de texto) deberá contener las siguientes lineas:
|>| VirtualXML_New | 4.0 |<|
Si observas bien, esta es una llamada similar a la función VirtuaXML_New() y utiliza incluso su mismo parámetro.
Las reglas para el llamado a las instrucciones de VirtualXML para los archivos scripts son muy simples:
Se coloca una sola instrucción por línea
|>| Inicia instruccion VirtualXML
Instruccion Virtual XML + | (pleca, pipe)
Parámetro(s) de la función separados por " | " (pleca, pipe) en vez de ",". Son los mismos parametros de la funciones de la DLL a excepción del "handler" de la función, el cual no es requerido en el Script.
Parámetro que no deba de ser expresado se representa vacio: " | | "
|<| Termina instruccion VirtualXML
Similar a como se usan la funciones de la DLL VirtualXML, cada llamada a una función va creando en la memoria de la computadora el archivo XML, en el ejemplo anterior se crea el siguiente nodo:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
</cfdi:Comprobante>
Tal como si estuvieramos programando en un lenguaje de programación convencional, agregaremos mas instrucciones VirtualXML, siguiendo la regla de llamado, así por ejemplo para completar el nodo <cfdi:Comprobante> agregaremos:
|>|VirtualXML_SetComprobanteInfo_cfdi40|CJZ|7303|%cb_date|99|CREDITO|6034.48|0.00|MXN|1|7000.00|I|PPD|07270||01|<|
Y en la memoria de la computadora se habra creado:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
Serie="CJZ"
Folio="7303"
Fecha="%cb_date"
Sello=""
FormaPago="99"
NoCertificado=""
Certificado=""
CondicionesDePago="CREDITO"
SubTotal="6034.00"
Descuento="0.00"
Moneda="MXN"
Total="7000.00"
TipoDeComprobante="I"
Exportacion="01"
MetodoPago="PPD"
LugarExpedicion="07270">
</cfdi:Comprobante>
Agregamos información de Emisor y Receptor:
|>|VirtualXML_SetEmisorInfo_cfdi40|EKU9003173C9|ESCUELA KEMPER URGATE|601||<|
|>|VirtualXML_SetReceptorInfo_cfdi40|CTE940531F58|CIBERNETICA Y TECNOLOGIA|||G03|53050|601|<|
Y Obtenemos esto:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
Serie="CJZ"
Folio="7303"
Fecha="%cb_date"
Sello=""
FormaPago="99"
NoCertificado=""
Certificado=""
CondicionesDePago="CREDITO"
SubTotal="6034.00"
Descuento="0.00"
Moneda="MXN"
Total="7000.00"
TipoDeComprobante="I"
Exportacion="01"
MetodoPago="PPD"
LugarExpedicion="07270">
<cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" RegimenFiscal="601"/>
<cfdi:Receptor Rfc="CTE940531F58" Nombre="CIBERNETICA Y TECNOLOGIA" DomicilioFiscalReceptor="53050" RegimenFiscalReceptor="601" UsoCFDI="G03"/>
</cfdi:Comprobante>
Agreguemos un concepto y sus respectivos impuestos:
|>|VirtualXML_AddConcepto_cfdi40|43211500|EQU-0025|1.000|H87|Computadora|COMPUTADORA HP PORTATIL|6034.48|6034.48|0.00|02|<|
|>|VirtualXML_AddConceptoTraslado|6034.48|002|Tasa|0.160000|965.52|<|
Nuestro XML en memoria va así:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
Serie="CJZ"
Folio="7303"
Fecha="%cb_date"
Sello=""
FormaPago="99"
NoCertificado=""
Certificado=""
CondicionesDePago="CREDITO"
SubTotal="6034.00"
Descuento="0.00"
Moneda="MXN"
Total="7000.00"
TipoDeComprobante="I"
Exportacion="01"
MetodoPago="PPD"
LugarExpedicion="07270">
<cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE SA DE CV" RegimenFiscal="601"/>
<cfdi:Receptor Rfc="CTE940531F58" Nombre="CIBERNETICA Y TECNOLOGIA" DomicilioFiscalReceptor="53050" RegimenFiscalReceptor="601" UsoCFDI="G03"/>
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ="43211500" NoIdentificacion="EQU-0025" Cantidad="1.000" ClaveUnidad="H87" Unidad="Computadora" Descripcion="COMPUTADORA HP PORTATIL" ValorUnitario="6034.48" Importe="6034.48" Descuento="0.00" ObjetoImp="02">
<cfdi:Impuestos>
<cfdi:Traslados>
<cfdi:Traslado Base="6034.48" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="965.52"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Concepto>
</cfdi:Conceptos>
</cfdi:Comprobante>
Finalmente el nodo de impuestos y sus valores:
|>|VirtualXML_SetImpuestosInfo_cfdi40|965.52||<|
|>|VirtualXML_AddTraslado_cfdi40|002|Tasa|0.160000|965.52|6034.48|<|
Nuestro XML en memoria está listo:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd"
Version="4.0"
Serie="CJZ"
Folio="7303"
Fecha="%cb_date"
Sello=""
FormaPago="99"
NoCertificado=""
Certificado=""
CondicionesDePago="CREDITO"
SubTotal="6034.00"
Descuento="0.00"
Moneda="MXN"
Total="7000.00"
TipoDeComprobante="I"
Exportacion="01"
MetodoPago="PPD"
LugarExpedicion="07270">
<cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" RegimenFiscal="601"/>
<cfdi:Receptor Rfc="CTE940531F58" Nombre="CIBERNETICA Y TECNOLOGIA" DomicilioFiscalReceptor="53050" RegimenFiscalReceptor="601" UsoCFDI="G03"/>
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ="43211500" NoIdentificacion="EQU-0025" Cantidad="1.000" ClaveUnidad="H87" Unidad="Computadora" Descripcion="COMPUTADORA HP PORTATIL" ValorUnitario="6034.48" Importe="6034.48" Descuento="0.00" ObjetoImp="02">
<cfdi:Impuestos>
<cfdi:Traslados>
<cfdi:Traslado Base="6034.48" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="965.52"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Concepto>
</cfdi:Conceptos>
<cfdi:Impuestos TotalImpuestosTrasladados="965.52">
<cfdi:Traslados>
<cfdi:Traslado Base="6034.48" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="965.52"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Comprobante>
Nuestro XML está listo, ahora debemos "procesarlo" (firmarlo, sellarlo y timbrarlo digitalmente), esta operación se realiza usando LA MISMA FUNCION como si utilizaramos la función de la DLL:
|>|VirtualXML_ProcesaDocumento|CSD_EKU9003173C9.cer|CSD_EKU9003173C9.key|12345678a|demoIngresoCFDI40.xml|<|
El resultado del procesamiento lo obtendremos un archivo de texto con el mismo nombre del archivo de salida especificado en la llamada a la función VirtualXML_ProcesaDocumento(). los 21 valores recuperados estarán ahi.
Para procesar nuestro archivo script, desde la línea de comandos haremos:
C:\> VirtualXML.exe <archivo.vxml>
También es posible procesar mas de 1 documento CFDI a la vez dentro del mismo archivo .VXML, simplemente repite las instrucciones de llenado del CFDI tantas veces como documentos quieras timbrar y podrás timbrar tantos documentos como desees con un solo archivo .VMXL
El ejemplo completo quedaría como sigue;
Ejemplo:
|>|VirtualXML_New|4.0|<|
|>|VirtualXML_SetVirtualPACInfo|demo_cibertec|demo|<|
|>|VirtualXML_SetComprobanteInfo_cfdi40|CJZ|7303|%cb_date|99|CREDITO|6034.48|0.00|MXN|1|7000.00|I|PPD|32350||01|<|
|>|VirtualXML_SetEmisorInfo_cfdi40|EKU9003173C9|ESCUELA KEMPER URGATE|601||<|
|>|VirtualXML_SetReceptorInfo_cfdi40|FOSM380609Q76|MARTIN FLORES SOLORZANO|||G03|53050|612|<|
|>|VirtualXML_AddConcepto_cfdi40|43211500|EQU-0025|1.000|H87|Computadora|COMPUTADORA HP PORTATIL|6034.48|6034.48|0.00|02|<|
|>|VirtualXML_AddConceptoTraslado|6034.48|002|Tasa|0.160000|965.52|<|
|>|VirtualXML_SetImpuestosInfo_cfdi4O|965.52||<|
|>|VirtualXML_AddTraslado_cfdi40|002|Tasa|0.160000|965.52|6034.48|<|
|>|VirtualXML_ProcesaDocumento|CSD_EKU9003173C9.cer|CSD_EKU9003173C9.key|12345678a|demoIngresoCFDI40.xml|<|
El resultado de este documento queda en un archivo de texto similar a este:
VIRTUALXML_GET_DESCERROR[1]: VIRTUALXML_OK
VIRTUALXML_GET_ERROR[2]:
VIRTUALXML_GET_CSDNUMBER[3]: 30001000000300023708
VIRTUALXML_GET_SELLO[4]: L7U9zYzmSCGtrzsaryv3K4Zhn/n4tDon/sm5MoJsYYCuQcFtUCMtJlN05hlt7D+I4g7+fvoiJbmKL+96ysbrWc6X9iu0NYhMxewBMqajcCGNiAIzDquq2zlXtzn5SXn5UOxJfzicR8MvnTXr/yg+MaK5zdMCCzFO9GmGXyOOubCXo/QbE+POIloft9dgKNPKmEJ5+E5hB7U5VJ+85By3kKquZeppulFHHUWG1OEankwg8gdxKqI3fcnvJnc/GbNsLBBxuVuxwWB0Kd+qRV6XfjGIkan8a2HNPlTHNMWXRaeHrJ7m1FGHX8cgR6y1qPj7fmU2xv/PzS8tWzWDu9UfVQ==
VIRTUALXML_GET_CADENA[5]: ||4.0|J|999999|2017-08-22T08:26:14|99|30001000000300023708|Por Definir|100.00|MXN|116.00|I|PPD|66269|AAA010101AAA|MIRADOR AUTOMOTRIZ, S.A. DE C.V.|601|MVA021112M8A|PRUEBA|G03|01010101|1|H87|Servicio|PRUEBA|100|100|100|002|Tasa|0.160000|16|002|Tasa|0.160000|16.00|16.00||
VIRTUALXML_GET_SATCSDNUMBER[6]: 20001000000300022323
VIRTUALXML_GET_SATSELLO[7]: jynm9eepM9TAOgykOpIQ6KHwc45ZZL7lwpQppyl2ggzrBZ9J9SRSmPGR/tnCgdzdjapMlLRYmcyKfk76EKNfwn7gDsmP8i4BV2jwgGqD+EJ73hSjpB5M69XykVI4vltJN0prGXtReJzl2UBIHQJRnAKxm+vuept+88oBnYpHjTpkYkybMb+t4DrSEL9GO7Cbx8xosUD20HpPCtMk/4Po4ucGSAR8X5sDQKokMjvrEm8fftyxWgKRSI4inZHcAUNiIXxuHfogRTH57awreGyZGraf8nm3TGXFOGWHy1nxI3O3UkaCu+A3ZuDqvAczc3eTy0kF4XAXk942JrDzgQYCTA==
VIRTUALXML_GET_SATCADENA[8]: ||1.1|2ADF43A0-393B-4F3D-AF25-F1A4797EFB05|2017-08-22T14:58:58|FEL100622S88|L7U9zYzmSCGtrzsaryv3K4Zhn/n4tDon/sm5MoJsYYCuQcFtUCMtJlN05hlt7D+I4g7+fvoiJbmKL+96ysbrWc6X9iu0NYhMxewBMqajcCGNiAIzDquq2zlXtzn5SXn5UOxJfzicR8MvnTXr/yg+MaK5zdMCCzFO9GmGXyOOubCXo/QbE+POIloft9dgKNPKmEJ5+E5hB7U5VJ+85By3kKquZeppulFHHUWG1OEankwg8gdxKqI3fcnvJnc/GbNsLBBxuVuxwWB0Kd+qRV6XfjGIkan8a2HNPlTHNMWXRaeHrJ7m1FGHX8cgR6y1qPj7fmU2xv/PzS8tWzWDu9UfVQ==|20001000000300022323||
VIRTUALXML_GET_SATUUID[9]: 2ADF43A0-393B-4F3D-AF25-F1A4797EFB05
VIRTUALXML_GET_SATFECHA[10]: 2017-08-22T14:58:58
VIRTUALXML_GET_CSDINI[11]: 170518035456Z
VIRTUALXML_GET_CSDFIN[12]: 210518035456Z
VIRTUALXML_GET_VPID[13]: 407708
VIRTUALXML_GET_DISP[14]: 5000
VIRTUALXML_GET_DLLVERSION[15]: vxml220108v1.0.3.5
VIRTUALXML_GET_FECHAXML[16]: 2017-08-22T08:26:14
VIRTUALXML_GET_WARN[17]:
VIRTUALXML_GET_PAC[18]: SWE
VIRTUALXML_GET_REVISION[19]: x86
VIRTUALXML_GET_SATRFCPROVCERTIF[20]: FEL100622S88
VIRTUALXML_GET_SATLEYENDA[21]:
Vease Tambien