Esta funciòn timbra un XML de retenciones y puede
usarse en sustitucion de la pagina web de timbrado de retenciones de
VirtualPAC (http://servicios.virtual-pac.mx).
Antes de usar esta funcion, es necesario haber creado el XML de retenciones previamente, con su repectivo complemento (cuando aplique), como un archivo de texto, para facilitar esta tarea puede utilizar las plantillas que tenemos disponbiles en INFORMACION DE RETENCIONES.
El timbrado de retenciones consume un timbre por cada retencion timbrada, igual que con los CFDIs normales.
Namespace: VirtualXML® Antes de usar esta funcion, es necesario haber creado el XML de retenciones previamente, con su repectivo complemento (cuando aplique), como un archivo de texto, para facilitar esta tarea puede utilizar las plantillas que tenemos disponbiles en INFORMACION DE RETENCIONES.
El timbrado de retenciones consume un timbre por cada retencion timbrada, igual que con los CFDIs normales.
Aplicación: CFDI 3.3
Sintaxis
Parametros
- szUsuario
- Tipo: System
String
Nombre del usuario VirtualPAC
- Modo
- Tipo: System
Int32
Valor numerico que indica si el XML se timbra en modo demo (0) o en produccion (1)
- Tipo: System
String
Nombre del archivo .CER del CSD.
- sZKey
- Tipo: System
String
Nombre del archivo .KEY del CSD.
- szPwd
- Tipo: System
String
Password del archivo .KEY del CSD.
- szPwd
- Tipo: System
String
Password del archivo .KEY del CSD.
- szXmlReten
- Tipo: System
String
Nombre del archivo XML que se va a timbrar
- szResultado
- Tipo: System
String
Nombre del archivo de salida del proceso de timbrado
- szLog
- Tipo: System
String
Nombre y ruta de un archivo de bitácora donde se guardará la información del timbrado de la retencion (necesario en caso de falla de la recuperación).
- Tipo: System
String
Reservado para usos futuros.
Valor retornado:
Tipo: Int32
Retorna un 0 (cero) si la operación se realizó con éxito y el documento
se pudo timbrar correctamente, cualquier otro valor, indica falla en el proceso de
timbrado y deberá consultar el archivo .LOG para mas
información sobre el motivo del error.Ejemplo:
private void TimbraRetencion()
{
// Solicitamos el timbrado
int nResultado = VirtualXML_TimbraRetenciones("usuario",1,"Archivo.CER","Archivo.KEY","Password","XmlaTimbrar.xml", "XmlDeSalida.xml","C:\CSD\Bitacora.log");
if nResultado = 0
// Se ha obtenido exitosamente el comprobante
MsgBox("Se ha generado correctamente el timbrado de retencion");
else
// Hubo error
MsgBox("Se ha producido un error en el timbrado de retencion, revise el archivo Bitacora.log);
endif
}
}