Diferencia entre revisiones de «TprxMENUS MENU STATS Component»
Ir a la navegación
Ir a la búsqueda
(Página creada con «=Introducción= El objeto '''TprxMENUS_MENU_STATS_Component''' (Componente para menú estadístico del explorador.) implementa funcionalidad para asistir en el armado del menú estadístico del explorador (ver TTprxMENUS Frame). Se documentan las sentencias SQL usadas para armar el menú, y su contenido. =Identidad= Category:MANUAL/PROGRAMADOR Category:EXPLORADOR *Ancestro: TprxMENUS_Component *Carpeta: C:\DevelopPrx\frames *Ar…») |
Sin resumen de edición |
||
Línea 10: | Línea 10: | ||
=SQL para armar el menú en el árbol= | =SQL para armar el menú en el árbol= | ||
Este SQL arma la estructura del menú en el árbol. | |||
<pre> | <pre> | ||
SELECT | SELECT | ||
Línea 30: | Línea 31: | ||
=SQL para armar el contenido de la grilla= | =SQL para armar el contenido de la grilla= | ||
Este SQL carga el contenido de la opción de menú seleccionada a la grilla. | |||
<pre> | <pre> | ||
SELECT | |||
Img = NULL | |||
, Menu = pMENU.FCODIGO | |||
, E.Descripcion | |||
, Objeto = E.Pantalla | |||
, Clave = pMENU.FDESCRIPCION | |||
, Orden = E.Recs * -1 | |||
, Permiso = CASE WHEN EXISTS | |||
( | |||
SELECT * FROM USUARIO_ROL_EXISTENTES WHERE | |||
USUARIO_ROL_EXISTENTES.FUSUARIO = E.Usuario | |||
AND USUARIO_ROL_EXISTENTES.FOBJETO = E.Pantalla | |||
AND USUARIO_ROL_EXISTENTES.FPERMISO = 'SELECT' | |||
) | |||
THEN CAST(1 AS BIT) | |||
ELSE CAST(0 AS BIT) | |||
END | |||
, E.Imagen | |||
, E.Editable | |||
, E.Tipo | |||
FROM | |||
( | |||
SELECT DISTINCT TOP 24 | |||
Menu = pMENU.FCODIGO | |||
, Pantalla = USUARIO_MENU_PREFS.FOBJETO | |||
, Descripcion = pOBJETOS.FDESCRIPCION | |||
, Tipo = pOBJETOS.FTIPO | |||
, TS = pOBJETOS.FTS | |||
, Imagen = pOBJETO_TIPO.FIMAGEN | |||
, Usuario = USUARIO_MENU_PREFS.FUSUARIO | |||
, Editable = pOBJETOS.FEDITABLE | |||
, Recs = COUNT(*) | |||
FROM pMENU, USUARIO_MENU_PREFS, pOBJETOS, pOBJETO_TIPO WHERE | |||
pMENU.FCODIGO = 'MENU_STATS' | |||
AND USUARIO_MENU_PREFS.FUSUARIO = SYSTEM_USER | |||
AND USUARIO_MENU_PREFS.FTIPO = 'STATS' | |||
AND pOBJETOS.FCODIGO = USUARIO_MENU_PREFS.FOBJETO | |||
AND pOBJETOS.FEDITABLE = 1 | |||
AND pOBJETOS.FCODIGO NOT IN (SELECT TIPO.FCODIGO FROM pOBJETO_TIPO TIPO) | |||
AND pOBJETO_TIPO.FCODIGO = pOBJETOS.FTIPO | |||
GROUP BY pMENU.FCODIGO, USUARIO_MENU_PREFS.FOBJETO, USUARIO_MENU_PREFS.FUSUARIO, pOBJETOS.FDESCRIPCION, pOBJETOS.FTIPO, pOBJETOS.FTS, pOBJETO_TIPO.FIMAGEN, pOBJETOS.FEDITABLE | |||
ORDER BY COUNT(*) DESC | |||
) E, pMENU | |||
WHERE | |||
pMENU.FCODIGO = E.Menu | |||
ORDER BY E.Recs * -1, E.Pantalla | |||
</pre> | </pre> |
Revisión del 19:51 4 jun 2025
Introducción
El objeto TprxMENUS_MENU_STATS_Component (Componente para menú estadístico del explorador.) implementa funcionalidad para asistir en el armado del menú estadístico 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_STATS_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_STATS'
SQL para armar el contenido de la grilla
Este SQL carga el contenido de la opción de menú seleccionada a la grilla.
SELECT Img = NULL , Menu = pMENU.FCODIGO , E.Descripcion , Objeto = E.Pantalla , Clave = pMENU.FDESCRIPCION , Orden = E.Recs * -1 , Permiso = CASE WHEN EXISTS ( SELECT * FROM USUARIO_ROL_EXISTENTES WHERE USUARIO_ROL_EXISTENTES.FUSUARIO = E.Usuario AND USUARIO_ROL_EXISTENTES.FOBJETO = E.Pantalla AND USUARIO_ROL_EXISTENTES.FPERMISO = 'SELECT' ) THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END , E.Imagen , E.Editable , E.Tipo FROM ( SELECT DISTINCT TOP 24 Menu = pMENU.FCODIGO , Pantalla = USUARIO_MENU_PREFS.FOBJETO , Descripcion = pOBJETOS.FDESCRIPCION , Tipo = pOBJETOS.FTIPO , TS = pOBJETOS.FTS , Imagen = pOBJETO_TIPO.FIMAGEN , Usuario = USUARIO_MENU_PREFS.FUSUARIO , Editable = pOBJETOS.FEDITABLE , Recs = COUNT(*) FROM pMENU, USUARIO_MENU_PREFS, pOBJETOS, pOBJETO_TIPO WHERE pMENU.FCODIGO = 'MENU_STATS' AND USUARIO_MENU_PREFS.FUSUARIO = SYSTEM_USER AND USUARIO_MENU_PREFS.FTIPO = 'STATS' AND pOBJETOS.FCODIGO = USUARIO_MENU_PREFS.FOBJETO AND pOBJETOS.FEDITABLE = 1 AND pOBJETOS.FCODIGO NOT IN (SELECT TIPO.FCODIGO FROM pOBJETO_TIPO TIPO) AND pOBJETO_TIPO.FCODIGO = pOBJETOS.FTIPO GROUP BY pMENU.FCODIGO, USUARIO_MENU_PREFS.FOBJETO, USUARIO_MENU_PREFS.FUSUARIO, pOBJETOS.FDESCRIPCION, pOBJETOS.FTIPO, pOBJETOS.FTS, pOBJETO_TIPO.FIMAGEN, pOBJETOS.FEDITABLE ORDER BY COUNT(*) DESC ) E, pMENU WHERE pMENU.FCODIGO = E.Menu ORDER BY E.Recs * -1, E.Pantalla