// libfacturista, DLL para generar el XML, sellar y timbrar el CFDI. // Ejemplo de uso de libfacturista en Dynamics AX (x++) - 2013-09-06 // Ariel Medina - 2013 - facturista.com // Descripción de las funciones de la DLL en http://facturista.com/code_example.php?lang=api // Ya que Dynamics puede producir el XML sellado, sólo se necesita timbrar // Deberá referenciar la dll libfacturista_cs.dll static void Job2(Args _args) { str params; // Parámetros de timbrado int h; // Manejador para el comprobante info( strfmt("%1", libfacturista.ansiApi::libfacturista_version() ) ); h = 0; // Es necesario llamar a _cfdi_xml_cargar porque Diverza sólo devuelve el timbre, entonces, necesitamos tener cargado el XML para poder insertar la información del timbre en el nodo adecuado del XML. h = libfacturista.ansiApi::cfdi_xml_cargar(h,"C:\\tmp\\ejemplo_sellado.xml"); if(h != 0) { params = "PAC=Diverza;RefID=1234abc;RfcReceptor=XXX010101AAA;RfcEmisor=AAA010101AAA;ArchivoRespuesta=C:\\tmp\\RespuestaPAC.txt"; params = params + ";SSL=1;Servidor=demotf.buzonfiscal.com;Puerto=443;ContrasenaCertificadoCliente=AAA010101AAA;ArchivoCertificadoCliente=C:\\tmp\\AAA010101AAA.pem"; // El segundo parámetro de _cfdi_timbrar es la cadena vacía para timbrar lo que tenemos en memoria if( libfacturista.ansiApi::cfdi_timbrar(h, "", "C:\\tmp\\ejemplo_timbrado.xml", 6, params) != 0 ) info("Timbrado exitoso"); else info( libfacturista.ansiApi::cfdi_error(h) ); } else info("No se pudo cargar el archivo"); }