Personal tools
You are here: Home Productos Sice Creación de listados
Document Actions

Creación de Listados

by admin last modified 2005-12-14 17:36

Receta para la creación de listados en Sice

Para crear un listado pulsamos en el botón de listados y así accedemos al formulario de selección de listados.

Boton para abrir los listados

Hay dos tipos de listados: estándares y de usuario. Los listados estándares se almacenan en el frontend ya que son los mismos para todas las instalaciones mientras que los listados de usuario se almacenan en el backend debido a que son distintos en cada instalación.

Aspecto inicial del formulario de listados

Los listados están organizados jerarquicamente. Si a la izquierda del título del listado aparece una flecha hacia abajo significa que es un grupo de listados. Pulsando en la flecha accedemos a sus hijos.

La forma en que funcionan los listados es la siguiente. Access no distingue entre informes y listados, para él todo son informes. Asi que tenemos diseñado un informe genérico llamado InformeGeneralA4 y mediante un procedimiento general le añadimos la información necesaria para construir listados específicos. Esta información adicional se almacena en la tabla X_Informes y X_InformesUsuario y se manipula con el formulario de edición de listados.

Creación de un nuevo Listado

Para crear un nuevo listado primero nos situaremos en la categoría padre del listado que queremos crear. Una vez allí hacemos doble click en un listado cualquier y aparece el formulario de definición de listados. Pulsamos en el botón de nuevo registro para crear un nuevo listado.

Formulario de definicion de Listados

A continuación se detallan los campos de este formulario:

Código
Este campo define la posición de este listado dentro de la jerarquía de listados. El código se construye anteponiendo el código del listado padre como prefijo, después un punto y a continuación un número para este listado. Así, si queremos crear un listado dentro de la categoría Contabilidad (Código C) pues el código sería C.7, pues ya hay 6 listados dentro de esa categoría. Lo normal es que para categorías en el primer nivel de la jerarquía se utilice una letra, para listados o subcategorías en el segundo nivel se utilice un digito y para listados o subcategorías en el tercer nivel y siguientes se utilicen dos dígitos.
Título
Es un título descriptivo de este listado o categoría de listados
Acción
En esta lista desplegable encontramos una lista de posibles acciones. Para el caso de listados lo normal es que se seleccion la opción AbrirInforme
Nombre
Es un parámetro para la acción anterior. En el caso de listados normalmente se pone InformeGeneralA4
Acción Antes
En algunos casos es interesante hacer un preprocesamiento de los datos antes de construir el listado. Aqui especificamos dicha acción.
Acción Después
Equivalente al caso anterior pero para ejecutar una acción después de que se genere el listado
Consulta
En este campo podemos escribir una consulta SQL o bien escribir el nombre de una consulta ya existente. Es importante que la consulta extraiga todos los campos que luego vayamos a usar en el resto de la definición del informe
Campo enlace
Se utiliza para generar correspondencia junto con Word. Lo que se hace es unir la consulta que se especifica en el campo Consulta con la consulta PersonasWordMailMerge_C utilizando el campo IdPersona de dicha consulta y este campo enlace de la consulta que especificamos en este listado.
Condiciones fijas
XXX TODO
Campos del listado
Especifican los campos que queremos que aparezcan en el listado y su formato. Consulta la siguiente sección para más detalles
Cuadro de condiciones
Permiten definir una serie de condiciones que el usuario final puede rellenar para hacer más flexible el listado. Consulta la siguiente sección para más detalles
Archivo
XXX TODO
Otras opciones
XXX TODO

Campos del Listado

Los campos del listado se pueden definir manualmente si se conoce su sintáxis o utilizar el formulario correspondiente, lo que resulta mucho más cómodo sobre todo al principio. Para acceder a dicho formulario pinchamos en el botón inferior de los dos que aparecen a la derecha del campo Campos del listado. XXX TODO: para que sirve el otro boton?

Formulario para editar campos del listado

En este formulario se inserta una fila por cada campo que queramos visualizar en el listado. Cada fila tiene los siguientes campos:

Categ
El tipo de campo. Puede ser CAB, CAB2, CAB3, CAB4 o Texto. Los cuatro primeros tipos definen cuatro niveles de jerarquía y el tipo Texto se utiliza para lineas de detalle.
Nombre
Es el nombre del campo en la consulta del listado
Título
Es la cadena de caractéres que aparece en el listado final
Formato
XXX TODO
Anchura
Indica el ancho de ese campo en el listado
Tipo
Indica el tipo de datos: 10 es string, 8 es fecha, 5 es número.
Función
Algunas veces interesa aplicar una función a dicho campo como por ejemplo sumar los valores. Posibles funciones son SUM, XXX TODO: poner las funciones disponibles
SS
XXX TODO
Exp
XXX TODO

