Arquímedes - Editor de Plantillas de Listado

Editor de Plantillas de Listado

Introducción

Arquímedes dispone de un editor para configurar las plantillas de listados. Desde esta herramienta se pueden definir tanto los datos que se incluyen como su distribución, formato y comportamiento durante la generación del listado.

Este editor es accesible desde la opción "Editar plantillas de listado", ubicada en el apartado "Imprimir" del menú "Archivo". Se abrirá una ventana inicial donde es posible localizar las plantillas por tipos; editar una plantilla existente; eliminar plantillas no protegidas; o crear una nueva.

Cada plantilla tiene dos nombres, uno corto y uno largo. El nombre corto (columna "Fichero") indica de forma abreviada el tipo de listado que generará la plantilla. Normalmente habrá varias plantillas de un mismo tipo. El programa las ordena alfabéticamente por tipo y las agrupa para una mejor localización. El nombre largo (columna "Nombre") describe de forma más extensa el cometido de la plantilla.

Algunas plantillas tienen activada la casilla "Prot" (protegida o en modo solo lectura). Estas plantillas son las que el programa proporciona ya diseñadas.

La tabla izquierda (1) contiene una lista de todos los tipos de plantillas disponibles. La tabla derecha (2) contiene una lista de las plantillas disponibles del tipo seleccionado.

Para editar una plantilla existente hay que pulsar "Aceptar" o hacer doble clic sobre el nombre largo. El botón "Nueva plantilla" permite crear una nueva plantilla partiendo de cero. Con "Eliminar plantilla" se puede borrar las plantillas no protegidas que ya no se dese tener. La opción "Usos" permite consultar qué series de listados utilizan la plantilla seleccionada. Si la plantilla no está asociada a ninguna serie de listados, el programa mostrará un mensaje informativo.

Interfaz del Editor de Plantillas de Listado

La interfaz que aparece cuando se abre el Editor de Plantillas de Listado cuenta con las siguientes áreas, opciones y menús:

  1. En la parte superior se encuentran los menús principales del editor:
    • Menú "Archivo"
      Reúne las opciones relacionadas con la gestión de la plantilla, la configuración de la página y la impresión.
    • Menú "Edición"
      Incluye diferentes herramientas de edición y configuración general de la plantilla.
    • Menú "Secciones"
      Permite gestionar las secciones que componen la plantilla y acceder a sus opciones.
    • Menú "Datos"
      Da acceso a diferentes elementos relacionados con los datos y el funcionamiento de la plantilla, como las variables, las secciones, la máscara de página y los guiones.
  2. En la barra de herramientas superior se encuentran las herramientas para insertar y editar los distintos objetos alfanuméricos y gráficos de la plantilla, así como otras utilidades de diseño, alineación y ajuste.
  1. En la barra de herramientas lateral se encuentran los accesos directos a diferentes opciones para la edición y gestión de la plantilla.
  1. En la zona central se encuentra el área de edición, que muestra gráficamente el contenido y la estructura de la plantilla, organizada en secciones, zonas y renglones, sobre los que se disponen los diferentes objetos. Las reglas horizontal y vertical facilitan su posicionamiento y dimensionado.
  1. En la zona inferior se encuentran la barra de estado y las herramientas para trabajar con varias ventanas.

Estructura de una plantilla

Una plantilla de listado se compone de cuatro tipos de secciones, cada una de ellas compuesta a su vez de un número determinado de zonas, que a su vez contienen renglones y objetos (gráficos y alfanuméricos) que posibilitan la impresión de la información de un listado.

Secciones

