Diferencia entre revisiones de «DEV AUXILIARES/ASIGNACION»

De Pragma Wiki
Ir a la navegación Ir a la búsqueda
(Página creada con «=Descripción= Category:MANUAL/DESARROLLADOR Category:DEV AUXILIARES Los auxiliares de tipo '''ASIGNACION''' permiten asignar valores a campos de la pantalla que se está editando. Las evaluaciones se usan en las pantallas de edición de datos. Este tipo de auxiliar aplica a: *Campos de clases (prxcampos). *Argumentos de consultas (prxconsultasA). =Modo de operación= Cuando estamos en una pantalla de edici…»)
 
Sin resumen de edición
Línea 16: Línea 16:
Las etiquetas en uso son:
Las etiquetas en uso son:


===<COMANDO>===
Define el comando que asigna el valor, cierra con </COMANDO>.


===<TAG DETONADOR>===
Indica qué campo detona la asignación.


---------------------------------------------------------------------
===<TAG ESTADISTICA>===
---------------------------------------------------------------------
Indica si el campo se asigna según valores estadísticos, es decir, el valor más usado en ese campo.
---------------------------------------------------------------------
---------------------------------------------------------------------


===<MENSAJE>===
===<TAG EVENTO>===
Permite definir un mensaje para retornar al usuario.
Indica qué evento que gatilla la asignación, los valores posibles son:
*ONENTER: Ejecuta al ingresar al campo.
*ONEXIT: Ejecuta al salir del campo.


Cierra con </MENSAJE>.
===<TAG ONPOST>===
Indica que el valor del campo se debe refrescar al postear los cambios (cuando se presiona Aplicar en la pantalla).


===<SELECT>===
===<TAG PORCENTAJE100>===
Permite definir el SQL que hace la evaluación, este SQL pude ser tan complejo y extenso como se necesite y puede consultar cualquier objeto presente en el sistema.
Esta etiqueta indica al sistema que al asignar valores a un campo hay que adicionalmente verificar que no exceda un porcentaje de 100%, no está en uso.


El valor de retorno debe ser de tipo [[BIT|BIT]].
===<TAG VALORNULO>===
Esta etiqueta indica que solo debe asignarse valor al campo cuando su valor (previo a la asignación) es NULO.


Cierra con </SELECT>.
=Uso del auxiliar=
 
El auxiliar es ejecutado automáticamente desde dentro de la aplicación y solamente cuando la pantalla está en inserción o en edición.
===<TAG TIPO>===
Permite dos valores:
*ADVERTENCIA: Retorna un mensaje de advertencia.
*ERROR: Retorna un mensaje de error.
 
En la operación del sistema:
*Ambos tipos retornan una pantalla indicando el tipo de situación y la leyenda asociada.
*Los mensajes de advertencia permiten continuar con el ingreso de datos.
*Los mensajes de error no permiten seguir con el ingreso de datos hasta resolver la situación a la que refiere el mensaje.
 
No tiene etiqueta de cierre, la sintaxis es:
<pre>
<TAG TIPO>ADVERTENCIA
</pre>
 
O:
 
<pre>
<TAG TIPO>ERROR
</pre>
 
=Ejemplo=
Existe una evaluación sobre la tabla de artículos (ART) que verifica que el artículo esté activo, en pantalla se ve de la siguiente manera:
 
[[Archivo:20250331 1600 DEFINIR UNA EVALUACION.png|miniaturadeimagen|no|Definición de una evaluación:]]
 
Internamente (en [[DEV AUXILIARES/DETALLE]]) se guarda de la siguiente manera:
 
<pre>
<TAG TIPO>ERROR
<SELECT>
SELECT FBN(FACTIVO)
</SELECT>
<MENSAJE>
El artículo ha sido marcado como no activo y no debería usarse, consulte con quienes administran los artículos para mayor información.
</MENSAJE>
</pre>


La etiqueta '''<TAG TIPO>''' indica que es un mensaje de error.
=Ejemplos=
 
Los comandos dentro del '''<SELECT>''' y '''</SELECT>''' operan en este caso directamente sobre la tabla ART retornando el valor del campo FACTIVO (El comando FBN, FieldByName retorna el valor del campo cuyo nombre se indica dentro de los paréntesis). El comando podría ser cualquier otra cosa, por ejemplo:


===Ejemplo de una asignación estadística===
La asignación estadística asigna a un campo el valor más usado (para ese campo) entre todos los registros de la tabla, el siguiente ejemplo asigna el campo FIMPUTATIPO de la tabla de [[ASIENTOS CONTALES/DETALLE]] con el valor estadístico:
<pre>
<pre>
SELECT RESULTADO = CASE WHEN EXISTS (SELECT * FROM ART WHERE FCODIGO = 'LBEN' AND FACTIVO = 1) THEN 1 ELSE 0 END
<TAG EVENTO>ONENTER
<TAG DETONADOR>FIMPUTATIPO
<TAG VALORNULO>
<TAG ESTADISTICA>
</pre>
</pre>


