TprxMENUS MENU Component
Introducción
El objeto TprxMENUS_MENU_Component (Componente para menús de usuario de explorador.) implementa funcionalidad para asistir en el armado de los menús de usuario 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_Component.pas
SQL para armar el 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) , USUARIO_MENUS.FADMINISTRADOR FROM pMENU, USUARIO_MENUS WHERE pMENU.FCODIGO NOT IN ('MENU_STATS', 'MENU_FAVS') AND pMENU.FACTIVO = 1 AND USUARIO_MENUS.FUSUARIO = SYSTEM_USER AND USUARIO_MENUS.FMENU = pMENU.FCODIGO /* pMENU_ARBOL.FOBJETO IS NULL... */ UNION SELECT Origen = 'MENU' , MenuOrden = pMENU.FGRUPOORDEN , Menu = pMENU.FCODIGO , Leyenda = pMENU_ARBOL.FLEYENDA , Imagen = ISNULL(pMENU_ARBOL.FIMAGEN, 'folder') , Grupo = pMENU.FGRUPO , GrupoOrden = pMENU.FGRUPOORDEN , Objeto = pMENU_ARBOL.FOBJETO , TS = pMENU_ARBOL.FTS , Tipo = 'NODO' , Orden = pMENU_ARBOL.FORDEN , Nivel = pMENU_ARBOL.FNIVEL , Permiso = CAST(1 AS BIT) , USUARIO_MENUS.FADMINISTRADOR FROM pMENU, pMENU_ARBOL, USUARIO_MENUS WHERE pMENU.FCODIGO NOT IN ('MENU_STATS', 'MENU_FAVS') AND pMENU.FACTIVO = 1 AND pMENU_ARBOL.FMENU = pMENU.FCODIGO AND pMENU_ARBOL.FOBJETO IS NULL AND USUARIO_MENUS.FUSUARIO = SYSTEM_USER AND USUARIO_MENUS.FMENU = pMENU.FCODIGO /* pMENU_ARBOL.FOBJETO IS NOT NULL... */ UNION SELECT Origen = 'MENU' , MenuOrden = pMENU.FGRUPOORDEN , Menu = pMENU.FCODIGO , Leyenda = pOBJETOS.FDESCRIPCION , Imagen = pOBJETO_TIPO.FIMAGEN , Grupo = pMENU.FGRUPO , GrupoOrden = pMENU.FGRUPOORDEN , Objeto = pMENU_ARBOL.FOBJETO , TS = pMENU_ARBOL.FTS , Tipo = 'NODO' , Orden = pMENU_ARBOL.FORDEN , Nivel = pMENU_ARBOL.FNIVEL , Permiso = CASE WHEN EXISTS ( SELECT * FROM USUARIO_ROL_EXISTENTES WHERE USUARIO_ROL_EXISTENTES.FUSUARIO = SYSTEM_USER AND USUARIO_ROL_EXISTENTES.FOBJETO = pMENU_ARBOL.FOBJETO AND USUARIO_ROL_EXISTENTES.FPERMISO = 'SELECT' ) THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END , USUARIO_MENUS.FADMINISTRADOR FROM pMENU, pMENU_ARBOL, pOBJETOS, pOBJETO_TIPO, USUARIO_MENUS WHERE pMENU.FCODIGO NOT IN ('MENU_STATS', 'MENU_FAVS') AND pMENU.FACTIVO = 1 AND pMENU_ARBOL.FMENU = pMENU.FCODIGO AND pOBJETOS.FCODIGO = pMENU_ARBOL.FOBJETO AND pOBJETO_TIPO.FCODIGO = pOBJETOS.FTIPO AND USUARIO_MENUS.FUSUARIO = SYSTEM_USER AND USUARIO_MENUS.FMENU = pMENU.FCODIGO ORDER BY 2, 7, 3, 11