Cosmos

Notas a la versión 7.0

Esta versión de Cosmos no es cien por cien compatible con Windows XP, Windows Server 2003 y versiones anteriores.

Para ejecutar aplicaciones Cosmos desarrolladas con versiones anteriores a la 7.0 es recomendable recompilar el proyecto.

NUEVA UTILIDAD INCLUIDA A PARTIR DE ESTA VERSIÓN

CosSignPdf. La dll CosSignPdf (cossignpdf.dll) permite firmar documentos PDF desde Cosmos utilizando un certificado digital. Dicho certificado deberá estar instalado en el sistema, ya sea en el almacén de certificados de Windows o en un almacén de certificados (fichero). (Versión en PDF)

ImplementacionesIr al principio de la página

Aplicación de ejemplo incluida en Cosmos 7

Aplicación de ejemplo incluida en Cosmos 7

Modo de edición automáticoIr al principio de la página

Se ha implementado un modo automático para poder modificar los registros de una tabla.

Este modo solo se podrá utilizar en:

  1. Mantenimientos que utilicen los comandos predefinidos del Form (modos edición y no edición).
  2. Cuando el control utilizado en el mantenimiento de la tabla sea un Grid.
  3. La tabla está en estado Browse.

Activación

Este modo se puede activar a nivel de módulo, de clase Form o global.

A nivel de módulo:
Module.SetOption("AUTOEDITMODE", TRUE)

A nivel de Clase From:
objForm.SetOption("AUTOEDITMODE", TRUE)

A nivel global:
Variable de entorno AUTOEDITMODE=TRUE

Cómo funciona

Modo edición de Cosmos
Si este modo se encuentra activado, al lanzar el evento On click en el control Grid de un Formtable se editará el control hijo y la tabla quedará editada para su modificación. Automáticamente:

  1. Se activarán los comandos AcceptEdit y CancelEdit.
  2. Se desactivarán los comandos de consulta y borrado de registros.
  3. Se enviará el comando EditUpdate y el evento On Edit table de la tabla en curso.
  4. Se bloqueará el registro.

Si el valor del campo no se modifica automáticamente se enviará el comando CancelEdit. Por el con-trario, si el valor se modifica, al cambiar la fila en curso se lanzará automáticamente el comando AcceptEdit.

Cuando el cursor se encuentre sobre la última fila del control Grid y se pulse la tecla de flecha hacia abajo, el Formtable se pondrá en estado New. Para añadir el registro se deberá pulsar flecha hacia arriba para cambiar de fila, o ejecutar el comando AcceptEdit.

Modo no edición de Cosmos
Si este modo se encuentra activado, al lanzar el evento On click en el control Grid de un Formtable se editará el control hijo. Si se modifica el valor del campo se lanzará automáticamente el comando Update, mientras que si no se modifica dicho valor no se lanzará ningún comando.

Cuando el cursor se encuentre sobre la última fila del control Grid y se pulse la tecla de flecha hacia abajo, el Formtable se pondrá en estado New. Para añadir el registro se deberá pulsar flecha hacia arriba para cambiar de fila, o ejecutar el comando Add.

Teclas

a) Desplazamiento entre filas del Grid:
Para desplazarse por las filas deben utilizarse las siguientes flechas de movimiento del cursor:

NOTA: Si el control que se está editando en ese momento tiene capturadas estas teclas, el foco no cambiará de fila, si no que se ejecutarán las acciones que tengan asignadas en ese control. Por ejemplo, en el caso de un drop List, al pulsar las teclas flecha arriba o fleja abajo, recorremos los elementos de la lista y no se cambiará de fila en curso.

b) Desplazamiento entre las columnas de una fila:

Estilo personalizado en los controles FormIr al principio de la página

Se ha implementado un nuevo estilo de visualización para los controles de un Form.

En este nuevo estilo los controles se dibujarán con los bordes rectangulares y en colores planos, sin tener en cuenta el estilo visual de Windows donde se esté ejecutando la aplicación.

Además, se podrán cambiar los colores por defecto del fondo y del texto de todos los controles, por tipo de control, respetando los colores de aquellos a los que les fue asignado en diseño o en ejecución un color distinto a este.

Estos cambios solo tendrán efecto en ejecución, no podrán visualizarse en diseño.

Para activar este nuevo modo de visualización será necesario:

  1. Definir la variable de entorno COSMOSVISUALMODE en el fichero de configuración del proyecto.
    El valor de esta variable debe ser 7.
  2. Crear una nueva sección en este fichero con el nombre [Custom Colors].
    Esta sección solo habrá que definirla si se desean cambiar los colores que Cosmos asigna por defecto.
    Indicar nombre de la propiedad y asignarle un color. El color podrá asignarse mediante:
    1. La expresión Rgb (rojo, verde, azul), siendo rojo, verde y azul los tonos de color en base 10.
    2. Con el valor en hexadecimal que representa el color, usando una expresión en el siguiente formato: #RRGGBB, siendo RR, GG y BB el valor hexadecimal correspondiente a rojo, verde y azul respectivamente.

Para información más detallada consulte el PDF con las notas a la versión.

Texto enriquecido en el control de ediciónIr al principio de la página

Se ha implementado la posibilidad de utilizar un control de edición como un control de edición con texto enriquecido.