Una plantilla se organiza en cuatro tipos de secciones:

  1. Portada…Apéndice, que agrupa la parte inicial del listado (portada) y la parte final del mismo (resumen, índice y apéndice). En una plantilla sólo puede haber una sección de este tipo, e, incluso, puede prescindirse de su uso.

  2. Máscara de página, donde se definen las cabeceras y los pies de las páginas. En una plantilla sólo puede haber una sección de este tipo.

  3. Registros, que contienen el cuerpo principal del listado y muestran los datos procedentes de los modelos de registro. En una plantilla pueden definirse varias secciones de este tipo. El número de zonas que puede contener cada una de las secciones de este tipo es indeterminado, aunque cada una ellas sólo puede pertenecer a uno de los tipos establecidos que, en líneas generales, se podrían definir como cabecera, cuerpo y pie.

  4. Diálogos, que permite al usuario crear sus propios diálogos de petición de datos para incorporar a un listado. Estos diálogos, en realidad, son ventanas que en su interior pueden incluir un título de ventana, texto literal, espacio en blanco donde introducir números o texto (variables).

Las secciones de registros pueden ser jerárquicas y recursivas. También pueden añadirse secciones alternativas para mostrar diferentes bloques de información al mismo nivel.

Zonas

Cada sección se divide en zonas con funciones específicas:

  • Portada
    Se imprime al inicio del listado. Puede realizarse a página completa (como página inicial) u ocupando únicamente lo que sus datos indiquen, por ejemplo, para actuar como cabecera de la primera página.

  • Máscara externa
    Se compone de la cabecera superior y el pie inferior. Se utiliza habitualmente para información común, como el título del listado, el nombre de la B.D. o el número de página actual. La cabecera superior puede combinarse con la portada para que en la primera página del listado aparezca la portada en lugar de la propia cabecera superior.

  • Máscara interna
    Se compone de la cabecera inferior y el pie superior. Además, permite disponer objetos gráficos que se extienden entre ambas zonas, por ejemplo, para generar líneas verticales continuas de separación entre columnas.

  • Cabecera de ruptura
    Se imprime al continuar los registros en una nueva página, excepto en la primera.

  • Registro
    Se imprime una vez por cada instancia del modelo de registro asociado.

  • Pie de ruptura
    Se imprime al final de una página cuando los registros continúan en la siguiente, excepto en la última.

  • Resumen
    Se imprime después de las secciones de registros y puede utilizarse para mostrar un resumen, antefirmas u otra información final.

  • Índice
    Permite generar un índice mediante llamadas al procedimiento index() desde cualquiera de los guiones de la plantilla. Para obtener un resultado diferente en cada llamada, debe incluir al menos un objeto alfanumérico asociado a una variable cuyo contenido varíe entre dos llamadas.

  • Apéndice
    Se imprime al final del listado y puede utilizarse para incluir información posterior al índice, como antefirmas, o un resumen o pie del mismo.

Las zonas pueden configurarse para: imprimirse o no; provocar saltos de página; ajustarse verticalmente; dividirse al llegar al final de una página; o ejecutar guiones antes y después de imprimirse. También pueden copiarse, pegarse, intercambiarse y disponer de variantes alternativas.

Barra de título

Por defecto, cada sección y zona de la plantilla se visualiza en el editor con una barra de título a modo de cabecera. En ella pueden aparecer diferentes elementos:

  • Símbolos de guiones, que indican la existencia de guiones asociados a la zona. Pueden aparecer los símbolos correspondientes a los guiones "Al cargar registro", "Antes de imprimir zona" y "Tras imprimir zona".

  • Símbolos de la zona, que identifican el modelo de registro empleado y las opciones asociadas.

  • Título de la barra, formado por el nombre de la zona y, en las secciones de registros, por el modelo de registro correspondiente.

Renglones y objetos

Cualquier zona que necesite imprimir algún texto debe contar con, al menos, un renglón. Un renglón, o línea base de texto, que se representa en el editor de plantillas por una línea horizontal de color gris, es el soporte necesario para contener objetos. Hay dos tipos básicos de objetos:

  1. Objetos alfanuméricos, que son:
    • Texto literal, para textos fijos.
    • Variables, de plantilla o almacenable, para mostrar el valor de una variable.
    • Campos de registro, para imprimir información procedente de la B.D.
    • Cadenas de objetos alfanuméricos, que combina textos, variables y campos en una misma expresión.

  2. Objetos gráficos, que incluyen:
    • Líneas ortogonales;
    • Rectángulos;
    • Círculos o elipses;
    • Dibujos;
    • Gráficas.

