Inicio Blog Introducción a los paquetes de personalización de Acumatica

Introducción a los paquetes de personalización de Acumatica

Gerhard van den Heever | 22 de mayo de 2023

Introducción a los paquetes de personalización de Acumatica

Introducción

Acumatica tiene la capacidad de personalizar casi cualquier pantalla para proporcionar información adicional o lógica de negocio que es requerida por un cliente ERP. Las personalizaciones se realizan utilizando la plataforma xRP de Acumatica y se integran perfectamente en la plataforma ERP, la extensión es robusta y ágil, asegurando que permitiría que la aplicación siguiera siendo actualizable y cuando se elimina el paquete, devuelve la aplicación a su estado original.

En este blog, crearemos un paquete de personalización que permitirá a los usuarios de negocio especificar un tipo de pedido interno, que puede ser utilizado para flujos de trabajo, mapas de asignación e informes. Además, el paquete incluye un selector de cambio de nombre de columna.

Creación de un paquete de personalización

Para crear personalizaciones, vaya a Personalizaciones y abra Proyectos de personalización (SM204505). En la pantalla, cree una nueva personalización y abra el enlace.

Introducción a los paquetes de personalización de Acumatica

NOTAS:

  1. El usuario debe tener el rol de Personalizador
  2. La convención de nomenclatura del proyecto debe ser relevante para la función
  3. Proporcionar una secuencia de números de versión para gestionar las reiteraciones de personalización (en la descripción)
    1. Desarrollo mínimo de Acumatica
    2. Reiteración de versiones
  4. El nivel de proyecto es importante por dos razones:
    1. Cuanto más importante sea la personalización, mayor será el número
    2. Garantiza que las personalizaciones no se fusionen y causen conflictos

Una vez creado el paquete de personalización, comience con las pantallas y añada todas las pantallas necesarias para la personalización. Abajo estamos agregando una pantalla de Orden de Compra (PO301000):

Introducción a los paquetes de personalización de Acumatica

En la pantalla, cree un campo definido por el usuario para el tipo de orden interna.

Introducción a los paquetes de personalización de Acumatica

Añadiendo campos personalizados, basados en el tipo de almacenamiento (DBTableColumn), se podría crear una columna en la base de datos. Siguiendo este proceso, se crean dos elementos adicionales en el proyecto:

  1. Acceso a datos - Campo DAC y sus atributos
  2. Scripts de base de datos - el script que Acumatica genera para crear la columna (tipo de almacenamiento DBTableColumn)

NOTAS:

  1. Los campos definidos por el usuario deben especificarse con el prefijo "Usr". Esto es para asegurar que la columna no se elimine durante las actualizaciones.
  2. Al añadir nuevos campos, es necesario publicar el proyecto antes de poder utilizar el campo
    1. El campo se añade a la pantalla con "CREAR CONTROLES".
  3. Al añadir nuevos campos, asegúrese de seleccionar la vista correcta al crear el campo, es decir, si está en la cabecera, asegúrese de seleccionar la sección de resumen al crear nuevos campos.
  4. Revisar y ajustar los atributos del campo antes de añadirlo al formulario
    1. Si no se hace, se utilizará el tipo de elemento original. Este es un problema cuando se crea un campo para un desplegable o selector pero no se define. Sin ella, el campo se añadiría como un campo de texto sin formato

Al "CREAR CONTROLES" , el campo se añade a la vista. Una vez añadido, el campo (basado en el tipo de campo selector) tiene una lista de atributos. Es necesario revisar dos propiedades

  1. CommitChanges - esta propiedad activaría el evento de campo actualizado
  2. ID - El identificador del control en la página. Acumatica por defecto proporcionaría un ID de campo Cst.... Pro-tip  Cambie el ID para que sea único para el campo, ya que otras personalizaciones en el mismo sitio podrían tener el mismo valor de ID personalizado asignado y causará un problema de conflicto.

En Acceso a datos, convertir el punto en una extensión a. El artículo pasaría a la sección del Código para su posterior modificación.

Introducción a los paquetes de personalización de Acumatica

Desde la sección de códigos se pueden realizar actividades adicionales:

Introducción a los paquetes de personalización de Acumatica

 

 

De lo anterior lo siguiente:

  1. La sección de código enumera todas las extensiones del código
  2. Override Method proporciona una lista de métodos/acciones que pueden ser override, esto permite que un método original sea llamado y pueda ser modificado
  3. Nueva acción proporciona el código para crear nuevas acciones "botones" en la pantalla
  4. Trasladar el código a una biblioteca de extensión/code-behind (archivo dll)

 

Una vez modificada la extensión DAC para los atributos del campo DAC, se puede añadir el campo a la pantalla. (Encontrará más información sobre la codificación de extensiones en la sección siguiente).

El campo DAC se configura como un selector, que enumerará los ID y las descripciones de los atributos.

Introducción a los paquetes de personalización de Acumatica

Código

GIST: https://gist.github.com/Gerhard-ZA/102d5a2c5a182e8795bbb19733dee6ee

Ampliación del paquete a code-behind

Para mover la extensión, haga clic en la Biblioteca de extensiones y cree/abra la biblioteca de extensiones.

Al abrir Visual Studio, el archivo de extensión estará disponible en el explorador de soluciones.

Introducción a los paquetes de personalización de Acumatica

  1. El archivo PO Order Extension está disponible en el explorador de soluciones, este archivo se utiliza cuando se adjunta la biblioteca de extensiones a Internet Information Service (IIS).
    1. NOTA - Si el archivo (extensión) se encuentra tanto en el paquete de personalización como en Visual Studio, el archivo del paquete de personalización se utilizaría para el procesamiento
  2. El nombre de la clase de la extensión, este nombre debe ser único ya que podría causar un problema de conflicto si la aplicación tiene el mismo nombre de extensión en otro paquete de personalización.
  3. El método IsActive permite a la lógica de negocio identificar si la extensión debe ser utilizada o no. Este método se puede utilizar con la lógica de negocio o configuración para activar sólo en ciertas condiciones

Al crear una biblioteca de extensión, el archivo dll deberá incluirse en el proyecto de personalización para que el paquete de personalización funcione.

Introducción a los paquetes de personalización de Acumatica

Introducción a los paquetes de personalización de Acumatica

El resultado final

Enlace al paquete de personalización → URL

Resumen

Usando los métodos proporcionados en el post, evitarás problemas con otras personalizaciones publicadas y mantendrás tus paquetes limpios y mantenibles ahora y en el futuro. Busca más buenas prácticas de personalización de mi parte y de otros desarrolladores MVP.

Buena suerte y feliz codificación.

Autor del blog

Gerhard es el Director Técnico de Astraia Technology (VAR) & FBA Software (ISV). Es responsable de la creación y entrega con éxito del despliegue de soluciones y productos de la organización para Acumatica. Cuenta con más de 10 años de experiencia en el desarrollo de software en el ámbito de los ERP y suele participar como arquitecto de sistemas durante los proyectos. Nacido y criado en África, a Gerhard le gusta salir a la naturaleza y aprovecha cualquier oportunidad para ir de safari con su familia o disfrutar de los Winelands del Cabo.

Reciba las actualizaciones del blog en su bandeja de entrada.