Diferencia entre revisiones de «TprxMENUS MENU STATS Component»

De Pragma Wiki
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…»)
 
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
=Introducción=
=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.
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.
=[[QUEESESTO/IDENTIDAD|Identidad]]=
=[[QUEESESTO/IDENTIDAD|Identidad]]=
[[Category:MANUAL/PROGRAMADOR]]
[[Category:MANUAL/PROGRAMADOR]]
Línea 8: Línea 7:
*Carpeta: C:\DevelopPrx\frames
*Carpeta: C:\DevelopPrx\frames
*Archivo: prxMENUS_MENU_STATS_Component.pas
*Archivo: prxMENUS_MENU_STATS_Component.pas
=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 28: Línea 27:
pMENU.FCODIGO = 'MENU_STATS'
pMENU.FCODIGO = 'MENU_STATS'
</pre>
</pre>
=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, usa [[TTprxMENUS_GRID_Frame]] para mostrar el contenido.
<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 actual - 20:01 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, usa TTprxMENUS_GRID_Frame para mostrar el contenido.

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