Cuadro de condiciones

En un listado se pueden definir una serie de condiciones para que el usuario final pueda obtener distintos listados a partir de uno más general. Para definir estas condiciones pinchamos en el botón inferior de los dos botones que hay a la derecha del campo Cuadro de condiciones

Formulario para editar condiciones

En este formulario se inserta una fila por cada condición que queramos que tenga el listado. Los campos son los siguientes:

Categ
Normalmente ponemos CAMPO para referneciar un campo de la consulta
Nombre
Es el nombre del campo que queremos parametrizar
Título
Es una cadena descriptiva que se le presentará al usuario final
Tipo
El tipo de datos, consulta la sección anterior
Operador
Aqui podemos poner distintos operadores como =, <, <=, LIKE, Between (para fechas)
Valor1
Si ponemos algo aqui será el valor por defecto para el primer operando
Valor2
Si ponemos algo aqui será el valor por defecto para el segundo operando
Txt It
XXX TODO

Agrupación

Para agrupar los campos en un listado no basta con definir el campo de tipo CAB. Hay que rellenar una serie de datos en la pestaña de Grupos y formatos

Ficha para grupos y formatos

En este formulario se puede especificar el tamaño de letra para las distintas secciones así como su indentación (campo posición).

En cada uno de los 4 niveles de jerarquía de que disponemos podemos agrupar por un campo concreto de la consulta. Además podemos alterar el orden por defecto que es ascendente por un orden descendente siguiendo este formato: Nombre_Campo; DESC

Si activamos la opción de Mant. juntos el generador de listados intentará mantener todo el grupo en la misma página y si no cabe saltará a la siguiente página. Ojo con esta opción porque si un grupo no cabe en una página los resultados son impredecibles.

También podemos especificar si queremos que para un grupo concreto se visualicen los totales en el caso de que tengamos un campo calculado o si queremos que se produzca un salto de página al iniciar dicho grupo.

Listados contextuales

Un caso de uso muy común es que desde un determinado formulario de la aplicación queremos que al pinchar en el botón de listados, el formulario de listados se posicione automáticamente en el listado o grupo de listados asociados a dicho formulario. Para ello tenemos que seguir dos pasos:

  1. Rellenar el campo Punto de Entrada en el listado con dos caracteres que identifiquen el tipo de documento que permite obtener este listado.
  2. Rellenar la propiedad *Información Adicional* (dentro de la pestaña Otras ) del formulario deseado con la siguiente información: TD=XX donde TD significa Tipo de Documento y XX se sustituye por las dos caractéres que introdujimos en el caso anterior.

Ahora cuando tengamos ese formulario abierto y pulsemos en el botón Listados aparecerá el formulario de listados posicionado en el listado que elegimos (dentro de la categoría Personalizados).

Informes y botón de imprimir

Los informes se crean con el diseñador de informes de Access. El siguiente paso es poner un botón de imprimir en el formulario correspondiente para que el usuario pueda imprimir ese informe desde el contexto adecuado.

Pero primero debemos crear un tipo de documento para ese informe. Esto se hace en Archivo / Configuración / Tipos de Documentos

Esta pantalla hace referencia a las tablas TiposDocumentos y TiposDocumentosSeries, la primera esta en el Frontend y la segunda en el Backend. La primera de ella es estática con Sice ya que los tipos de documento no varían en cada instalación, mientras que la segunda está en el backend porque las series sí que se pueden personalizar en cada cliente.

Para añadir un tipo de documento nuevo hay que hacerlo directamente desde la tabla TiposDocumentos ya que el formulario anterior no permite crear nuevos tipos de documentos, sólo series. A continuación hay que crear al menos una serie para ese tipo de documento. Al crear la serie pondremos el nombre del informe en el campo Informe por Defecto. Dicho nombre no es el nombre del informe de Access sino el nombre que le hemos dado en la tabla X_Informes (o X_InformesUsuario) incluyendo un prefijo que puede ser U o S según sea un informe personalizado o un informe estándar.

Por último, hay que añadir un botón con un código como el siguiente para imprimir desde el formulario correspondiente:

  Private Sub Imprimir_Click()
      If Not IsNull(HRS_Id) Then
          AbrirInformeDocumentoDefecto "HRS", "HRS", "HRS_Id=" & HRS_Id
      End If
  End Sub

En este caso estamos imprimiendo una hoja de ruta. El primer argumento a la función AbrirInformeDocumentoDefecto es el tipo de documento, el segundo es la serie y el tercero es la condición WHERE que se aplicará al informe.


Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: