DEV AUXILIARES/SELECT F5

De Pragma Wiki
Revisión del 15:58 4 abr 2025 de Luciano Carou (discusión | contribs.)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Descripción

Por defecto, cuando estamos ingresando un código en un campo que valida su existencia en una tabla (por ejemplo, un ARTICULO) la aplicación permite presionar la tecla F5 para poder seleccionar los valores posibles para ese campo. La lista corresponde a todos los campos (visibles) de esa tabla, en el orden de la clave primaria).

A veces necesitamos algo más sofisticado y es donde podemos usar este auxiliar.

Los auxiliares de tipo SELECT_F5 permiten definir una lista de selección de valores posibles a un campo de una tabla.

Este tipo de auxiliar aplica a:

Modo de operación

Estos auxiliares son manejados directamente por la aplicación durante la edición de datos, la aplicación debe estar en inserción o en edición.

Etiquetas

Las etiquetas en uso son:

<MENSAJE>

Permite definir un mensaje que verá el usuario si corresponde, cierra con </MENSAJE>.

<SELECT>

Arma la sentencia de selección del registro, la única condición es que la primera columna debe corresponder al campo que estamos seleccionando. Por ejemplo, si se trata de un campo que selecciona un ARTICULO la primera columna debe retornar un artículo. La única columna requerida es la primera, no hay necesidad de más columnas, aunque tampoco hay un límite. Cierra con </SELECT>.

<TAG VALIDA> Indica que debe validarse el código en el onexit del control de edición.

Ejemplos

Este auxiliar aplica al campo FEMBALAJE de la tabla ARTICULOS/UNIDAD MEDIDA y permite seleccionar un código de embalaje eligiendo otra unidad de medida del mismo artículo donde el campo FMEDIDA sea mayor al del registro que estamos editando (si queremos indicar en qué se embala el empaque que estamos editando, ese embalaje debe ser más grande).

El código completo es:

<SELECT>
SELECT
FEMBALAJE = ARTUNIDADMEDIDA.FCODIGO
FROM
ARTUNIDADMEDIDA
WHERE
ARTUNIDADMEDIDA.FARTICULO = FBN(FARTICULO)
AND ARTUNIDADMEDIDA.FMEDIDA > FBN(FMEDIDA)
</SELECT>
<TAG VALIDA>
<MENSAJE>
El código ingresado no existe para el artículo.
</MENSAJE>
  • La etiqueta <SELECT> define la sentencia a ejecutar para traer la lista de valores, incluye un FBN(FARTICULO) que se reemplaza con el código de artículo que estamos editando, y FBN(FMEDIDA) que se reemplaza con la medida del empaque que estamos editando.
  • La etiqueta <TAG VALIDA> indica que debe validarse el contenido del campo en el onexit del control de edición, independientemente de haber elegido el valor de la lista generada por el <SELECT> la aplicación validará que el contenido del control de edición exista en esa lista.
  • La etiqueta <MENSAJE> define el mensaje a mostrar al usuario si se ingresa un código en el control de edición que no exista en la lista del ´´´<SELECT>.