Guía – Entendiendo los disparadores del sistema de Validaciones B1. En este documento entraremos en detalle de cómo funcionan los disparadores del Sistema de Validación de B1. Datos de prueba. Para probar un evento lo mejor sería que hiciera un ejemplo usted mismo. La mejor manera es creando las siguientes dos configuraciones. Las dos configuraciones es donde cambiaremos el método de ejecución para probar los diferentes tipos de disparos de eventos. Un Overview Si le echamos un vistazo al cliente de SAP Business Oe, en general podemos ver que es una interfaz que recibe información vía el Mouse y el Teclado, podemos ver cada una de estas cosas como disparadores potenciales de eventos. El sistema de disparos se puede considerar como un filtro de ciertas acciones de usuario que nos servirán para agregar funcionalidad adicional y al configurar el sistema de validación de B1 podemos tomar estos cientos de eventos para las funcionalidades que necesitemos. El tipo de forma, campo, columna, fila y Menu Uid. La primera parte está relacionada con el formulario, campo, columna, fila y Menu Uid. SAP Business One consiste en cientos de ventanas pero al introducir el formulario de la ventana en la que trabajaremos ya tenemos un filtro principal. El siguiente filtro que tenemos que indicar es el campo con el que trabajaremos. Si no lo proporcionamos, cada uno de los campos y eventos de esa ventana disparará el evento. NOTA: Solo algunos pocos eventos como el abrir o cerrar el formulario no deben de tener un campo, pero el 95% de todos los eventos deben de tener la combinación de formulario y campo. Si el campo con el que está trabajando está a nivel línea tiene que proporcionar la columna con la que estará trabajando (de no ser así el disparador se ejecutará con cualquiera de las columnas). El último y menos usado es de fila de documento. Esto puede ser utilizado para hacer el filtro aún más específico, por ejemplo definir que se ejecutará con las primeras 10 partidas. Alternativamente, si trabajamos con el evento del MenuClic, la columna y la fila serán ignorados y solamente se ejecutará cuando hagamos clic en un menú específico (Menu Uid). Ejemplos Trigger Resultado Cualquier lugar en la ventana de Datos Maestros de Socios de Negocios en la que hagamos clic disparará el evento. Ahora reducimos el evento al campo 7 (el campo de nombre). Modo Formulario. Lo siguiente que podemos configurar es el modo del formulario. Esto hace posible que puedas tener el disparador solamente cuando la ventana se encuentre en cierto modo. Podemos elegir entre las 6 diferentes combinaciones. Ejemplos Disparador Resultado Disparamos en cualquiera de los modos. Modo buscar: Modo agregar: Ahora cambiamos el tipo de formulario a Add (Guardar) y vetemos que el evento deja de ejecutarse estando en modo Buscar/OK/Actualizar, solamente se ejecutará en modo Guardar. Los diferentes eventos. A partir de la versión 4.0.0.0 hay 19 tipos de eventos que podemos cachar. Evento Click Descripción Este evento se ejecuta antes de todos los demás eventos y básicamente funciona cada vez que presiona el botón derecho del mouse (inclusive antes de que suelte el botón y aunque no presione un campo que normalmente presiona, como por ejemplo una etiqueta). El evento del Clic es normalmente confundido con el evento “Item pressed” o campo presionado. Combobox Select Este evento ocurre cuando la selección de un Combo es realizada. Este evento solo se disparará con combos a nivel línea o cabecera de documento. Double Click El Doble clic es el mismo evento del clic pero solo cuando se ejecuta dos veces consecutivas. Considere que si ya tiene un evento de un solo clic, siempre detendrá la acción y jamás se disparará el evento del doble clic. Form Load Form Load siempre ocurre cuando se abre una ventana y no se ejecutará nuevamente cuando estemos trabajando en ella. NOTA: Este evento solo necesita el FormType o formulario, no requiere configuración de un objeto o campo. TIP: Esto es más usado con Funciones Universales de tipo creación de contenido. Form Closing Form Closing ocurre justo antes de que la ventana sea cerrada, si comparamos con Form-Closed este evento ocurre una vez que la ventana se cerró (este es útil si desea prevenir que la ventana sea cerrada). NOTA: Este evento solo necesita el FormType o formulario, no requiere configuración de un objeto o campo. Form Closed (form Form unload es el equivalente a la aperture del formulario pero solo ocurre unload) cuando la ventana es cerrada. Este evento es raramente usado. Got Focus Este evento ocurre cuando un campo de texto tiene el foco (cuando el cursor parpadea en el o es cambiado a color amarillo). Lost Focus Este evento se ejecuta cuando se abandona un campo. Es muy similar al evento validate, pero la diferencia es que el Lost Focus se ejecuta una vez que ya se dejó el campo (el Validate se ejecuta antes de dejarlo). Item Pressed Este es uno e los eventos mayormente usado. Este evento se ejecuta cuando presionamos Botones, Pestañas, Casillas de selección o Botones de ligas (flechas naranjas). Key Down Este evento se ejecuta cuando una tecla es presionada, el modificador es para incluir una combinación, como puede ser con ALT, CTRL o SHIFT. Validate Este evento es usado normalmente cuando se trata de abandonar un campo (usado normalmente para validar la información introducida en el mismo). Menu Clic Este evento se ejecuta cuando un objeto del menú es presionado. Los tipos de menú son desde la barra de menú, menú principal, Menú superior o menú de clic derecho. NOTA: Este evento se disparará aun cuando se utilice el atajo de CTRL+F. NOTA: No es posible usar un evento de MenuClic si no se introduce un valor en el MenuUid. Data load Este evento es similar a FormLoad pero solo se ejecuta cuando son mostrados datos en la ventana. Por ejemplo si abre la ventana de Orden de Venta el evento FormLoad se ejecutará, pero si abre una Orden de Venta existente entonces el DataLoad event se disparará. Data Add Similar al evento DataLoad pero sólo cuando guarda información en el formulario Colum link pressed seleccionado (cuando presiona el botón Crear y los datos son guardados). Similar a Data Add pero cuando actualizamos información. Similar a Data Add y Data update pero solamente se ejecuta cuando se elimina información (de la base de datos, no precisamente en modo buscar). Ocurre cuando se presiona una flecha naranja a nivel línea. Column Picker Pressed Ocurre cuando se presiona un ícono dentro de una celda. Data Update Data Delete Cuando B1UP terminado la cargar ha Como el nombre lo indica, este evento se ejecuta una vez que B1 usability Package se ha terminado de cargar totalmente. Esto es útil si desea ejecutar una ventana al iniciar. Hay muchas combinaciones aquí, se recomienda probarlas en un ambiente de prueba para revisar su comportamiento y funcionamiento. BeforeAction, ActionSucess, ItemChanged e Inner Event. Estas son 4 opciones avanzadas que pueden ser configuradas como Verdad, Ignorar y Falso. Opción BeforeAction+ActionSuccess ItemChanged InnerEvent Ejemplos. Descripción Esta opción en conjunto con las propiedades de ActionSuccess le permiten determinar cuándo se disparará el evento comparado con la forma en la que SAP Business One reacciona al mismo. La mejor forma de describirlo es el ejemplo que se mencionará a continuación. Esto determina si solo desea que reaccione si el campo del evento ha cambiado. Los eventos de usuario son casos muy raros. Estos son llamados InnerEvents. Esto a veces puede terminar en un Loop interminable. Esto es mejor dejarlo con el valor Ignorar pero en casos muy raros tal vez deberá cambiarlos. NOTA: Por favor note que para estos eventos se necesita cambiar la función universal de prueba. La propiedad de bloquear evento está ahora Activada (requerida para el ejemplo BeforeAction). Ejemplo Resultado Aquí disparamos e evento cuando damos clic en el botón Crear de la ventana de socios de negocios. Si damos clic en el botón podemos observar que el evento ocurre antes de que el socio de negocios sea guardado, por lo cual bloqueamos el evento de SAP para que no ocurra. Ahora probemos configurando el BeforeAction en Ignorar y el ActionSuccess en verdad. Ahora si presionamos el botón vea que el evento se ejecuta una vez que el socio de negocios se ha guardado (posteriormente a que el evento de SAP Business One se ejecute). Ahora probemos algo diferente. Vamos al disparar el evento al cambiar el nombre del cliente (recuerde cambiar el BeforeAction a Falso o será bloqueado y no podrá abandonar el campo). Si nos vamos al campo de nombre del cliente, introducimos un valor y nos salimos obtendremos el evento. Ahora si nos vamos nuevamente al campo y nos salimos sin hacer cambio alguno obtendremos el mismo evento. Ahora cambiamos el campo ItemChange a Verdad y con ello cambiara el comportamiento. Ahora ingresemos al campo sin realizar cambios, el evento no se disparará. Solo si ingresamos y realizamos cambios es cuando obtendremos el evento. Tecla pulsada y Modificado. La parte final del Trigger es cuando una Tecla es pulsada y el Modificado. Estos solo son usados cuando una tecla es presionada (si no son ignorados). Básicamente lo que tiene que hacer es introducir el valor ASCII de la tecla que disparará este evento. NOTA: Tome en cuenta que SAP usa muchos atajos de teclas, para que los add-ons no interfieran con ellos valide la tecla que utilizará. Tabla de caracteres a presionar. Ejemplos Trigger Resultado El presionar el carácter 36 equivale al botón de Inicio y el campo 5 es el Código de SN, así que si se posiciona en ese campo y presiona la tecla de inicio se disparará el evento. Ahora, si cambiamos nuestro Trigger a que use el modificador CTRL, el evento solo se ejecutará si presionamos la tecla CTRL + Inicio.
© Copyright 2024