miércoles, diciembre 18, 2019

Clase Windev para Sellar, Timbrar y Cancelar CFDI


A considerar:

  • Te igualo el costo de timbre que vienen manejando.
  • Los timbres con nosotros NO caducan.
  • Las cancelaciones NO cuestan timbre, siempre y cuando el CFDI que quieras cancelar los timbraste con nosotros, si lo timbraste con otro proveedor, te cuesta 1 timbre.
  • No hay minino de compra, se les da acceso a mi.disxii.com para la administración de sus emisores; puedes ver parte del funcionamiento del panel en: https://www.youtube.com/watch?v=ydAZUguqqGU


Código para sellar:
sXML is ANSI string = "C:\Ruta\archivo.xml"
sCer is ANSI string = "C:\Ruta\CSD_Sucursal_1_EKU9003173C9_20230517_223850.cer"
sKey is ANSI string = "C:\Ruta\CSD_Sucursal_1_EKU9003173C9_20230517_223850.key"
sPassKey is ANSI string = "12345678a"
oTimbrar.Sellar(sXML, sCer, sKey, sPassKey)
IF oTimbrar.nEstatus <> 0 THEN
    Error(oTimbrar.sError)
ELSE
    Info("Sellado")
END



Código para Timbrar:
oTimbrar.Timbrar(sXML)
IF oTimbrar.nEstatus <> 0 THEN
    Error(oTimbrar.sError)
ELSE
    Info("Timbrado", oTimbrar.oTimbre.nStatus, oTimbrar.oTimbre.nStatusPAC,oTimbrar.oTimbre.sMensaje,oTimbrar.oTimbre.sUUID)
END
Código para cancelar:

sAcuse is ANSI string = "C:\Ruta\acuseCancelacion.xml"
sMotivoCancelacion is ANSI string = "02"
sFolioSustitucion is ANSI string = ""
oTimbrar.Cancelar(sXML , sCer, sKey, sPassKey ,sAcuse,sMotivoCancelacion,sFolioSustitucion)
IF oTimbrar.nEstatus <> 0 THEN
    Error(oTimbrar.sError)
ELSE
     Info("Cancelado",oTimbrar.oTimbre.nStatus,oTimbrar.oTimbre.sMensaje)
END


La clase la pueden descarar desde: https://www.dis12.com/Clases/WinDev/

Nota. Es necesaria la carpeta SSL a un lado del exe.

La clase es 100% funcional para testing (adelante con tus pruebas), para productivo hay que dar de alta al emisor en el panel para obtener el usr/pass de timbrado de cada emisor.