DEV ETIQUETAS/FRAME EDICION
Descripción
La etiqueta FRAME EDICION permite asociar los objetos del sistema a las pantallas disponibles en la aplicación.
Esta etiqueta aplica exclusivamente a:
Requiere de por lo menos una introducción al comportamiento de las pantallas.
=Subetiquetas= COMPLETAR ESTOOOOOOOOOOOOOOOOOOOOO Las subetiquetas son:
- SELECT asigna un permiso de consulta.
- INSERT asigna un permiso de inserción.
- UPDATE asigna un permiso de modificación.
- DELETE asigna un permiso de eliminación.
SELECT A.* FROM ( SELECT FOP = 'TTfvsDBClientFrameCheckList' UNION SELECT FOP = 'TTfvsDBClientFrameCmpCabecera' UNION SELECT FOP = 'TTfvsDBClientFrameFieldDefs' UNION SELECT FOP = 'TTfvsDBClientFrameGridClases' UNION SELECT FOP = 'TTfvsDBClientFrameGridConsultas' UNION SELECT FOP = 'TTfvsDBClientFrameMasterClases' UNION SELECT FOP = 'TTfvsDBClientFrameMemo' UNION SELECT FOP = 'TTfvsDBClientFrameMemoEdit' UNION SELECT FOP = 'TTfvsDBClientFrameMemoKeyField' UNION SELECT FOP = 'TTfvsDBClientFrameRoleDefinition' UNION SELECT FOP = 'TTfvsDBClientFrameScrollBox' ) A WHERE A.FOP NOT IN ( 'TTfvsDBClientFrameGridClases' , 'TTfvsDBClientFrameMasterClases' , 'TTfvsDBClientFrameCmpCabecera' , 'TTfvsDBClientFrameGridConsultas' )
SELECT * FROM pTAGS_DEF WHERE FCODIGO = 'FRAME_EDICION' SELECT * FROM pTAGSD_DEF WHERE FTAG = 'FRAME_EDICION' SELECT * FROM pTAGSD_DEF_VAL WHERE FTAG = 'FRAME_EDICION' SELECT * FROM pTAGSD WHERE FCOMANDO LIKE '%TTfvsDBClientFrameCheckList%'
Introducción al comportamiento de las pantallas dentro de la aplicación
La aplicación define una variedad de componentes visuales para representar las pantallas. Éstos tienen la habilidad de leer la estructura de una tabla o consulta y 'dibujarla' en pantalla en el mismo momento que el usuario la solicita desde algún menú.
Por ejemplo, si elegimos abrir la pantalla de CUENTAS CONTABLES, los pasos para mostrar la pantalla ejecutados por la aplicación serán:
- Leer de la base de datos la información referida a la tabla CUENTA que representa a CUENTAS CONTABLES.
- Solicita a la pantalla que debe hacerse cargo que conecte con la base de datos con esa tabla.
- La pantalla dibujará lo que la tabla define.
- Se mostrará al usuario que la operará normalmente.
Con esta metodología no es necesario programar pantallas de tablas específicas ya que las manejará la aplicación.
La aplicación maneja esto asignando nombres a los componentes especializados en mostrar pantallas, y asociando esos nombres a los objetos del sistema.
Forms y Frames
La aplicación está desarrollada en Delphi que proporciona por lo menos dos maneras de armar pantallas para los usuarios:
- Podemos usar Forms que son pantallas.
- Podemos usar Frames que son como lienzos en los que podemos agregar controles visuales, la diferencia con los forms es que los frames no se muestran solos, sino que deben ser presentados dentro de un form.
La combinación de ambas opciones fue la elegida al desarrollar la aplicación.
Comportamiento de una pantalla de consultas
Las consultas usan siempre el mismo frame para representarse, se llama TTfvsDBClientFrameGridConsultas.
Ejemplo
La consulta CONTABILIDAD/SALDOS CONSULTA muestra saldos contables:

El frame mencionado tiene dos áreas claramente diferenciadas:
- En el panel superior se muestran los argumentos definidos en la consulta, si la consulta no tuviera argumentos entonces el panel sería invisible.
- En el panel inferior muestra el resultado de la consulta.
Las consultas no necesitan ser asociadas a ningún FRAME_EDICION ya que por defecto usan un denominado TTfvsDBClientFrameGridConsultas (ver DEV ETIQUETAS/VISTA FRAME EDICION).
Comportamiento de una pantalla de clases
Las pantallas relacionadas con clases son distintas a las de consulta, normalmente tendrían:
Instancia 1
Normalmente la primera instancia de una tabla sería representar los datos como una grilla:

En esta instancia los datos se presentan en una grilla, podríamos filtrarlos usando los criterios y mucha funcionalidad más, pero principalmente se muestran en una grilla.
La definición sería similar a:
FOBJETO | FCODIGO | FTAG | FTAGS | FLINEA | FCOMANDO |
---|---|---|---|---|---|
PRXCLASES | ART | FRAME_EDICION | INSTANCIA1 | 1 | <TAG FRAME>TTfvsDBClientFrameGridClases |
PRXCLASES | ART | FRAME_EDICION | INSTANCIA1 | 2 | <TAG FRAMESUB>NA |
Instancia 2
Si quisiéramos editar un registro debemos posicionarnos sobre el mismo, y picar el ícono con forma de triángulo en el navegador, eso nos llevaría a la Instancia 2 de la pantalla:

En esta instancia podríamos editar los datos del registro. Las pestañas del panel inferior (ej: CUENTASUB) son clases que funcionan como detalles de CUENTA, y a su vez se presentan como grillas (Instancia 1), pero no revisaremos el comportamiento de los detalles por ahora.
La definición sería similar a:
FOBJETO | FCODIGO | FTAG | FTAGS | FLINEA | FCOMANDO |
---|---|---|---|---|---|
PRXCLASES | ART | FRAME_EDICION | INSTANCIA2 | 1 | <TAG FRAME>TTfvsDBClientFrameMasterClases |
PRXCLASES | ART | FRAME_EDICION | INSTANCIA2 | 2 | <TAG FRAME>TTfvsDBClientFrameScrollBox |
Instancia 2 de un comprobante
Cuando la clase que estamos editando se trata de un comprobante, la pantalla de la instancia 2 cambia y se presenta de la siguiente manera:

Los comprobantes tienen un comportamiento distinto, en su panel superior muestran datos específicos a todos los comprobantes (tipo, punto de emisión, datos de valuación, etc.) y en ocasiones pueden tener ese panel dividido en dos pantallas verticales.
La definición sería similar a:
FOBJETO | FCODIGO | FTAG | FTAGS | FLINEA | FCOMANDO |
---|---|---|---|---|---|
PRXCLASES | ART | FRAME_EDICION | INSTANCIA2 | 1 | <TAG FRAME>TTfvsDBClientFrameMasterClases |
PRXCLASES | ART | FRAME_EDICION | INSTANCIA2 | 2 | <TAG FRAME>TTfvsDBClientFrameCmpCabecera |
En el panel inferior se muestran, como grilla, los detalles del comprobante. Por ejemplo, en los asientos contables el detalle define las imputaciones.
Comportamientos especiales en clases
Memos
La clase ORDENES COMPRA/MEMO se muestra en un campo memo:

En este tipo de panel el ingreso de datos es libre, el componente que lo administra se ocupa de cargar y grabara los datos de la base de datos como corresponda.
La definición sería similar a:
FOBJETO | FCODIGO | FTAG | FTAGS | FLINEA | FCOMANDO |
---|---|---|---|---|---|
PRXCLASES | OCMEMO | FRAME_EDICION | INSTANCIA2 | 1 | <TAG FRAME>TTfvsDBClientFrameMemo |
PRXCLASES | OCMEMO | FRAME_EDICION | INSTANCIA2 | 2 | <TAG FRAMESUB>NA |
Notar que no usa <TAG FRAME>TTfvsDBClientFrameMasterClases ya que se representa siempre como un memo.
Checklist
La clase CONTABILIDAD/GRUPOS DE CUENTAS DETALLE se muestra como una lista de registros con la posibilidad de tildarlos:

En este tipo de panel primero se cargan los datos, y solo se marcan aquellos que han sido seleccionados previamente.
La definición sería similar a:
FOBJETO | FCODIGO | FTAG | FTAGS | FLINEA | FCOMANDO |
---|---|---|---|---|---|
PRXCLASES | CUENTA_GRUPOD | FRAME_EDICION | INSTANCIA2 | 1 | <TAG FRAME>TTfvsDBClientFrameCheckList |
PRXCLASES | CUENTA_GRUPOD | FRAME_EDICION | INSTANCIA2 | 2 | <TAG FRAMESUB>NA |
Como en los otros casos, es el componente que administra este tipo de panel el que se ocupa de leer y grabar los datos.