Utilizando el Administrador de notas emergentes

Gabriel Michaud 17 de enero de 2023
Trucos y consejos nº 2

Revisado: Ene, 2023

Introducción

Nota del editor:Las pequeñas ideas que se van recogiendo a lo largo del camino de la vida tienen un gran valor. Esto es especialmente cierto en muchas disciplinas, en las que las habilidades se perfeccionan con el tiempo al practicar el oficio. Lo mismo ocurre en el ámbito de la ingeniería y el desarrollo: hay pequeños consejos muy útiles que rara vez se documentan. Teniendo esto en cuenta, hemos pensado en ofrecer breves entradas de nuestra comunidad de desarrolladores MVP de Acumatica que consideramos que pueden resultar de utilidad para los desarrolladores de Acumatica. En los próximos meses publicaremos varias entradas de este tipo.

Esta es la segunda entrega de nuestra serie Consejos y trucos para desarrolladores de Gabriel Michaud, un antiguo empleado de Acumatica que dirigía nuestros laboratorios de Montreal y que ahora tiene su propia empresa, Velixo, y es uno de nuestros desarrolladores MVP de Acumatica.

Cuando se lanzóAcumatica 2018 R2, se añadió una nueva función que permite configurar notas emergentes en entidades clave. Por ejemplo, un responsable de compras que vea que el contrato de un proveedor está a punto de renovarse puede añadir una nota al registro de dicho proveedor. La nota aparecerá cuando un usuario esté a punto de realizar una compra a ese proveedor.

ss1-4-2-2

Aquí tienes una breve demostración grabada dePopup Note  

¿Sabías que es posible aprovechar el sistema de notas emergentes en tus propias personalizaciones? Las notas emergentes son notas estáticas que se configuran en losdatos maestros. Unode nuestros clientes nos pidió que personalizáramos sus notas para que se mostraran de forma dinámica. En este caso concreto, querían informar a sus empleados encargados de la introducción de pedidos de que ya existía en el sistema un pedido para el mismo producto y el mismo cliente, y que comprobaran si había algún pedido pendiente por parte del fabricante.

Dado que actualmente no existe documentación al respecto, tuve que utilizar mi descompilador favorito,dnSpy, paraexaminar la implementación de las notas emergentes enPX.Data.dll.En Acumatica, las notas emergentes se configuran durante eleventoFieldVerifyingmediante elatributo PXSelectorAttribute. Si se establece una nota emergente para la entidad configurada, el sistema llama aPopupNoteManager.RegisterText dela siguiente manera, segúndnSpy:

ss2-4

Puedes llamar a la misma función en tu propio código para mostrar mensajes emergentes. Para mi personalización concreta, he ampliado elgráfico«Entrada de pedidos de venta»y he añadido uncontrolador de eventospara elcampo«ID de inventario» de SOLine.

A continuación se muestra una vista delcódigo incrustadode GitHub: https://gist.github.com/gmichaud/17e346cdf3062de233f52c9976d0a03e

Tras publicar la personalización, el sistema buscará pedidos de venta existentes cuando añadasartículos de inventarioa unpedido. Si se encuentra unpedido, aparecerá el siguiente mensaje emergente para el cliente:

ss3-4-2-2

Gracias a esta personalización, nuestro cliente ahora puede evitar la duplicación de pedidos, lo que ocurría con frecuencia con artículos pendientes de entrega que tenían un plazo de entrega más largo de lo habitual.

Ten en cuenta que, en el momento de redactar este documento, no es posible registrar varias notas emergentes durante la misma llamada de retorno. Si se llama aPopupManager.RegisterTextvarias veces, la ventana emergente que aparezca simplemente indicará que hay varias notas, pero no mostrará las notas individuales.

Espero que encuentres esto útil y empieces a añadir tus propios Popups personalizados a tus soluciones para tus clientes - ¡Feliz Codificación!

Autor del blog

Categorías