El editor permite mover, redimensionar, seleccionar, copiar, alinear y eliminar objetos. También admite objetos multilínea y distintos comportamientos de desplazamiento o extensión para adaptar la plantilla al contenido y al tamaño del papel.

Crear una plantilla

Una plantilla puede crearse a partir de una plantilla existente o desde cero.

Crear una plantilla a partir de una existente

Para crear una plantilla a partir de otra existente, se abre la plantilla que se desea utilizar como base y se utiliza "Guardar como" para crear un duplicado de la plantilla actual. A continuación, se realizan sobre esta las modificaciones necesarias.

La estructura de secciones y los modelos de registro de la nueva plantilla pueden modificarse posteriormente desde la opción "Secciones de la plantilla" del menú "Datos".

El editor también permite abrir varias plantillas simultáneamente para copiar secciones, zonas u objetos entre ellas. Al realizar estas operaciones, también se copian los guiones y las variables asociados a los elementos copiados cuando son necesarios en la plantilla de destino.

Crear una plantilla desde cero

Para crear una plantilla desde cero se utiliza la opción "Nueva plantilla" de la ventana "Abrir plantilla de listado". En este caso, es necesario definir:

  • La identificación y el tipo de letra predeterminado. En la parte superior derecha de la ventana se definen el nombre corto (tipo de la plantilla), el nombre largo y el tipo de letra predeterminado.
  • Las zonas que se utilizarán. En la parte inferior derecha se seleccionan las zonas de la sección que se desea incluir en la plantilla.
  • La secuencia de modelos de registro que proporcionará los datos al listado. En la parte izquierda se define la composición de las secciones de registros que conforman la plantilla. Para más información, puede consultarse el apartado "Modelos de registro".

Durante el diseño, la opción "Imprimir listado" del menú "Archivo", permite comprobar el resultado utilizando la base de datos que se encuentre abierta.

Modelos de registro

Los modelos de registro representan la información almacenada en las bases de datos (en adelante B.D.) gestionadas por Arquímedes. Cada modelo contiene campos que pueden utilizarse posteriormente en los objetos de la plantilla de listado.

Los modelos pueden conectarse formando una secuencia de registros, que determina el orden, la jerarquía y la relación entre los datos que se imprimirán. Algunos modelos pueden iniciar la secuencia, otros deben conectarse a un modelo anterior y algunos son recursivos, lo que permite representar estructuras con un número variable de niveles.

