DEV ETIQUETAS/FRAME EDICION

De Pragma Wiki
Ir a la navegación Ir a la búsqueda

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:

Ejemplo de una consulta.

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:

Ejemplo de instancia 1 de una clase.

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:

Ejemplo de instancia 2 de una clase.

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:

Ejemplo de instancia 2 de un comprobante.

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:

Ejemplo de un panel tipo 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:

Ejemplo de un panel tipo checklist.

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.