Inicio Blog Plugin de personalización de Acumatica: Cómo añadir o cambiar la configuración de un paquete

Plugin de personalización de Acumatica: Cómo añadir o cambiar la configuración de un paquete

Vinay Koppula | 13 de octubre de 2022

Plugin de personalización de Acumatica: Cómo añadir o cambiar la configuración de un paquete

Introducción

He trabajado en un buen número de soluciones de integración ISV, y cada vez, las pruebas unitarias en las nuevas instancias significan que debo introducir o actualizar los ajustes necesarios de las integraciones. Estas entradas pueden ser muy molestas y llevar mucho tiempo. También me he dado cuenta de que la mayoría de las integraciones requieren preconfiguraciones o ajustes, como la configuración de la integración, la clase de cliente, los tipos de pedido, los valores predeterminados, la secuencia de numeración predeterminada, etc. Cada vez que se implementa una solución ISV, habrá una buena cantidad de esfuerzo manual para establecer las configuraciones iniciales.

Mientras buscaba la solución, encontré un artículo de Sergey Marenich sobre Site Configuration using Customization (Configuración del sitio mediante personalización ), que explica cómo podemos añadir (o cambiar) la configuración de paquetes en Acumatica ERP directamente desde el complemento de personalización. Este artículo me ayudó a entender y trabajar en mi requisito.

El complemento personalizado es un archivo de código independiente

Lo que he aprendido es que Customization Plug-In es un archivo de código separado con una clase que Acumatica puede compilar y cargar dinámicamente durante la publicación.

Los eventos de clase se suscriben automáticamente y se ejecutan en operaciones de Base de Datos y/o Archivos.

Los dos eventos de clase son:

  • OnPublished - aquí puede acceder al sistema de archivos y realizar la configuración adecuada antes de que se reinicie la aplicación.
  • UpdateDatabase - aquí puede tener algunas operaciones que deben ser ejecutadas para asegurar sus propios scripts de actualización de base de datos.

Este es el fragmento de código de ejemplo (Proyecto de ejemplo disponible en GitHub):

GitHub: https://github.com/vinayrajk/CustomizationPlugin>

A continuación se muestra el archivo de clase extraído del código del proyecto de ejemplo de GitHub.

Ajustes más comunes de los plugins

A continuación se muestran los ajustes más comunes que he utilizado en la pantalla de Configuración de la integración.

  • Default Customer-Esto se puede utilizar en la integración de marketplace si los pedidos son de Fulfilment by marketplaces.
  • Clase de cliente-Se puede definir si las integraciones tienen un ajuste para seleccionar la clase de cliente.
  • Secuencia de numeración -Establezca la secuencia de numeración por defecto, que puede cambiar posteriormente.
  • Tipos de Pedidos-Si los pedidos se van a identificar por separado, entonces se puede establecer un valor por defecto en la pantalla de configuración, por ejemplo, para cualquier integración de mercado como eBay, Amazon, Walmart, etc. Se puede crear un tipo de Orden base como EB o WM, y su valor puede ser llenado en las pantallas de configuración.
  • Cualquier valor por defecto para cualquier pantalla de configuración.

La configuración anterior se puede crear o actualizar en cuanto el paquete se despliega en la instancia con un evento UpdateDatabase.

Nota: Debemos ser cautelosos con los datos actualizados, y no debe afectar a ninguna otra parte de los datos sensibles. 

El proyecto de ejemplo está disponible en el GitHub, por favor siga https://github.com/vinayrajk/CustomizationPlugin.git

Resumen:

Esperamos que este artículo le ayude a comprender el uso del plugin de personalización y a conectar y utilizar las soluciones ISV con la configuración predeterminada que viene con el paquete.

¡Feliz codificación!

Autor del blog

Durante los últimos doce años, Vinay ha desarrollado soluciones empresariales utilizando el marco .NET y se trasladó a Kensium, donde ha pasado siete años perfeccionando sus habilidades en Acumatica. Ha pasado de desarrollador a director de desarrollo, creando soluciones complejas y personalizaciones en Acumatica. Ha completado proyectos como IBS Imperium, una solución OEM para la gestión inmobiliaria, integraciones de tiendas como pagos, extensiones de impuestos e integraciones de mercados. En su papel de director de desarrollo, contribuye a la formación y tutoría de nuevos desarrolladores, ayudándoles a alcanzar sus objetivos profesionales.

Reciba las actualizaciones del blog en su bandeja de entrada.