Diferencia entre revisiones de «Categoría:DEV ENUMERACIONES»

De Pragma Wiki
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
 
(No se muestran 7 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
=Descripción=
=Introducción=
[[Category:MANUAL/DESARROLLADOR]]
[[Archivo:20250318 1559 prxenumeraciones.png|miniaturadeimagen|izquierda|Diagrama de enumeraciones.]]
[[Archivo:20250318 1559 prxenumeraciones.png|miniaturadeimagen|izquierda|Diagrama de enumeraciones.]]
La tabla '''prxenumeraciones''' (Enumeraciones) define la cabecera de una enumeración.
Las enumeraciones permiten definir valores posibles para los controles de edición de tipo '''combobox'''. Por ejemplo, la pantalla de abajo muestra una enumeración que contiene los siguientes valores:
Las enumeraciones permiten definir valores posibles para los controles de edición de tipo '''combobox'''. Por ejemplo, la pantalla de abajo muestra una enumeración que contiene los siguientes valores:
*Activo.
*Activo.
Línea 16: Línea 15:


Esta enumeración se define como:
Esta enumeración se define como:
[[Archivo:20250525 1229 EJEMPLO ENUMERACION NORMAL.png|miniaturadeimagen|no|Definición de una enumeración.]]


=Tablas=
*La tabla [[DEV ENUMERACIONES|Enumeraciones (prxenumeraciones)]] permite definir la cabecera de las enumeraciones.
*La tabla [[DEV ENUMERACIONES/DETALLE|Enumeraciones, detalle (prxenumeracionesd)]] define el detalle de la enumeración (incluye ejemplos).
=Ejemplos=
===Una enumeración normal (copiado de la introducción)===
El control de tipo '''combobox''' (asociado al campo '''Rubro''' en este caso) solo permite la selección de uno de esos valores:
[[Archivo:20250319 1609 EJEMPLO ENUMERACION EN CUENTA RUBRO.png|miniaturadeimagen|no|Ejemplo de una enumeración en uso.]]
Las enumeraciones pueden definir listas cerradas de ítems, o pueden contener una sentencia SQL que se inicializa en el momento de ser requerida permitiendo una funcionalidad específica al dato que se está registrando.
Esta enumeración corresponde a una lista cerrada de ítems y se define como:
[[Archivo:20250525 1229 EJEMPLO ENUMERACION NORMAL.png|miniaturadeimagen|no|Definición de una enumeración.]]
[[Archivo:20250525 1229 EJEMPLO ENUMERACION NORMAL.png|miniaturadeimagen|no|Definición de una enumeración.]]


=Estructura=
===Una enumeración con sentencia SQL===
[[Category:MANUAL/DESARROLLADOR]]
Esta enumeración define una sentencia SQL que traerá la lista de ítems del combobox, el campo '''pSelect''' inicializa a verdadero indica que se trata de una sentencia SQL y no de una lista de ítems estándar. El campo '''Incializacion''' indica '''sql_on_init' que quiere decir que el SQL se ejecuta cuando se inicializa el control de edición.
[[Category:DEV ENUMERACIONES]]
 
La definición es:
[[Archivo:20250527 1537 EJEMPLO ENUMERACION SQL.png|miniaturadeimagen|no|Definición de una enumeración con SQL.]]
 
El SQL:
<pre>
SELECT DISTINCT
FCODIGO = UPPER(ART.FTIPO)
FROM ART WHERE
ART.FFAMILIA IN
(
'LIBROS'
, 'ALIMENTOS'
, 'TICKETS'
)
ORDER BY 1
</pre>
 
Trae la lista de tipos de artículos (en mayúsculas) para aquellos que se encuentran en las familias LIBROS, ALIMENTOS o TICKETS.


El detalle de los ítems que conforman la enumeración se define en [[DEV ENUMERACIONES/DETALLE]].
En la base de datos ejemplo el resultado es:
*BIENES DE USO.
*PRODUCTOS.
*SERVICIOS.
*SIN IMPUESTO.


=[[QUEESESTO/IDENTIDAD|Identidad]]=
En el combobox ambos tipos de enumeración se ven de la misma manera, como una lista de ítems donde solo podemos seleccionar uno.
* Tabla: '''prxenumeraciones'''
* Tipo: '''TABLA'''
* Define atributo '''Enumeracion'''
* Catálogo: '''[[SYS OBJETOS]]'''
=[[QUEESESTO/LISTADECAMPOS|Lista de campos]]=
{| class="wikitable"
|-
! Columna !! Campo físico !! Campo lógico !! Atributo !! Descripción !! Etiquetas !! Definición !! Observaciones
|-
|1||Enumeracion||Enumeracion||[[VARCHAR(128)|VARCHAR(128)]]||Caracteres de longitud variable hasta 128 caracter/es||KEY,REQ,VIS,INS,UPD||[[DEV ENUMERACIONES|prxenumeraciones]]||Código de la enumeración.
|-
|2||Descripcion||Descripcion||[[VARCHAR(128)|VARCHAR(128)]]||Caracteres de longitud variable hasta 128 caracter/es||VIS,INS,UPD||[[DEV ENUMERACIONES|prxenumeraciones]]||Descripción de la enumeración.
|-
|3||AtributoPDT||AtributoPDT||[[DEV CATALOGOS/PRIMITIVOS|pPDT]]||Tipos de datos primitivos||REQ,VIS,INS||[[DEV ENUMERACIONES|prxenumeraciones]]||Atributo que tendrá la enumeración.
|-
|4||pSelect||pSelect||[[BIT|BIT]]||Campo lógico, admite 1, 0 y NULL||VIS,INS,UPD||[[DEV ENUMERACIONES|prxenumeraciones]]||Marcar para indicar que la enumeración se resuelve ejecutando la sentencia definida en el detalle.
|-
|5||Inicializacion||Inicializacion||[[PRXENUMERACIONES_INICIALIZACION|PRXENUMERACIONES_INICIALIZACION]]||Tipo de enumeracion||REQ,VIS,INS,UPD||[[DEV ENUMERACIONES|prxenumeraciones]]||Modo de inicialización durante la edición normal: inicialización normal (toma la definición), sql_on_enter: se inicializa por sql al ingresar al campo o sql_on_init: se inicializa por sql al inicializar el registro.
|-
|6||Catalogo||Catalogo||[[DEV CATALOGOS|pCATALOGO]]||Catálogos||REQ,||[[DEV ENUMERACIONES|prxenumeraciones]]||Catálogo al que pertenece el objeto.
|-
|7||CatalogoKey||CatalogoKey||[[VARCHAR(256)|VARCHAR(256)]]||Caracteres de longitud variable hasta 256 caracter/es||INS,UPD||[[DEV ENUMERACIONES|prxenumeraciones]]||Ubicación de la clase dentro del menú del catálogo (no tiene que ver con los menús de usuario), este esquema de menús será eventualmente reemplazado por el siguiente campo.
|-
|8||CatalogoMenu||CatalogoMenu||[[DEV CATALOGOS/ETIQUETAS MENU|pCATALOGO_TAG]]||Catálogos, etiquetas de menú||VIS,INS,UPD||[[DEV ENUMERACIONES|prxenumeraciones]]||Código de etiqueta seleccionado de las etiquetas del catálogo, éste será el nuevo esquema de armado de menús.
|-
|9||TS||TS||[[prxtimestamp|prxtimestamp]]||Marca de tiempo.||||[[DEV ENUMERACIONES|prxenumeraciones]]||TIMESTAMP del momento de creado del objeto.
|-
|}
=Observaciones adicionales sobre los campos=
=Relaciones=
=Triggers=
===prxenumeraciones_TR_pUDT_UPDATE===
Llama al procedimiento '''pUDT_REFRESCO_EXEC''' para actualizar las tablas:
*[[DEV CATALOGOS/ATRIBUTOS CATALOGO]].
*[[DEV CATALOGOS/ATRIBUTOS]].
===prxenumeraciones_TR_pUDT_DELETE===
Ídem anterior.

Revisión actual - 17:48 28 mar 2025

Introducción

Diagrama de enumeraciones.

Las enumeraciones permiten definir valores posibles para los controles de edición de tipo combobox. Por ejemplo, la pantalla de abajo muestra una enumeración que contiene los siguientes valores:

  • Activo.
  • Pasivo.
  • Patrimonio Neto.
  • Resultados.
  • Suspenso.

El control de tipo combobox (asociado al campo Rubro en este caso) solo permite la selección de uno de esos valores:

Ejemplo de una enumeración en uso.

Las enumeraciones pueden definir listas cerradas de ítems, o pueden contener una sentencia SQL que se inicializa en el momento de ser requerida permitiendo una funcionalidad específica al dato que se está registrando.

Esta enumeración se define como:

Definición de una enumeración.

Tablas

Ejemplos

Una enumeración normal (copiado de la introducción)

El control de tipo combobox (asociado al campo Rubro en este caso) solo permite la selección de uno de esos valores:

Ejemplo de una enumeración en uso.

Las enumeraciones pueden definir listas cerradas de ítems, o pueden contener una sentencia SQL que se inicializa en el momento de ser requerida permitiendo una funcionalidad específica al dato que se está registrando.

Esta enumeración corresponde a una lista cerrada de ítems y se define como:

Definición de una enumeración.

Una enumeración con sentencia SQL

Esta enumeración define una sentencia SQL que traerá la lista de ítems del combobox, el campo pSelect inicializa a verdadero indica que se trata de una sentencia SQL y no de una lista de ítems estándar. El campo Incializacion indica sql_on_init' que quiere decir que el SQL se ejecuta cuando se inicializa el control de edición.

La definición es:

Definición de una enumeración con SQL.

El SQL:

SELECT DISTINCT
FCODIGO = UPPER(ART.FTIPO)
FROM ART WHERE
ART.FFAMILIA IN 
(
'LIBROS'
, 'ALIMENTOS'
, 'TICKETS'
)
ORDER BY 1

Trae la lista de tipos de artículos (en mayúsculas) para aquellos que se encuentran en las familias LIBROS, ALIMENTOS o TICKETS.

En la base de datos ejemplo el resultado es:

  • BIENES DE USO.
  • PRODUCTOS.
  • SERVICIOS.
  • SIN IMPUESTO.

En el combobox ambos tipos de enumeración se ven de la misma manera, como una lista de ítems donde solo podemos seleccionar uno.

Páginas en la categoría «DEV ENUMERACIONES»

Las siguientes 2 páginas pertenecen a esta categoría, de un total de 2.