DEV ETIQUETAS/VISTA FRAME EDICION
Descripción
La vista denominada pTAGS_FRAME_VISTA toma las definiciones hechas en FRAME EDICION y agrega algunos comandos de modo que la aplicación sepa exactamente qué frame usar para cada pantalla.
Esta etiqueta aplica exclusivamente a:
Componentes de la vista
Etiquetas definidas en clases
Todas las etiquetas definidas en clases y asociadas a la etiqueta FRAME_EDICION se toman directamente, el código es:
/* DEFINEN EN pTAGS... */ SELECT FTIPO = pTAGSD.FOBJETO , FCLASE = pTAGSD.FCODIGO , FINSTANCIA = CASE WHEN pTAGSD.FTAGS = 'INSTANCIA1' THEN 1 ELSE 2 END , FFRAME = REPLACE(pTAGSD.FCOMANDO, '<TAG FRAME>', '') , FFRAMECAPTION = prxclases.Descripcion , FFRAMES = ISNULL ( ( SELECT REPLACE(F.FCOMANDO, '<TAG FRAMESUB>', '') FROM pTAGSD F WHERE F.FOBJETO = pTAGSD.FOBJETO AND F.FCODIGO = pTAGSD.FCODIGO AND F.FTAG = pTAGSD.FTAG AND F.FTAGS = pTAGSD.FTAGS AND F.FCOMANDO LIKE '%<TAG FRAMESUB>%' ) ,'NA' ) , FFRAMEARGS = ( SELECT REPLACE(F.FCOMANDO, '<TAG FRAMETAGS>', '') FROM pTAGSD F WHERE F.FOBJETO = pTAGSD.FOBJETO AND F.FCODIGO = pTAGSD.FCODIGO AND F.FTAG = pTAGSD.FTAG AND F.FTAGS = pTAGSD.FTAGS AND F.FCOMANDO LIKE '%<TAG FRAMETAGS>%' ) , FMODOEDICION = prxclases.DetalleVisual , FTABLENAME = pTAGSD.FCODIGO , FCRITERIO = 'prxclases que definen pTAGS' FROM pTAGSD INNER JOIN prxclases ON prxclases.Codigo = pTAGSD.FCODIGO WHERE pTAGSD.FOBJETO = 'PRXCLASES' AND pTAGSD.FTAG = 'FRAME_EDICION' AND pTAGSD.FTAGS IN ('INSTANCIA1','INSTANCIA2') AND pTAGSD.FCOMANDO LIKE '%<TAG FRAME>%'
Clases que no definen etiquetas
Aquellas clases que no definen etiquetas se asocian en la vista a los frames TTfvsDBClientFrameGridClases o TTfvsDBClientFrameMasterClases, el código es:
/* NO DEFINEN EN pTAGS... */ UNION SELECT FTIPO = 'PRXCLASES' , FCLASE = prxclases.Codigo , FINSTANCIA = CASE WHEN pTAGSD_DEF.FCODIGO = 'INSTANCIA1' THEN 1 ELSE 2 END , FFRAME = CASE WHEN pTAGSD_DEF.FCODIGO = 'INSTANCIA1' THEN 'TTfvsDBClientFrameGridClases' ELSE 'TTfvsDBClientFrameMasterClases' END , FFRAMECAPTION = prxclases.Descripcion , FFRAMES = CASE WHEN pTAGSD_DEF.FCODIGO = 'INSTANCIA1' THEN 'NA' ELSE 'TTfvsDBClientFrameScrollBox' END , FFRAMEARGS = NULL , FMODOEDICION = prxclases.DetalleVisual , FTABLENAME = prxclases.Codigo , FCRITERIO = 'prxclases que no definen pTAGS' FROM prxclases INNER JOIN pTAGSD_DEF ON pTAGSD_DEF.FTAG = 'FRAME_EDICION' AND pTAGSD_DEF.FCODIGO IN ('INSTANCIA1','INSTANCIA2') WHERE NOT EXISTS ( SELECT * FROM pTAGS WHERE pTAGS.FOBJETO = 'prxclases' AND pTAGS.FCODIGO = prxclases.Codigo AND pTAGS.FTAG = 'FRAME_EDICION' ) AND NOT EXISTS ( SELECT * FROM pTAGS WHERE pTAGS.FOBJETO = 'prxclases' AND pTAGS.FCODIGO = prxclases.Codigo AND pTAGS.FTAG = 'VISIBLE' AND pTAGS.FTAGS = 'Falso' )
La vista agrega registros como si se hubieran definido de la siguiente manera:
FOBJETO | FCODIGO | FTAG | FTAGS | FLINEA | FCOMANDO |
---|---|---|---|---|---|
PRXCLASES | ART | FRAME_EDICION | INSTANCIA1 | 1 | <TAG FRAME>TTfvsDBClientFrameGridClases |
PRXCLASES | ART | FRAME_EDICION | INSTANCIA1 | 2 | <TAG FRAMESUB>NA |
PRXCLASES | ART | FRAME_EDICION | INSTANCIA2 | 1 | <TAG FRAME>TTfvsDBClientFrameMasterClases |
PRXCLASES | ART | FRAME_EDICION | INSTANCIA2 | 2 | <TAG FRAME>TTfvsDBClientFrameScrollBox |
Agregado automático de consultas
El frame TTfvsDBClientFrameGridConsultas se asocia a las consultas directamente, el código es:
/* prxconsultas... */ UNION SELECT FTIPO = 'prxconsultas' , FCLASE = prxconsultas.Codigo , FINSTANCIA = 1 , Frame = 'TTfvsDBClientFrameGridConsultas' , FrameCaption = prxconsultas.Descripcion , FrameS = 'NA' , FrameArgs = NULL , ModoEdicion = 'master' , Tablename = prxconsultas.Codigo , FCRITERIO = 'prxconsultas' FROM prxconsultas
Agregado automático de DEV FRAMES
Los frames (de Delphi) se asocian al que tienen definido en el campo NombreFrame, el código es:
/* prxframes... */ UNION SELECT FTIPO = 'PRXFRAMES' , FCODIGO = prxframes.Codigo , FINSTANCIA = 1 , FFRAME = prxframes.NombreFrame , FFRAMECAPTION = prxframes.Descripcion , FFRAMES = 'NA' , FFRAMEARGS = NULL , FMODOEDICION = 'master' , FTABLENAME = prxframes.Codigo , FCRITERIO = 'PRXFRAMES' FROM prxframes