De los modelos de registro que se detallan a continuación, todos, salvo el primero (General), están disponibles para situarse en la secuencia.

  • GENERAL
    Contiene información global de la B.D., como su nombre, decimales empleados, etc. Sirve como soporte para portadas y máscaras de página; para realizar cálculos con redondeo en guiones de la plantilla; y facilita importes totales del PEM (presupuesto de ejecución material), certificaciones, etc.

  • VARIABLE
    Este modelo de registro especial, que no contiene ningún dato de la obra, permite realizar operaciones con variables de la plantilla y mostrar sus resultados. Es el único modelo que permite una impresión múltiple a nivel de sección mediante el uso combinado de dos variables.

  • CONCEPTO
    Contiene todos los campos que definen un concepto. Dispone de los siguientes submodelos:
    • CONCEPTO.Todos. Enumera todos los conceptos de la B.D. (excepto el capítulo raíz).
    • CONCEPTO.Capitulo. Enumera solo los capítulos (excepto el capítulo raíz).
    • CONCEPTO.Partida. Enumera solo las partidas, es decir, los conceptos que cuelgan de capítulos y no son capítulos.
    • CONCEPTO.Auxiliar. Enumera todos los conceptos descompuestos que no son ni capítulos ni partidas.
    • CONCEPTO.Unitario. Enumera todos los conceptos sin descomposición que no sean capítulos.
    • CONCEPTO.Mano de obra. Enumera todos los conceptos unitarios del tipo mano de obra.
    • CONCEPTO.Maquinaria. Enumera todos los conceptos unitarios del tipo maquinaria.
    • CONCEPTO.Material. Enumera todos los conceptos unitarios del tipo material.
    • CONCEPTO.Seleccionado. Enumera todos los conceptos que aparecen en la ventana "Lista de conceptos".
    • CONCEPTO.Consumo. Enumera todos los campos que definen un concepto que se ha introducido en una imputación directa a un centro de coste. Es el modelo a escoger colgando del submodelo "Descomposición.Partida".
    • CONCEPTO.Consumos. En este caso se procesan todos los conceptos.
    • CONCEPTO.Consumos2. En este caso se procesan todos los conceptos y se realiza la agrupación de los conceptos del centro de coste con los conceptos imputados. Es el modelo a escoger colgando del submodelo "Descomposición.Partida".

  • DESCOMPOSICIÓN
    Contiene todos los campos que definen una línea de descomposición de cualquier concepto descompuesto. Permite representar de forma jerárquica el contenido de la B.D. Dispone de los siguientes submodelos:
    • DESCOMPOSICIÓN.Capitulo. Enumera todas las líneas de descomposición que se refieren a conceptos tipo capítulo. Es necesario como inicio de secuencia para un listado jerárquico y es recursivo.
    • DESCOMPOSICIÓN.Partida. Solo puede aplicarse si se conecta a un submodelo de registro "DESCOMPOSICIÓN.Capitulo", obteniendo así la descomposición del capítulo en partidas.
    • DESCOMPOSICIÓN.Auxiliar. Permite obtener las líneas de descomposición de primer nivel de una partida, siempre y cuando esté conectado a uno de los submodelos siguientes: "DESCOMPOSICIÓN.Partida" o "CONCEPTO.Partida".
    • DESCOMPOSICIÓN.Descomposicion. Este modelo recursivo se suministra para que se puedan diseñar listados en los que interesa ver todos los niveles de descomposición de los conceptos implicados. Se incluyen por tanto los conceptos auxiliares y su descomposición. Debe estar conectado a uno de los submodelos siguientes: "DESCOMPOSICIÓN.Partida" o "CONCEPTO.Partida".
    • DESCOMPOSICIÓN.Abono parcial. Este modelo especial permite obtener las líneas de descomposición de una partida para el cuadro de precios nº 2, siempre y cuando esté conectado a uno de los submodelos siguientes: "DESCOMPOSICIÓN.Partida" o "CONCEPTO.Partida".
    • DESCOMPOSICIÓN.Localizador. Permite emplear los localizadores definidos en las tablas de mediciones para confeccionar una jerarquía de capítulos especiales, construidos temporalmente a partir de estos. Solo puede ser empleado como inicio de secuencia y es recursivo para poder acoplarse a los diferentes niveles de localizadores que tengan sus B.D.
    • DESCOMPOSICIÓN.Analitico. Este modelo permite crear listados de B.D. adoptando la estructura u organización de capítulos de otra B.D. diferente.
    • DESCOMPOSICIÓN.Seleccionado. Este modelo ha sido diseñado para poder realizar listados parciales, partiendo de una selección previa de líneas de descomposición de la ventana "Árbol". Solo puede ser empleado como inicio de secuencia.
    • DESCOMPOSICIÓN.Unitarios. Este modelo recursivo se suministra para que se puedan diseñar listados en los que interesa ver todos los niveles de descomposición de los conceptos implicados, pero en este caso se incluyen por tanto la descomposición de los conceptos auxiliares y no éstos.
    • DESCOMPOSICIÓN.CentroCoste. Representa a los centros de coste a los que se ha imputado el consumo del suministro, siempre y cuando esté conectado a "CONCEPTO.Consumos".
    • DESCOMPOSICIÓN.JustifPrecios. Resume los medios auxiliares en una sola línea al final de la justificación de precios de la partida, siempre y cuando esté conectado a uno de los submodelos siguientes: "DESCOMPOSICIÓN.Partida" o "CONCEPTO.Partida".

  • TERMINO_GENERICO y TERMINO_ESPECIFICO
    Los dos modelos conforman la estructura del diccionario de cada B.D. y permiten acceder al tesauro, que relaciona los términos específicos con los conceptos y viceversa.

  • TABLA, SUBTABLA y LINEA
    Cada tabla se compone de una o varias subtablas más una línea de total; a su vez, cada subtabla incluye una línea de cabecera, líneas de datos y una línea de subtotal. Normalmente, los tres modelos se utilizan de forma consecutiva en la secuencia de registros de las plantillas destinadas a generar listados de mediciones y disponen de los siguientes submodelos:
    • TABLA.Medicion. Permite acceder al detalle de la medición de una partida.
    • TABLA.Cantidad de venta. Permite acceder al detalle de la cantidad de venta de una partida.
    • TABLA.Cantidad de estudio. Permite acceder al detalle de la cantidad de estudio de una partida.
    • TABLA.Certificacion a origen. Permite acceder al detalle de la certificación a origen de una partida.
    • TABLA.Certificacion a origen con cierre parcial. Permite acceder al detalle de la certificación de una partida. Cada certificación cerrada de tipo "parcial" se muestra en una tabla diferente.
    • TABLA.Certificacion parcial. Permite acceder al detalle de una determinada certificación parcial de una partida. Este modelo se puede usar tanto si la obra emplea el tipo de cierre "parcial", como si utiliza el tipo "a origen".
    • TABLA.Ejecucion. Permite acceder al detalle de la cantidad ejecutada real de una partida.

  • REFERENCIA
    Permite localizar los conceptos que utilizan otro concepto en su descomposición. Contiene los siguientes submodelos que solo están disponibles como submodelo de "CONCEPTO" y "DESCOMPOSICIÓN":
    • REFERENCIA.Inmediata. Este modelo permite obtener un nivel de referencias de un concepto.
    • REFERENCIA.Partida. Este modelo recursivo genera un árbol de referencias del concepto en cuestión hasta llegar al nivel de partidas.
    • REFERENCIA.Capitulo. Este modelo recursivo genera un árbol de referencias del concepto en cuestión hasta llegar al nivel de capítulos.

  • PLIEGO
    Permite obtener los conceptos asociados a pliegos de condiciones. Solo puede aparecer al inicio de la secuencia de modelos de registro. Incluye el submodelo "SECCIÓN_PLIEGO", que representa las secciones del pliego de condiciones.

  • PROVEEDOR
    Contiene campos de información del proveedor, como código, nombre, dirección, etc.

  • CLIENTE
    Contiene campos de información del cliente, como código, nombre, dirección, etc.

  • GRUPO_COMPRAS
    Representa a cada uno de los grupos de compras definidos en la obra.

  • COMPARATIVO_COMPRAS
    Representa a todos los comparativos de compras definidos en la obra.

  • DOCUMENTO
    Permite acceder a los documentos del control de obra mediante los submodelos: "DOCUMENTO.Contrato", "DOCUMENTO.Pedido", "DOCUMENTO.Albaran" y "DOCUMENTO.Factura".

  • IMPUTACIÓN
    Ofrece información de este documento, como código, nombre, centro de coste al que se asocia, etc.

  • SUMINISTRO
    Ofrece información de los importes, documentos, centros de coste, etc., a los que están asociados los conceptos.

  • SUMINISTRO_CONTRATO
    Representa a todos los suministros del contrato con información adicional sobre cantidades certificadas. Debe añadirse como submodelo de "DOCUMENTO.Contrato".

  • SUMINISTRO_COMPRAS
    Representa a todos los suministros contenidos en un comparativo de compras. Debe añadirse como submodelo de "COMPARATIVO_COMPRAS".

  • VENCIMIENTO
    Contiene información sobre los vencimientos, como sus importes y fechas. Dispone de los submodelos "VENCIMIENTO.APagar", para las facturas recibidas, y "VENCIMIENTO.ACobrar", para las facturas emitidas.

  • FACT_EMITIDA
    Aporta información de las facturas emitidas, como el código, el nombre o la fecha, del documento.

  • AGENDA
    Permite acceder a todos los datos que aparecen en la agenda del programa.

  • CUENTA
    Permite acceder a los códigos y nombres de las cuentas. Dispone de los submodelos "CUENTA.Compras" y "CUENTA.Ventas", para facturas recibidas y facturas emitidas respectivamente.

  • ACTIVIDAD.Contenedora
    Modelo recursivo que representa el primer nivel de actividades contenedoras del diagrama de tiempos-actividades. Incluye el submodelo "ACTIVIDAD.Tarea", que representa las tareas contenidas en cada actividad.

  • CRONOGRAMA
    Permite acceder a los precios utilizados en los centros de coste asociados a las tareas del diagrama de tiempos-actividades. Dispone de los siguientes submodelos:
    • CRONOGRAMA.Todos. Representa a cada uno de los precios unitarios utilizados en los centros de coste asociados a las tareas.
    • CRONOGRAMA.Mano de obra. Representa a cada uno de los precios de mano de obra utilizados en los centros de coste asociados a las tareas.
    • CRONOGRAMA.Maquinaria. Representa a cada uno de los precios de maquinaria utilizados en los centros de coste asociados a las tareas.
    • CRONOGRAMA.Material. Representa a cada uno de los precios de materiales utilizados en los centros de coste asociados a las tareas.
    • CRONOGRAMA.Seleccionado. Representa a cada uno de los precios unitarios contenidos en la ventana "Lista" y que son utilizados en los centros de coste asociados a las tareas.

  • Clasificación.Naturaleza
    Representa la clasificación de todos los conceptos unitarios utilizados en la obra.

  • Clasificación.IndicePrecios
    Representa la clasificación de todos los conceptos unitarios utilizados en la obra.

  • Clasificación.Unitario
    Representa las clases en las que se subdivide la clase superior, que puede ser "Clasificación.Naturaleza" o "Clasificación.IndicePrecios".

Al definir la estructura de la plantilla, los modelos de registro determinan los datos de la base de datos que estarán disponibles para generar el listado. Esta información puede complementarse mediante variables, utilizadas para almacenar y modificar valores durante la generación del listado, y mediante guiones, que permiten realizar cálculos, controlar acciones y definir comportamientos personalizados.

Variables

Las variables permiten almacenar y utilizar información adicional durante la generación de un listado.

La mayor parte de la información utilizada por una plantilla se obtiene directamente de los campos de los modelos de registro. Sin embargo, las variables permiten trabajar con datos que no proceden directamente de estos campos, por ejemplo, para almacenar resultados parciales, realizar cálculos, controlar determinadas acciones mediante guiones o recoger información introducida a través de diálogos.

Las variables pueden utilizarse en diferentes elementos de la plantilla, como objetos alfanuméricos, guiones y diálogos. No obstante, no es necesario que estén asociadas a un objeto de la plantilla, ya que también pueden emplearse internamente para realizar cálculos o controlar el funcionamiento del listado.

El Editor de Plantillas de Listado permite trabajar con variables de la plantilla y variables almacenables.

Variables de la plantilla

Las variables de la plantilla se definen y almacenan en la propia plantilla. Se pueden gestionar desde la opción "Variables de la plantilla" del menú "Datos".

Cada variable se define mediante los siguientes datos:

  • Nombre
    Identifica de forma única la variable. Puede estar formado por letras sin tildes, números y el carácter de subrayado (_). No se distinguen mayúsculas y minúsculas, por lo que, por ejemplo, total, Total y TOTAL hacen referencia al mismo nombre. Tampoco puede coincidir con el nombre de otra variable, un campo de registro, una función, un procedimiento o una palabra reservada del lenguaje de guiones.
  • Tipo
    Determina el tipo de información que puede almacenar la variable. Puede ser número decimal, número entero o texto.
  • Valor inicial
    Define el valor que contiene inicialmente la variable mientras no sea modificado, por ejemplo, mediante una sentencia de asignación de un guion.
  • Comentario
    Permite añadir una descripción para facilitar la identificación de la variable en las ventanas en las que se muestran las variables disponibles.

La ventana muestra también los usos de la variable seleccionada, indicando los objetos y guiones de la plantilla en los que se utiliza. Esto permite localizar sus dependencias antes de modificarla o eliminarla.

Las variables definidas también se pueden reordenar, mediante los botones de avance y retroceso, para facilitar su identificación y localización.

Variables almacenables

Las variables almacenables se utilizan en los guiones de forma similar a las variables de la plantilla, pero con la particularidad de que sus valores pueden almacenarse en la base de datos utilizada para generar el listado. De este modo, mientras que las variables de la plantilla pertenecen a una plantilla concreta, las variables almacenables permiten conservar información asociada a la base de datos.

