Diferencia entre revisiones de «Categoría:DEV AUXILIARES»
Línea 79: | Línea 79: | ||
Esta pantalla tiene las mismas opciones de navegación y de edición que cualquier otra pantalla. | Esta pantalla tiene las mismas opciones de navegación y de edición que cualquier otra pantalla. | ||
=== | ===Detalles de un auxiliar en un objeto=== | ||
La pantalla para agregar un auxiliar es la misma para todos los objetos y todos los auxiliares: | La pantalla para agregar un auxiliar es la misma para todos los objetos y todos los auxiliares: | ||
[[Archivo:20250404 1127 UN AUXLIAR EN UN OBJETO.png|miniaturadeimagen|no|Datos de un auxiliar en un objeto.]] | [[Archivo:20250404 1127 UN AUXLIAR EN UN OBJETO.png|miniaturadeimagen|no|Datos de un auxiliar en un objeto.]] |
Revisión del 16:35 4 abr 2025
Introducción

Los auxiliares permiten agregar funcionalidad a las clases (tablas) y a los campos.
En este artículo se describe cómo definir auxiliares, la definición de cada auxiliar en particular se define más adelante.
Auxiliares que aplican a las clases
Los siguientes auxiliares aplican exclusivamente a las clases (o tablas):
- EVALUACION: Evaluaciones de clases, definición.
- OPCIONES: Opciones de objetos.
- ORIGEN: Origen de datos.
- POST_CONDICION: Condiciones de posteo de clases.
- PRINT: Impresión de clases.
- SELECCION_CRITERIOS: SQL para seleccionar criterios múltiples en consultas.
- SUBTOTAL: Subtotales desde detalles en edición de clases.
Auxiliares que aplican a campos o a argumentos de consultas
Los siguientes auxiliares aplican a los campos o argumentos de consultas:
- ASIGNACION: Asignación de valores.
- CONDICION_EDICION: Condición edición de campos.
- CONSTRAINT: Constricciones de campos.
- EVENTO_CAMPO: Eventos de campos.
- SELECT_F5: Selección F5 de campos.
Auxiliares obsoletos
El siguiente auxiliar, que aplica sobre clases no debería ser usado. Las definiciones en uso son casi de prueba y sin efectos en el sistema:
- POST_EVENTO: Evento de posteo de una clase.
En su lugar deberían usarse triggers.
Los siguientes auxiliares, que debían aplicar sobre campos y argumentos de consultas, jamás se usaron ni se usarán y no se documentan:
- EVALUACIONS: Evaluaciones de clases, suscripción.
- ONEXIT: Evento ONEXIT de un campo.
Tablas requeridas para definir los tipos de auxiliares
Antes de definir auxiliares deben definirse los tipos, las tablas son:
- La tabla Auxiliares, tipos (pAUX_TIPO) define los tipos de auxiliares.
- La tabla Auxiliares, etiquetas de tipos (pAUX_TIPO_TAGS) define las etiquetas usadas por cada auxiliar.
- La tabla Auxiliares, valores de etiquetas (pAUX_TIPO_TAGS_VAL) define los posibles valores para cada etiqueta.
- La tabla Auxiliares, objetos por tipo (pAUX_TIPO_OBJS) define sobre qué objetos (clases, campos y argumentos de consultas) aplica cada auxiliar.
Tablas requeridas para definir auxiliares
Finalmente pueden definirse los auxiliares usando:
- La tabla Auxiliares de objetos (pAUX) define los auxiliares que se aplican a las clases, campos y argumentos de consultas.
- La tabla Auxiliares de objetos, detalle (pAUXD) define los comandos del auxiliar.
- La tabla Auxiliares de campos, suscripción a evaluaciones (pAUX_EVALUACIONS) permite suscribir evaluaciones.
Consultas relacionadas con los auxiliares
Existen muchos auxiliares en el sistema.
Además de las explicaciones de esta sección a veces el mejor ejemplo es consultar casos de aplicación real.
Para eso están las siguientes consultas.
- Auxiliares, consulta (pAUX_CONSULTA) permite ver los auxiliares definidos para un tipo en particular.
- Auxiliares, consulta detalle (pAUXD_CONSULTA) permite ver los comandos de un auxiliar en particular, tiene una relación desde la consulta anterior para simplificar el acceso.
Cómo asociar auxiliares a los objetos del sistema
Los auxiliares finalmente se definen en los objetos del sistema, los objetos posibles son:
Asociar un auxiliar a una clase
Estando en cualquier clase, por ejemplo ASIENTOS CONTABLES/DETALLES, desde el menú de opciones:

Asociar un auxiliar a un campo de una clase
Estando en algún campo de cualquier clase, por ejemplo ASIENTOS CONTABLES/DETALLES, desde el menú de opciones del campo:

Asociar un auxiliar a un argumento de una consulta
Por ejemplo, en cualquier argumento de la consulta VALORES CAJA/CONSULTA PENDIENTES ASIGNACION, desde el menú de opciones del argumento:

Lista de auxiliares de cada uno de estos objetos
Cuando seleccionamos cualquiera de las opciones recién mencionadas se abrirá una pantalla que muestra los auxiliares asociados a cada objeto, por ejemplo:

Esta pantalla tiene las mismas opciones de navegación y de edición que cualquier otra pantalla.
Detalles de un auxiliar en un objeto
La pantalla para agregar un auxiliar es la misma para todos los objetos y todos los auxiliares:

- En el campo Tipo ingresamos el tipo de auxiliar.
- En el campo Codigo ingresamos el código, solo si el auxiliar lo admite (hay auxiliares que no permiten más de un registro por objeto, por ejemplo, las asignaciones. En estos casos el código se completa automáticamente y no permite su edición).
- En el campo Descripcion ingresamos la descripción del auxiliar.
- En el campo Activo indicamos si el auxiliar se encuentra activo, solo si lo está se ejecuta. Sino no se ejecuta.
En el panel tipo memo ponemos todos los comandos. Si presionamos F5 podremos ver una lista de etiquetas válidas para el tipo de auxiliar que estamos editando.
Runtime
Todos los cambios hechos a los auxiliares se reflejan de inmediato en una vista denominada pAUX_RUNTIME_VISTA.
Por un tema de performance esa vista se vuelca en una tabla denominada Auxiliares de objetos, tabla de runtime (pAUX_RUNTIME_TABLA).
El refresco de esta tabla se hace dentro de la aplicación sin que el desarrollador deba participar. Ante la situación de que esa tabla no se haya refrescado (por ejemplo, si se ingresaron auxiliares 'por afuera') la rutina que debe ejecutarse es:
DELETE FROM pAUX_RUNTIME_TABLA GO INSERT INTO pAUX_RUNTIME_TABLA ( FOBJETO , FCLASE , FCAMPO , FTIPO , FCODIGO , FLINEA , FANCESTRO , FDESCRIPCION , FCOMANDO ) SELECT pAUX_RUNTIME_VISTA.FOBJETO , pAUX_RUNTIME_VISTA.FCLASE , pAUX_RUNTIME_VISTA.FCAMPO , pAUX_RUNTIME_VISTA.FTIPO , pAUX_RUNTIME_VISTA.FCODIGO , pAUX_RUNTIME_VISTA.FLINEA , pAUX_RUNTIME_VISTA.FANCESTRO , pAUX_RUNTIME_VISTA.FDESCRIPCION , pAUX_RUNTIME_VISTA.FCOMANDO FROM pAUX_RUNTIME_VISTA GO GRANT SELECT, INSERT, UPDATE, DELETE ON pAUX_RUNTIME_TABLA TO public GO
Páginas en la categoría «DEV AUXILIARES»
Las siguientes 24 páginas pertenecen a esta categoría, de un total de 24.
D
- DEV AUXILIARES
- DEV AUXILIARES/ASIGNACION
- DEV AUXILIARES/CONDICION EDICION
- DEV AUXILIARES/CONSTRAINT
- DEV AUXILIARES/CONSULTA AUXILIARES
- DEV AUXILIARES/CONSULTA AUXILIARES DETALLE
- DEV AUXILIARES/DETALLE
- DEV AUXILIARES/EVALUACION
- DEV AUXILIARES/EVENTO CAMPO
- DEV AUXILIARES/OPCIONES
- DEV AUXILIARES/ORIGEN
- DEV AUXILIARES/POST CONDICION
- DEV AUXILIARES/POST EVENTO
- DEV AUXILIARES/PRINT
- DEV AUXILIARES/RUNTIME
- DEV AUXILIARES/SELECCION CRITERIOS
- DEV AUXILIARES/SELECCION CRITERIOS TABLA
- DEV AUXILIARES/SELECT F5
- DEV AUXILIARES/SUBTOTAL
- DEV AUXILIARES/SUSCRIPCION EVALUACIONES
- DEV AUXILIARES/TIPOS
- DEV AUXILIARES/TIPOS ETIQUETAS
- DEV AUXILIARES/TIPOS ETIQUETAS VALOR
- DEV AUXILIARES/TIPOS OBJETOS