TprxMENUS MENU FAVS Component

De Pragma Wiki
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Introducción

El objeto TprxMENUS_MENU_FAVS_Component (Componente para menú de favoritos del explorador.) implementa funcionalidad para asistir en el armado del menú de favoritos del explorador (ver TTprxMENUS Frame). Se documentan las sentencias SQL usadas para armar el menú, y su contenido.

Identidad

  • Ancestro: TprxMENUS_Component
  • Carpeta: C:\DevelopPrx\frames
  • Archivo: prxMENUS_MENU_FAVS_Component.pas

SQL para armar el menú en el árbol

Este SQL arma la estructura del menú en el árbol.

SELECT
Origen = 'MENU'
, MenuOrden = pMENU.FGRUPOORDEN
, Menu = pMENU.FCODIGO
, Leyenda = pMENU.FDESCRIPCION
, Imagen = pMENU.FIMAGEN
, Grupo = pMENU.FGRUPO
, GrupoOrden = pMENU.FGRUPOORDEN
, Objeto = NULL
, TS = pMENU.FTS
, Tipo = 'MENU'
, Orden = 0
, Nivel = 0
, Permiso = CAST(1 AS BIT)
FROM pMENU WHERE
pMENU.FCODIGO = 'MENU_FAVS'

SQL para armar el contenido de la grilla

Este SQL carga el contenido de la opción de menú seleccionada a la grilla, usa TTprxMENUS_GRID_Frame para mostrar el contenido.

SELECT DISTINCT
Img = NULL
, Menu = pMENU.FCODIGO
, Descripcion = CAST(pOBJETOS.FDESCRIPCION AS VARCHAR(64))
, Objeto = CAST(M.FOBJETO AS VARCHAR(64))
, Clave = pMENU.FDESCRIPCION
, Orden = ISNULL(M.FORDEN, 999999)
, Permiso = CASE WHEN EXISTS
(
SELECT * FROM USUARIO_ROL_EXISTENTES WHERE
USUARIO_ROL_EXISTENTES.FUSUARIO = M.FUSUARIO
AND USUARIO_ROL_EXISTENTES.FOBJETO = pOBJETOS.FCODIGO
AND USUARIO_ROL_EXISTENTES.FPERMISO = 'SELECT'
)
THEN CAST(1 AS BIT)
ELSE CAST(0 AS BIT)
END
, Imagen = pOBJETO_TIPO.FIMAGEN
, Editable = pOBJETOS.FEDITABLE
, Tipo = pOBJETOS.FTIPO
FROM pMENU, USUARIO_MENU_PREFS M, pOBJETOS, pOBJETO_TIPO WHERE
pMENU.FCODIGO = 'MENU_FAVS'
AND M.FUSUARIO = SYSTEM_USER
AND M.FTIPO = 'FAVS'
AND pOBJETOS.FCODIGO = M.FOBJETO
AND pOBJETOS.FCODIGO NOT IN (SELECT TIPO.FCODIGO FROM pOBJETO_TIPO TIPO)
AND pOBJETO_TIPO.FCODIGO = pOBJETOS.FTIPO
ORDER BY
ISNULL(M.FORDEN, 999999)
, CAST(M.FOBJETO AS VARCHAR(64))