Las variables almacenables se organizan en conjuntos de variables almacenables, clasificados por tipo. Estos conjuntos pueden utilizarse en diferentes plantillas, aunque cada plantilla puede emplear como máximo un conjunto.

Las variables almacenables se gestionan desde la opción "Variables almacenables" del menú "Datos". El acceso varía en función de si la plantilla tiene asociado un conjunto de variables almacenables.

Si la plantilla no tiene ningún conjunto asociado, el programa permite seleccionar uno existente o crear uno nuevo. Al seleccionar esta opción, se abre la ventana "Conjuntos de variables almacenables disponibles", desde la que se puede seleccionar, crear o eliminar conjuntos, localizar su fichero y consultar sus usos.

Si la plantilla ya tiene un conjunto asociado, se abre directamente la ventana "Conjunto de Variables Almacenables". En ella se muestran las variables que contiene, junto con su tipo, valor inicial y comentario, y se pueden gestionar las variables del conjunto y consultar sus usos.

Asimismo, la opción "Conversión de variables almacenables a variables de la plantilla" permite convertir las variables del conjunto en variables propias de la plantilla.

Guiones de plantillas

Los guiones permiten incorporar lógica y automatismos a las plantillas mediante un lenguaje de programación propio del programa. Aunque muchos listados pueden diseñarse sin ellos, otros los requieren para realizar cálculos, modificar variables, mostrar mensajes, controlar la impresión o definir comportamientos personalizados.

Una plantilla de listado puede contener los siguientes tipos de guiones:

  • Guion de inicialización
    Solo se puede definir uno por plantilla. Se ejecuta justo antes de comenzar la impresión del listado.
  • Guion 'Al cargar'
    Se puede definir para cada sección de registros. Se ejecuta después de cargar los datos de cada registro y antes de imprimirlos mediante las zonas de la sección.
  • Guion 'Antes de imprimir'
    Se puede definir para cada zona de la plantilla. Se ejecuta inmediatamente antes de imprimir cada instancia de la zona y permite, entre otras operaciones, preparar las variables utilizadas por sus objetos.
  • Guion 'Tras imprimir'
    Se puede definir para cada zona de la plantilla. Se ejecuta inmediatamente después de imprimir su contenido y permite, entre otras operaciones, actualizar variables utilizadas por los objetos de la máscara de página.

Editor de guiones

El Editor de guiones permite definir y modificar el contenido de los guiones de la plantilla. En la parte superior se identifica el tipo de guion que se está editando y la sección o zona a la que pertenece.

Además de las herramientas habituales de edición, dispone de las siguientes opciones:

  • Evaluación del guion. Permite establecer si el guion debe evaluarse durante la generación del listado. Entre las opciones disponibles se encuentra "Evaluar siempre", "Evaluar si visible" y "No evaluar". Esta última permite mantener el guion definido sin que se ejecute.
  • Analizar. Comprueba la sintaxis del guion para detectar posibles errores.
  • Dar formato. Aplica formato al código para facilitar su lectura.
  • Pegar constante. Permite seleccionar e insertar una constante en la posición actual del cursor.
  • Pegar campo. Permite seleccionar e insertar un campo de registro disponible en la posición actual del cursor.
  • Pegar variable. Permite seleccionar e insertar una variable disponible en la posición actual del cursor.
  • Pegar función. Permite seleccionar e insertar una función del lenguaje de guiones en la posición actual del cursor.
  • Localizar origen. Permite localizar el origen de un elemento utilizado en el guion.
  • Variables de la plantilla. Permite acceder a las variables definidas en la plantilla.

