Download - PR-M-10 Manual SDK
CODIGO: PR-M-01
VERSION: 01
MANUAL DE USO ACEPTASDK (DLL)
1.- RESUMEN EJECUTIVO
Una alternativa óptima de interconexión entre un ERP que opere en SO Windows y la
solución de factura electrónica de Acepta.com, es el AceptaSDK o DLL.
En la práctica, es necesario intervenir el ERP, para que ejecute básicamente 2 métodos, uno
que envía (Send) la información al Servicio de Factura Electrónica CA4XML_Service y otro
que obtiene la respuesta o resultado de la operación (GetLastResponse).
2.- IMPLEMENTACIÓN
Para ejemplificar mejor el uso de los métodos de la DLL, se utilizará código basado en la
herramienta de desarrollo Visual Basic.
2.1.- Registro de la DLLSe provee de 2 dll: ca4xml_client.dll y AceptaTools.dll. El primer paso consiste en
registrar la DLL AceptaTools.dll que permite la interacción entre el servicio
CA4XML_Service y la aplicación del ERP.
Para esto debe copiar en el directorio C:\Windows\System32 los archivos AceptaTools.dll
y ca4xml_client.dll.
Una vez copiados los archivos, debe ir a Inicio -> Ejecutar, escribir cmd y presionar enter
para obtener acceso a la ventana de símbolo de sistema (DOS).
En esta ventana debemos escribir la siguiente instrucción: regsvr32 AceptaTools.dll.
De este modo, la DLL quedará registrada en Windows para ser usada por las
aplicaciones que la requieran.
No es necesario registrar ca4xml_client.dll ya que AceptaTools.dll realiza la interacción
necesaria con ésta.
2.2.- Agregar referencia a (registrar) la DLL en el código fuente del ERP
Para el ejemplo, se asumirá que el ERP está desarrollado en Visual Basic.
Por lo tanto, ingrese al proyecto de Visual Basic y valla al menú Preferencias ->
Referencias.
Busque la referencia AceptaTools Library, ésta debe ser chequeada y luego se debe
aceptar.
Con esto ya es posible hacer uso de los métodos de la DLL.
2.3.- Descripción de los métodos usados y parámetrosLa interacción del sistema es muy simple y se puede ver en el código de ejemplo, al final
del documento.
1
CODIGO: PR-M-01
VERSION: 01
2.3.1.- Método “Send”: Envío de informaciónUSO: CA4XML.Send(VAR_ARCHIVO_CONFIGURACION,VAR_ID_DOCUMENTO,
VAR_COMANDO, VAR_PARAMETROS, VAR_DATA, "")
VAR_ARCHIVO_CONFIGURACION: Esta variable corresponde al archivo que indica los
puertos donde Ca4xml_Service escuchará las llamadas de la DLL, la IP del servidor
donde se encuentra el servicio instalado y el tiempo de espera máximo antes de indicar
un fallo. En caso de no querer referenciar a un archivo, es posible entregar los
parámetros de conexión a través de la misma variable utilizando la siguiente sintaxis:
“cfg|IP|PUERTO|TIEMPO_ESPERA”. Por ejemplo: “cfg|127.0.0.1|5001|10000”.
Nota: El tiempo de espera se mide en milisegundos.
VAR_ID_DOCUMENTO: Esta variable indica el nombre base que tendrán los archivos
generados. Por ejemplo, se recomienda utilizar el código del tipo de documento y el folio.
Ej.: 331234, donde 33 indica el tipo de DTE que se emitió y 1234 indica el número de
documento.
VAR_COMANDO: Esta variable corresponde al comando de Ca4xml_Service que se
ejecutará. Para realizar pruebas debe ser usar el comando “test”. Otro ejemplo es el
comando “enviar” que publicará el documento en Acepta.com.
VAR_PARAMETROS: Indica el nombre de la impresora y la cantidad de copias a
imprimir. Debe ser escrito como String separando el nombre de la impresora de la
cantidad de copias por una coma de la siguiente forma; “NombreImpresora, 2” donde el
numero 2 indica que se imprimirán 2 copias del documento.
VAR_DATA: Esta variable es de tipo string. Corresponde a los datos que debe interpretar
Ca4xml_Service, para generar un DTE válido.
2.3.2.- Método “GetLastResponse”: Respuesta de la DLLEl sistema recibirá una respuesta que puede ser conocida usando el método
CA4XML.GetLastResponse. Donde, si la respuesta es exitosa se obtiene un string, que
incluye una URL con la dirección custodia o almacenamiento del documento enviado y
por lo tanto su ubicación en internet. En caso de error, se obtiene el mensaje de error.
Es importante conocer la configuración de Ca4xml_Service para saber que otra
información se incluirá en la respuesta, dado que esto es totalmente configurable.
2
CODIGO: PR-M-01
VERSION: 01
2.4.- Ejemplo de interacción entre VB6 y la DLL
Dim CA4XML As CA4XML_Client
Dim resultadoGeneracionDTE As Integer
Dim respuestaDeDte As String
Set CA4XML = New AceptaTools.CA4XML_Client
resultadoGeneracionDTE = CA4XML.Send(VAR_ARCHIVO_CONFIGURACION, _
VAR_ID_DOCUMENTO, VAR_COMANDO, VAR_PARAMETROS, VAR_DATA, "")
respuestaDeDte = CA4XML.GetLastResponse
If resultadoGeneracionDTE = 1 Then
MsgBox "Documento Generado con Éxito" + vbNewLine _
+ CA4XML.GetLastResponse, vbOKOnly
Else
MsgBox "Fallo en la Generación del DTE:" + vbNewLine _
+ CA4XML.GetLastResponse, vbOKOnly + vbCritical
End If
Nota: Los mensajes en este código son sólo para visualizar la respuesta del
sistema. Es necesario analizar cómo usar estas respuestas en el ERP.
3