SQL Script – Actualizar Datos utilizando una vista (UPDATE + VIEW)
29/07/2011C# – A3 ERP (Nexus) – Maestros
16/08/2011Voy a poner los primeros pasos para relacionarnos con Nexus A3 ERP, de manera que podamos influir en el funcionamiento de la aplicación.
Agradezco aquí la ayuda de Jordi Escolà y Eduardo Rodríguez por sus indicaciones.
Lo primero que hemos de indicar, es que desde la web de A3 podemos bajarnos algunas dll muestra, pero aquí vamos a explicarlo un poco más detallado para quien no esté tan ducho en estas labores.
Pasos a tener en cuenta:
Vamos a utilizar una Dll de muestra, por lo que algunas cosas no las variaremos (como la conexión), que nos permitirá enlazar la Dll con la empresa que seleccionemos del menú de conexión.
Hemos de registrar la Dll, y aquí primera matización (no utilizamos el regsvr32) si no RegSam
Vale. Ya veo NexusAddIn es una DLL en .NET con Visibilidad COM, por lo tanto los pasos a seguir para registrarla son:
1. Compilar la DLL con Visual Studio
2. Desde una ventana de comandos (con privilegios de administrador) registrarla en el GAC (Es el equivalente al registro de Windows para el .NET Framework) mediante el comando REGASM NexusAddIn.dll.
Como la DLL está compilada para .NET Framework 2.0 se tendría que registrar con el REGASM.exe del .NET Framework 2.0 ( c:\Windows\Microsoft.NET\Framework\v2.0.50727\REGASM.exe nexusaddin.dll)
3. En la Tabla DLLs de la empresa (base de datos) que queramos se ha de registrar como Nombre del ensamblado.nombre de la clase. Repetimos, "Nombre de la Dll" y tras el punto, el nombre de la clase (No Dll), eso es para otro tipo de Dlls.
INSERT INTO DLLS (IDDLL, DLL) VALUES (1, 'NexusAddIn.Nexus')
Vamos a repasar la Dll desde Visual:
-
span style="color: #008080; font-style: italic;">//Addin de ejemplo para extender Nexus.
-
//Para que funcione correctamente mantener la interface implementada a continuación
A continuación tenemos los métodos necesarios para realizar la conexión con la base de datos. No es necesario tocar nada, por lo que es importante matizar que la clase se llama "Nexus", como comentabamos en el momento de registrar la Dll.
Hemos incluido dos mensajes, al entrar al sistema y al salir, que nos indican si funciona la conexión.
-
span style="color: #808080;">"Data Source={0};Initial Catalog={1};User Id={2};Password={3}"""""""""';''='"USER ID""INITIAL CATALOG""DATA SOURCE""INITIAL CATALOG"//Inicia las conexiones y/o modulos necesarios dentro de nuestro programa
-
"padding-left: 30px;""INICIANDO EL SISTEMA");
-
}</p>
-
//Finaliza las conexiones y/o modulos dentro de nuestro programa
-
"padding-left: 30px;">{
-
connEmpresa.Close();
-
MessageBox.Show("saliendo del SISTEMA");
-
}</p>
Antes de seguir, maticemos que con esto, no haríamos absolutamente nada, ya que lo que tenemos que indicar es qué metodos queremos que se ejecuten de la Dll, y esto lo hacemos mediante otro método, "ListaProcedimientos". Aquí indicaremos los procedimientos que queremos que se ejecuten de la Dll. Si no están incluidos, no se ejecutarán.
[csharp]
public object[] ListaProcedimientos() {
object[] result = { "INICIAR", "FINALIZAR", "DESPUESDEGUARDARDOCUMENTO", "DespuesDeGuardarMaestro" };
return result;
2 Comments
Hola,
Estoy evaluando la posibilidad de que la empresa donde trabajo se haga distribuidora de A3ERP, pero necesitaría comprobar antes la comunicación con la aplicación. Trabajamos en Visual Studio y C#, creo que a3Erp está desarrollado en delphi y existe un addin llamado NexusAddIn para Visual Studio, ¿de dónde lo puedo descargar?
Saludos
Joan Miquel
Hola Joan Miguel,
En la demo que te descargues de la web de A3, en el directorio nexus de la instalación verás el “nexusaddin.dll”, lo referencias con visualstudio y ya podrás practicar.