=Uso del auxiliar=
*La etiqueta <TAG EVENTO>ONENTER indica que el auxiliar se ejecuta al ingresar al campo.
Este auxiliar define las evaluaciones, éstas deben ser posteriormente suscriptas por campos definidos en el sistema.
*La etiqueta <TAG DETONADOR>FIMPUTATIPO indica que el campo es FIMPUTATIPO, por lo tanto, el auxiliar se ejecutará al ingresar al campo FIMPUTATIPO.
 
*La etiqueta <TAG VALORNULO> indica que la asignación se hará exclusivamente si el valor del campo, previo a la asignación, es NULO.
Por ejemplo, si definimos un auxiliar que evalúa si un artículo está activo podemos usarlo desde cualquier clase (tabla) que define un campo de tipo artículo.
*La etiqueta <TAG ESTADISTICA> indica que el tipo de asignación es estadística, por lo que el sistema le asignará el valor más usado en ese mismo campo, pero en todos los registros de la tabla.
 
Para suscribir la evaluación tenemos que ir a la definición del campo y seleccionar las opciones picando en el botón cuyo texto es "AtributoUDT"::
 
[[Archivo:20250331 1607 SUSCRIBIR UNA EVALUACION.png|miniaturadeimagen|no|Seleccionar la opción de suscribir evaluación.]]
 
Una vez seleccionada la opción de suscribir evaluaciones veremos la lista de evaluaciones asociadas a ese atributo donde podremos seleccionar las que necesitemos.
 
[[Archivo:20250331 1609 SUSCRIBIR UNA EVALUACION II.png|miniaturadeimagen|no|Suscripción de evaluaciones.]]
 
Cada vez que ingresemos un código de artículo en la tabla que suscribe, al salir del campo el sistema va a cargar el registro correspondiente al valor ingresado y aplicará las evaluaciones suscriptas. La operación del sistema seguirá según el resultado de esa evaluación.

Revisión del 17:29 3 abr 2025

Descripción

Los auxiliares de tipo ASIGNACION permiten asignar valores a campos de la pantalla que se está editando.

Las evaluaciones se usan en las pantallas de edición de datos.

Este tipo de auxiliar aplica a:

Modo de operación

Cuando estamos en una pantalla de edición, y ante un evento definido en cada auxiliar, éste asignará un valor al campo al que está asociado. La pantalla debe estar en inserción o en edición.

Etiquetas

Las etiquetas en uso son:

<COMANDO>

Define el comando que asigna el valor, cierra con </COMANDO>.

<TAG DETONADOR>

Indica qué campo detona la asignación.

<TAG ESTADISTICA>

Indica si el campo se asigna según valores estadísticos, es decir, el valor más usado en ese campo.

<TAG EVENTO>

Indica qué evento que gatilla la asignación, los valores posibles son:

  • ONENTER: Ejecuta al ingresar al campo.
  • ONEXIT: Ejecuta al salir del campo.

<TAG ONPOST>

Indica que el valor del campo se debe refrescar al postear los cambios (cuando se presiona Aplicar en la pantalla).

<TAG PORCENTAJE100>

Esta etiqueta indica al sistema que al asignar valores a un campo hay que adicionalmente verificar que no exceda un porcentaje de 100%, no está en uso.

<TAG VALORNULO>

Esta etiqueta indica que solo debe asignarse valor al campo cuando su valor (previo a la asignación) es NULO.

Uso del auxiliar

El auxiliar es ejecutado automáticamente desde dentro de la aplicación y solamente cuando la pantalla está en inserción o en edición.

Ejemplos

Ejemplo de una asignación estadística

La asignación estadística asigna a un campo el valor más usado (para ese campo) entre todos los registros de la tabla, el siguiente ejemplo asigna el campo FIMPUTATIPO de la tabla de ASIENTOS CONTALES/DETALLE con el valor estadístico:

<TAG EVENTO>ONENTER
<TAG DETONADOR>FIMPUTATIPO
<TAG VALORNULO>
<TAG ESTADISTICA>
  • La etiqueta <TAG EVENTO>ONENTER indica que el auxiliar se ejecuta al ingresar al campo.
  • La etiqueta <TAG DETONADOR>FIMPUTATIPO indica que el campo es FIMPUTATIPO, por lo tanto, el auxiliar se ejecutará al ingresar al campo FIMPUTATIPO.
  • La etiqueta <TAG VALORNULO> indica que la asignación se hará exclusivamente si el valor del campo, previo a la asignación, es NULO.
  • La etiqueta <TAG ESTADISTICA> indica que el tipo de asignación es estadística, por lo que el sistema le asignará el valor más usado en ese mismo campo, pero en todos los registros de la tabla.