Además, la barra superior incluye herramientas para guardar, deshacer y rehacer, cortar, copiar, pegar, buscar y reemplazar, entre otras operaciones de edición.

Variables utilizadas en los guiones

Los guiones pueden utilizar diferentes tipos de variables para almacenar y manipular información durante su ejecución. Además de las variables de la plantilla y las variables almacenables, pueden emplearse variables internas, utilizadas para cálculos intermedios dentro de un guion, y variables dinámicas, que parten de las variables internas y permiten conservar y compartir valores entre diferentes ejecuciones y guiones. También pueden utilizarse variables de usuario, cuyos valores se almacenan en la base de datos y que pueden emplearse en expresiones asociadas a columnas de usuario calculadas.

Guion externo

Además de los guiones definidos directamente en la plantilla, esta puede utilizar un guion externo.

Los guiones externos se organizan por tipos y pueden ser utilizados por diferentes plantillas.

Estos guiones se gestionan desde la opción "Guion externo" del menú "Datos". Si la plantilla no tiene ninguno asociado, el programa permite seleccionar uno entre los guiones externos disponibles o crear uno nuevo. También permite gestionar los guiones externos existentes, localizar sus ficheros y consultar las plantillas en las que se utilizan.

Diálogos

Los diálogos permiten solicitar o modificar información durante la generación del listado mediante ventanas definidas en la propia plantilla. Pueden incluir textos, campos editables, casillas de verificación, grupos de opciones y otros elementos vinculados a las variables.

Para mostrar un diálogo durante la generación del listado, es necesario realizar la llamada correspondiente desde uno de los guiones de la plantilla.

Creación y configuración de diálogos

Al pulsar sobre la barra de título del diálogo se despliega un menú con las opciones para su configuración. Desde "Atributos de zona" se puede modificar el número de líneas del diálogo; si se establece un valor de 0, el diálogo se elimina. La opción "Probar diálogo" permite comprobar su aspecto y funcionamiento durante el diseño.

Uso de diálogos en guiones

Se dispone de dos procedimientos para mostrar un diálogo desde un guion:

  • DODIALOG(indDlg, titDlg). Muestra el diálogo identificado mediante "indDlg", asignándole como título el texto indicado en "titDlg". Al pulsar "Aceptar", los cambios se almacenan en las variables utilizadas y continúa la ejecución del guion. Al pulsar "Cancelar", las variables conservan sus valores anteriores y el guion continúa.
  • DODIALOG2(indDlg, titDlg). Funciona de forma similar a "DODIALOG", pero además devuelve un valor que permite conocer la acción realizada: 1 si se ha aceptado el diálogo y 0 si se ha cancelado. De este modo, el guion puede ejecutar diferentes acciones en función de la opción seleccionada.

Edición de una plantilla

El Editor de Plantillas de Listado ofrece diferentes opciones de edición en función del elemento de la plantilla sobre el que se esté trabajando.

Estas opciones se organizan según los distintos niveles que componen su estructura:

Arquímedes - Editor de Plantillas de Listado

Licencias y módulos relacionados

Los programas de CYPE se activan mediante licencias electrónicas que pueden contener uno o varios módulos. La lista de módulos compatibles con cada programa puede variar en función del producto adquirido y del tipo de licencia.

Para consultar la lista de módulos compatibles con este programa, se puede acceder a "Módulos de los programas de CYPE".

Es importante tener en cuenta que la lista de módulos disponibles en la licencia dependerá del producto adquirido.

CYPE Mentor