En la documentación oficial de SAP existe gran cantidad de información y multitud de ejemplos sobre cómo se pueden gestionar los eventos que ocurren en un cliente SAP Business One.
Sin embargo, en este post hablaré sobre los conceptos teóricos básicos en los que se apoya dicha gestión para que el lector pueda contar con una visión global e introductoria.
En SAP Business One se producen gran cantidad de eventos cuando un usuario interactúa con la aplicación cliente.Todos estos eventos son comunicados a las aplicaciones de terceros (addons) que se hayan conectado a la interfaz de usuario mediante la API de interfaz de usuario: UI API. Entre otros, los eventos comunicados pueden ser pulsaciones de teclas, cambio de idioma, creación de una factura de ventas, abrir una ventana de datos maestros de interlocutor comercial, pulsar un botón, etc…
Debido a esta gran cantidad de eventos comunicados, es importante realizar un filtro para que SAP Business One sólo comunique a nuestro addon los eventos que realmente estamos interesados en gestionar. Cuando SAP Business One comunica un evento a un addon, éste es comunicado en dos instantes de tiempo diferentes:
- Antes de que SAP Business One ejecute la acción correspondiente al evento comunicado.
- Después de que SAP Business One haya ejecutado la acción correspondiente al evento comunicado.
Por ejemplo, durante la creación de una factura de ventas:
- SAP Business One enviará un evento de creación a nuestro addon antes de crear la factura en la base de datos, por lo que podríamos realizar comprobaciones adicionales.
- SAP Business One enviará un evento de creación a nuestro addon después de crear la factura en la base de datos, por lo que podríamos realizar actualizaciones adicionales.
Además de poder trabajar en cualquiera de estos dos instantes de tiempo, también podemos decidir si la acción que va a ejecutar SAP Business One debe ser finalmente ejecutada o no.
Por ejemplo, en el caso de la creación de una factura de ventas podemos realizar una comprobación de alguna condición particular y en caso de que no se satisfaga, cancelar la creación de la factura en el sistema, modificar dicha factura, crear un borrador o cualquier otra cosa que cumpla con nuestros requisitos.