Para ello, hay que marcar el control Check “Rich Text” en el cuadro de diálogo de propiedades del control en la pestaña General.

Métodos

Todos los métodos que se enumeran a continuación son de la clase SimpleControl, pero se indican en este apartado para mayor claridad.

Propiedades

Nombre Descripción
ALIGNMENT Indica la alineación del párrafo donde se encuentra el cursor:
1: izquierda, 2: derecha, 3: centrado.
BACKCOLOR Color de fondo.
BOLD El texto seleccionado se mostrará en negrita. Si ya estuviese en negrita se quitará la propiedad.
CARETPOSITION Posición del cursor. El primer carácter es 0.
FILE Fichero asignado al control.
FONT Fuente de texto.
FORECOLOR Color del texto.
ITALIC El texto seleccionado se mostrará en cursiva. Si ya estuviese en cursiva, se quitará la propiedad.
LEFTINDENT Indica la sangría del párrafo (indentation) donde se encuentra el cursor respecto a la sangría actual del párrafo.
Una sangría negativa indica que se suprimirá en la medida indicada en el parámetro.
La unidad que se utiliza es el “twip”. 1.440 twips se corresponden con 1 pulgada, o 57 twips con 1 mm.
LINESPACING Espaciado entre líneas.
Valores posibles:
  0  Espaciado sencillo.
  1  Espaciado de 1,5 líneas.
  2  Espaciado doble.
NUMBERINGBULLET Punto gráfico de enumeración del párrafo donde se encuentra el cursor.
NUMBERINGLETTER Letra minúscula para la enumeración del párrafo donde se encuentra el cursor.
NUMBERINGNUMBER Número natural para la enumeración del párrafo donde se encuentra el cursor.
NUMBERINGROMAN Número romano en letras minúsculas para la enumeración del párrafo donde se encuentra el cursor.
NUMBERINGULETTER Letra mayúscula para la enumeración del párrafo donde se encuentra el cursor.
NUMBERINGUROMAN Número romano en letras mayúsculas para la enumeración del párrafo donde se encuentra el cursor.
UNDERLINE El texto seleccionado se mostrará subrayado. Si ya estuviese subrayado, se quitará la propiedad.

Control SplitButtonIr al principio de la página

El botón Split es un más complejo que un control Push button. Es un botón dividido que tiene una acción predeterminada seguida de una línea divisora y una flecha.

Si se pulsa el botón secundario del control (en la flecha) se mostrará un menú o un form, y no ejecutará la acción predefinida del botón. Si se pulsa en el botón primario se ejecutará la acción predeterminada (evento On Click o el comando asociado el botón), es decir, funcionará con un control Push Button.

Estos botones se definen en ejecución, no en diseño, invocando el método SetSplitButton de la clase SimpleControl.

Variables de entornoIr al principio de la página

Métodos de la clase SimpleControlIr al principio de la página

EventosIr al principio de la página

Los eventos implementados en esta versión son los siguientes:

Constantes en clase Page y de la Api Prnpag32.dllIr al principio de la página

Se ha implementado una serie de constantes en la clase Page y en los ficheros “*.pag” utilizados por la dll “prgnpag”.

Estas constantes se definen en diseño en la propiedad Label de los controles Text. Será el runtime de Cosmos el encargado de asignarle el valor correspondiente durante su ejecución.

Las constantes son:

Constante Descripción
%PAGE% Asignará al control el número de página actual.
%TOTALPAGES% Asignará al control el número total de páginas del listado. Este valor será correcto si al llegar a la última página ésta no se ha enviado todavía a la impresora, es decir, que todas las páginas del listado estén en un búfer.
%YYYY% Asignará al control el año de la fecha actual con cuatro dígitos.
%MM% Asignará al control el mes de la fecha actual con dos dígitos.
%DD% Asignará al control el día del mes de la fecha actual con dos dígitos.
%MON% Asignará al control el nombre abreviado del mes de la fecha actual.
%MONTH% Asignará al control el nombre completo del mes de la fecha actual.
%DY% Asignará al control el nombre abreviado del día de la semana de la fecha actual.
%DAY% Asignará al control el nombre completo del día de la semana de la fecha actual.
%USERNAME% Asignará al control el nombre del usuario que ejecuta el proceso del listado.

TTToolsIr al principio de la página

Se han añadido dos nuevos parámetros a la herramienta de chequeo y reparación de índices TTTools.

Sintaxis:

TTTools [-ndl | dl] [-all] [path] [tabla]

Parámetros:

Parámetro Descripción
[-ndl | dl] Parámetros opcionales y excluyentes:
ndl      Los índices se regeneran sin límite de duplicados.
dl        Los índices se regeneran con límite de duplicados (32.767).
Si no se indica ningún valor los índices se regeneran sin límite de duplicados.
[-all] Parámetro opcional. Se repararán todas las tablas de la base de datos. No pide confirmación.
[path] Parámetro opcional. Directorio de la base de datos sin la extensión (dbs).
[tabla] Parámetro opcional. Nombre de la tabla que se quiere reparar.

NOTA: Los parámetros [-all] y [tabla] son excluyentes.

CorreccionesIr al principio de la página

En esta versión se han llevado a cabo correcciones en los siguientes componentes: