Está en la página 1de 341

FLLE

EXXAB-SCI
IN
NTTE
ERRF
FAAZ
Z ES
STT
NND
DAAR
RDDE
E CO
ONNF
FIIG
GUUR
RAAC
CII
NN
INDICE
Eliminado: 8
ACCESO A F L E X A B - S C I .................................................................................................................. 7
Eliminado: 10
VE N TAN A PR I N CI P A L DEL S I S T E M A .............................................................................................. 9
Eliminado: 12
MEN DE O P C I O N E S ...................................................................................................................... 11
Eliminado: 18
BARRA DE H E R R A M I E N T A S ........................................................................................................... 17
Eliminado: 19
PERFILES D E C O N F I G U R A C I O N ..................................................................................................... 18
Eliminado: 19
M O D O C O N F I G ................................................................................................................................ 18
Eliminado: 22
M O D O A D M I N ................................................................................................................................. 21
Eliminado: 25
U S E R S .............................................................................................................................................. 23
Eliminado: 26
U S U A R I O S C R E A R Y E D I T A R .................................................................................................... 25
C R E A R U N U S U A R I O - V E N T A N A U S E R I N F O R M A T I O N ..................................................25 Eliminado: 26
E D I T A R U N U S U A R I O - P R O P I E D A D E S ..........................................................................29 Eliminado: 30
P R O P I E D A D E S D E L O S G R U P O S D E U S U A R I O S ..............................................................30
Eliminado: 31
A G R E G A R U N U S U A R I O E X I S T E N T E A U N G R U P O D E U S U A R I O S ....................................31
Eliminado: 32
S Y S T E M S .......................................................................................................................................... 33 Eliminado: 34
S I S T E M A S C R E A R Y E D I T A R ..................................................................................................... 34 Eliminado: 35

C R E A R U N S I S T E M A - V E N T A N A S Y S T E M I N F O R M A T I O N ...............................................34 Eliminado: 35
E D I T A R U N S I S T E M A - P R O P I E D A D E S ..........................................................................35 Eliminado: 36
A P L I C A C I O N E S C R E A R , E D I T A R Y B O R R A R .......................................................................... 36 Eliminado: 37

C R E A R U N A A P L I C A C I N V E N T A N A A P P L I C A T I O N I N F O R M A T I O N ...............................36 Eliminado: 37
E D I T A R U N A A P L I C A C I N - P R O P I E D A D E S ...................................................................40 Eliminado: 41
B O R R A R U N A A P L I C A C I N ...........................................................................................40
Eliminado: 41
E S P A C I O S - C R E A R , E D I T A R Y B O R R A R ................................................................................... 41 Eliminado: 42
C R E A R U N E S P A C I O V E N T A N A S P A C E ........................................................................41 Eliminado: 42
E D I T A R U N E S P A C I O - P R O P I E D A D E S .........................................................................42 Eliminado: 43
B O R R A R U N E S P A C I O ...................................................................................................42
Eliminado: 43
E L I M I N A R U N O B J E T O C R E A D O .................................................................................................. 43 Eliminado: 44

C L A S E S ............................................................................................................................................ 44 Eliminado: 45
Eliminado: 46
C L A S E S V I R T U A L E S ....................................................................................................................... 45
Eliminado: 46
C R E A R U N A C L A S E V I R T U A L ........................................................................................45
Eliminado: 46
P R O P I E D A D E S D E C L A S E S V I R T U A L E S ..........................................................................45
Solapa Class.................................................................................................................46 Eliminado: 47
Eliminado: 50
C L A S E S R E A L E S O R G A N I Z A C I N ( C O N F I G U R A C I N ) ......................................................... 49
Eliminado: 51
C R E A R U N A C L A S E .......................................................................................................50
Eliminado: 52
I C O N O S D E L A S C L A S E S ..............................................................................................51
P R O P I E D A D E S D E L A S C L A S E S R E A L E S E D I T A R U N A C L A S E .......................................52 Eliminado: 53
Solapa Class.................................................................................................................56 Eliminado: 57
Auditora de Objetos ...........................................................................................56 Eliminado: 57
Solapa Attributes..........................................................................................................57
Eliminado: 58
Editor de atributos ..............................................................................................59
Atributos de Tipo Relation ...................................................................................73 Eliminado: 60
Eliminado: 74
FlexABSCI: Manual de Configurador 2
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Atributos de Tipo Virtual......................................................................................81
Atributos de Tipo FileLink ....................................................................................84
Atributos de Tipo Filedown ..................................................................................87
Atributos de Tipo Visual.......................................................................................90
Solapa Flow .................................................................................................................93
Estados ..............................................................................................................94
Agregar un Estado ..............................................................................................96
Eliminar un Estado ..............................................................................................97
Auditora de Estados ...........................................................................................97
Agregar una Regla de Seguridad a un Estado .......................................................99
Agregar un mtodo al estado............................................................................. 100
Visualizacin y Orden de ejecucin de los mtodos ............................................. 107
Solapa Identity........................................................................................................... 109
IdObject........................................................................................................... 110
Solapa Help ............................................................................................................... 119
Solapa Report ............................................................................................................ 123
Solapa Includes.......................................................................................................... 129
Solapa Relations......................................................................................................... 132
Solapa Generate......................................................................................................... 136
Solapa Revisions ........................................................................................................ 153
Solapa Include Order.................................................................................................. 155
Orden de visualizacion de clases abstractas e includas........................................ 155
I M P O R T A R C L A S E S ..................................................................................................... 158
C L A S E S D E T I P O M O D U L O ......................................................................................................... 163
C L A S E S A B S T R A C T A S .................................................................................................................. 164
E DI T OR DE R E P O R T E S ................................................................................................................ 167
P A R A M E T R O S E N R E P O R T E S ...................................................................................................... 176
P A R A M E T R O S E N L A W U I .......................................................................................... 179
S C R I P T S E N R E P O R T E S ............................................................................................................... 180
C O M A N D O S B S I C O S .................................................................................................. 181
E J E M P L O D E U N S C R I P T ............................................................................................. 182
G R A F I C A R E N F L E X A B ................................................................................................................ 184
M A S I N F O R M A C I N .................................................................................................... 188
S U B R E P O R T E S ............................................................................................................................... 189
E D I T O R F Q L ................................................................................................................................. 190
P A N E L O B J E C T X M L .................................................................................................................... 199
P A N E L X Q L R E S U L T .................................................................................................................... 200
U T I L I Z A C I N D E X Q L E N L A S C O N S U L T A S S Q L D E F L E X A B ............................................. 207
V A R I A B L E S D E E N T O R N O ........................................................................................................... 213
E DI T OR DE M E T O D O S M E T H O D E D I T O R .............................................................................. 214
A C E R C A D E L O S N O M B R E S D E L O S M T O D O S P E R T E N E C I E N T E S A C L A S E S ................... 218
T I P O S D E M T O D O S .................................................................................................................... 220
O P E R A T I O N ............................................................................................................... 220
Modificar la Seguridad de un atributo ................................................................. 226
U P D A T E ..................................................................................................................... 230
Restricciones .................................................................................................... 230
FlexABSCI: Manual de Configurador 3
v62 207-SCI-SP (Configuracion).pdf
Consideraciones................................................................................................ 231
M S G ( M E S S A G E ) ....................................................................................................... 239
V A L I D A T E .................................................................................................................. 245
M A C R O ...................................................................................................................... 250
P R O G R A M .................................................................................................................. 255
M S E X C E L ................................................................................................................... 259
M S W O R D .................................................................................................................. 264
M S P R O J E C T ............................................................................................................... 272
E M A I L ....................................................................................................................... 278
Mensajes de Correo Electrnico a Celulares ....................................................... 281
Envo de eMails a un Grupo de Usuarios ............................................................. 282
R E P O R T ..................................................................................................................... 284
I N T E R P H A S E .............................................................................................................. 286
F I L E L I N K _ D O W N ....................................................................................................... 288
E DI T OR DE H E L P .......................................................................................................................... 290
E D I T O R H T M L ............................................................................................................................. 300
A C E R C A D E L A P L A N T I L L A D E E S T I L O O T E M P L A T E ............................................................ 300
A C E R C A D E L A G E N E R A C I N D E L A C L A S E ............................................................................ 300
I N S E R T A R U N A C O L U M N A ........................................................................................................... 301
I N S E R T A R U N A N U E V A F I L A ....................................................................................................... 302
I N S E R T A R U N A C E L D A ................................................................................................................. 303
C O M B I N A R C E L D A S ...................................................................................................................... 304
I N S E R T A R U N A I M A G E N .............................................................................................................. 306
F O R M A T O D E C E L D A S .................................................................................................................. 307
I N S E R T A R U N H I P E R V N C U L O ................................................................................................... 311
M O V E R C O N T R O L E S D E T I P O F E C H A ....................................................................................... 313
P R O P I E D A D E S D E L A T A B L A ....................................................................................................... 316
Qu es el HTML?.......................................................................................................................... 317

FlexABSCI: Manual de Configurador 4


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
INTRODUCCIN
En la Suite de componentes de FlexAB se encuentra la Standard Configurator Interface (Interfaz
Estndar del Configurador) o FlexAB-SCI.

El objetivo de este componente es brindarle una interfaz al desarrollador para configurar


aplicaciones, sistemas, clases, como as tambin dar de alta los usuarios de las aplicaciones.

Permite que el desarrollador pueda configurar fcilmente nuevas aplicaciones, crear usuarios de
aplicaciones y las clases que se utilizarn en la aplicacin. Durante la creacin de clases se definen: los
atributos de la clase, su relacin con las dems, los mtodos de la clase, las validaciones y el formato que
tendr cada atributo en el formulario de carga o visualizacin de la clase. Estos formularios, que se generan
con el FlexAB-SCI, son configurables y se desarrollan en HTML, pudiendo el usuario modificar el template
bsico, que genera en forma automtica el sistema, a las necesidades de la aplicacin.

Es una herramienta para la creacin de aplicaciones sin programacin, con la flexibilidad de la teora
Orientada a Objetos, y utilizando robustas bases de datos relacionales (RDBM).

El desarrollador interacta solo con objetos, los datos y su estructura relacional son transparentes para el
configurador, no perdiendo tiempo en relaciones, ndices, tablas, etc. Esto hace que la creacin de
aplicaciones tenga una reduccin en su tiempo de desarrollo.

La utilizacin de Objetos (Clases) posibilita la reutilizacin de los mismos en otras aplicaciones, as como su
vinculacin a otras aplicaciones, compartiendo la informacin en toda la familia de sistemas desarrollados
en FlexAB de manera directa, sin interfaces o procesos intermedios.

La Interfaz Estndar de Configuracin de FlexAB posee las siguientes caractersticas:

No requiere cdigo de programacin: No hay programacin de cdigo, la funcionalidad de la


aplicacin se logra customizando las clases que se creen de acuerdo a la lgica de negocios. Lo
ms cercano a la programacin, es la confeccin de FlexAB Query Lenguage FQL (SQL + XQL)
(vea FlexAB-FQL para obtener detalles), mediante la utilizacin de un asistente visual, para buscar
informacin de objetos.

gil construccin: Luego de crear las clases de acuerdo a la lgica de negocios, puede
comenzar a utilizar la aplicacin, ya que los paneles de carga y edicin de datos de los objetos, en
la FlexAB-SUI, heredan en forma automtica, las validaciones que se configuren en la FlexAB-SCI a
nivel de campos (como por ejemplo el rango de un campo, o su formato de ingreso).

Genera formularios HTML automticamente: Los formularios de alta y edicin de objetos que
utilizarn en la FlexAB SUI se generan automticamente en HTML y es posible configurar el
formato del mismo.

Validaciones por nica vez: Las validaciones se realizan en la clase por nica vez, luego son
heredadas por todos los objetos de la clase que se utilicen en la FlexAB SUI.

Actualizar una aplicacin existente: Permite actualizacin en la lgica de negocios, siendo


posible agregar las funcionalidades requeridas para las nuevas necesidades que se puedan
presentar. Por ejemplo, si lo que necesito es agregarle informacin a mi aplicacin, defino el nuevo
objeto, sus atributos, funciones, eventos, flujo de vida, y lo agrego a mi definicin de la
aplicacin FlexAB. Listo. No tengo que hacer nada ms. La nueva funcionalidad ya esta integrada
al sistema y andando. En caso de tener una aplicacin ya en uso y necesito agregar una nueva
informacin a un objeto, simplemente lo edito y le agrego el nuevo atributo. Todo es directo y
simple. Agrego lo que necesito en cualquier momento.

FlexABSCI: Manual de Configurador 5


v62 207-SCI-SP (Configuracion).pdf
Datos compartidos entre sistemas: Las clases creadas pueden utilizarse desde cualquier
aplicacin. La utilizacin de Objetos posibilita la reutilizacin de los mismos en otras aplicaciones,
as como su vinculacin a otras aplicaciones.

D
Diirriig
giid
doo aa

El componente de FlexAB, Standard Configurator Interface (Interfaz Estndar del Configurador - SCI),
est dirigida para el desarrollador de sistemas, la persona que configurar las clases, atributos,
mtodos.

C
Coon
noocciim
miieen
ntto
ossP
Prreevviio
oss

Nociones de Orientado a Objetos


- Conceptos de Clases (atributos, mtodos, tipos de clases)
- Conceptos de Objetos
- Conceptos de Relaciones entre Clases.
SQL (Structured Query Language)
XQL (eXtensible Query Language)
Nociones de XML (eXtensible Markup Language)

D
Dooccu
ummeen
nttaaccii
nnd
dee R
Reeffeerreen
ncciia
a

FlexAB-Gua Tecnolgica

FlexABSCI: Manual de Configurador 6


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
A CCESO A FLEXAB-SC I

Al ingresar a FlexAB-SCI, el sistema, le presenta la ventana Log-In to FlexAB-SCI.


En la misma se solicita ingresar el Universo (Universe) con el que se desea trabajar, el usuario (User)
y la contrasea (Password).

Botn de acceso al UCI (conexin a los universos). El FlexAB UCI es la aplicacin donde se
configuran los universos a los cuales accede la mquina.

Ventana del UCI

FlexABSCI: Manual de Configurador 7


v62 207-SCI-SP (Configuracion).pdf
Connect HKEY: Si est destildado, evita la bsqueda de una llave y la consecuente demora que implica
esta bsqueda . Podemos utilizarla destildada cuando sabemos que no existe una llave o para ingresar en
modo Admin (Ver Modo Admin). Si tildamos la opcin, busca una llave. Esta llave puede existir o no. En
caso de existir, cuando se estn creando nuevas clases, el propietario de las mismas ser el que est
indicado en la llave. En caso de que la llave no exista, tambin se nos permitir el acceso al sistema, pero
el propietario de las nuevas clases ser Annmo.
El sistema recuerda la ltima opcin elegida para Connect Hkey, y la siguiente vez que se ingresa al
sistema, mantiene el ltimo valor elegido.

El botn Ok permite el acceso al sistema si el usuario, la contrasea y la aplicacin que ingres son datos
validos.
El botn Cancel deja sin efecto la operacin de acceso.

FlexABSCI: Manual de Configurador 8


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
VENTA NA PRINCI PAL DEL SISTEMA

La ventana principal contiene: el Men de Opciones del mdulo Interfaz Estndar de Configuracin
FlexAB, la Barra de Herramientas, el combo de Edicin Rpida de clases, la Barra de Navegacin a
la izquierda de la pantalla, el Arbol de Navegacin , el Panel de Estado de los hijos del rbol, y el
Panel que muestra los Atributos de la Clase.

Figura 1: Pantalla Principal del Configurador

Combo de Edicin rpida de clases

Arbol de Navegacin

Panel de Estado de las Clases hijas de la seleccionada en el rbol

Barra de Navegacin

Panel de Atributos de la Clase

FlexABSCI: Manual de Configurador 9


v62 207-SCI-SP (Configuracion).pdf
La Barra de navegacin, permite seleccionar la visualizacin que se tendr en el rbol. Por ejemplo,
presionando el botn Class, se visualizarn en el rbol, las clases del sistema; eligiendo la opcin Users,
se visualizarn los grupos de usuarios, y as sucesivamente segn la opcin elegida.

El combo de Edicin Rpida de clases, despliega las clases existentes. Esto presenta una gran utilidad,
porque cuando se sabe cual es la clase con la que se quiere trabajar, eligiendo la clase desde este combo,
directamente se abre el formulario de edicin de clases, evitando la ocasional bsqueda de la clase en el
rbol.

FlexABSCI: Manual de Configurador 10


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
MEN DE OPCIONES

El men est compuesto por seis opciones principales: Maintenance, Objects, Language Tools,
Reports y Help.

Cada opcin contiene el grupo de funciones que se detalla a continuacin:

Men Maintenance

Export to XML: permite exportar la clase seleccionada a XML. Una vez obtenido el XML, se puede
modificar la clase, y luego incorporarla importando el archivo XML.
Import to XML: permite importar un XML de una clase.
User Export: permite exportar los usuarios del sistema. Al elegir esta opcin, aparecen listados en una
grilla todos los usuarios del sistema. Se deben seleccionar aquellos que se quieran exportar, y luego
presionando las teclas Ctrl + C , se copian al clipboard.

FlexABSCI: Manual de Configurador 11


v62 207-SCI-SP (Configuracion).pdf
Luego de esta operacin, se pueden volcar los usuarios mediante el comando Pegar (Ctrl + V), a una
planilla de Excel

User Import: permite importar usuarios al sistema. Desde una planilla de Excel, se pueden copiar los
usuarios que se quieren ingresar al sistema.

Luego se indica en la ventana del importador, cuantos usuarios se quieren ingresar, y se pegan en la grilla.
Para completar la operacin presionar el botn Save .

FlexABSCI: Manual de Configurador 12


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Botones del Importador de Usuarios

Save: graba los nuevos usuarios en el sistema


Clear: limpia la grilla
Count Rows Object: indicar la cantidad de usuarios que se ingresan. Se habilitar dicha cantidad de
filas en la grilla

Unlock Classes: permite desbloquear clases tomadas por usuarios. Si una clase est siendo
editada por un usuario, otro usuario podr tener acceso de slo lectura a la misma.
Unlock Objects: permite desbloquear objetos tomados por usuarios. Si un objeto est siendo
editado por un usuario, otro usuario podr tener acceso de slo lectura al mismo documento, debido
a que el objeto se bloquea y as de esta manera se mantiene la integridad del mismo.
Purge Auditory: permite depurar la base de datos de auditora, que contiene la auditora de los
objetos. (Ver Clases Reales,Solapa Class,Auditoria de Objetos)
Object Range: permite definir los rangos que tendrn los identificadores de los objetos en los diferentes
universos. Esta opcin es fundamental para poder mover objetos entre los universos sin que haya
conflictos con sus identificadores.
Quit: salir del sistema.

Men Objects

New: crea un nuevo objeto (clase, sistema, aplicacin, grupo de


usuarios, usuario, etc.) dependiendo del objeto seleccionado. Si
estamos en el nodo USERS del rbol, solicitar ingresar un nuevo
Grupo de usuarios.
Properties: muestra las propiedades del objeto. Permite editarlo.
Find: buscar una clase.
Cut: cortar un objeto. (Solo para clases)
Copy: copiar un objeto. (Solo para clases)
Paste: pegar un objeto. (Solo para clases)
Delete: permite eliminar un objeto.
Delete Unused Spaces: permite eliminar aquellos espacios que
existan pero no estn visibles en el rbol. Esta situacin se d, cuando se eliminan todas las clases de un
espacio. El espacio desaparece del rbol.

FlexABSCI: Manual de Configurador 13


v62 207-SCI-SP (Configuracion).pdf
Men Language Tools

(1)
(2)

(1) Text Translations: Textos, palabras, que se encuentran en todas las ventanas de FlexAB-SUI,
Interfaz Estndar del Usuario, con sus respectivas traducciones. Haciendo doble clic sobre la celda de la
grilla, nos permite editar la celda y cargar el texto en el lenguaje seleccionado.

STRTRANSENG STRTRANSSPA
CHILDREN HIJOS
CHANGE &PASSWORD CAMBIAR &PASSWORD
&CLOSE APPLICATION &CERRAR APLICACIN
Figura 2.1: Traducciones Ingls-Espaol

Figura 2.2: Ventana Text Translations

(2) Messages Translations: Mensajes usados en el sistema, traducidos en los distintos lenguajes que se
pueden utilizar.
En esta ventana de Traducciones de Mensajes, tenemos un combo donde se listan los grupos, por ej.
Attributes, SQL, Help, etc. Al hacer clic, sobre un grupo, se listan los mensajes que corresponden al mismo.
Como se muestra en la Figura 3.2

FlexABSCI: Manual de Configurador 14


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 3.1: Ventana Messages Translations

Figura 3.2: Ventana Messages Translations

Men Reports

User Audit: permite visualizar el listado auditora por usuario, conteniendo


detalles sobre la aplicacin a la cual ingreso, fecha de ingreso y duracin de la
sesin.
Class Father: permite visualizar el listado de las clases con sus clases hijas,
clase padre y la cantidad de objetos para cada aplicacin
Used SQL queries: permite visualizar un reporte de las consultas SQL
utilizadas.
Iddle SQL queries: permite visualizar un reporte de las consultas SQL que no
estn siendo utilizadas en este momento.

FlexABSCI: Manual de Configurador 15


v62 207-SCI-SP (Configuracion).pdf
Applications List: permite visualizar un listado de las aplicaciones existentes, conteniendo detalle de la
clase y objetos que tiene cada una de ellas.
System Use State: permite visualizar un reporte de los sistemas con la cantidad de aplicaciones, clases
y objetos para cada uno.
Class by application: permite visualizar un reporte de las clases por aplicacin con el detalle de su
versin, fecha de la ltima modificacin y la cantidad de objetos instanciados por clase.

Men Help

Content: Contenido de la ayuda.


About: Informacin acerca del sistema.

FlexABSCI: Manual de Configurador 16


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
BARRA DE HERRAMIENTAS
La barra de herramientas del mdulo SCI, est formada por los iconos de las funciones ms utilizadas del
men de opciones del sistema. La funcin de cada una es equivalente a la opcin de men a la que hace
referencia.

1 - New Object: Crea un nuevo objeto (clase, sistema, aplicacin, grupo de usuarios, usuario, etc.)
dependiendo del objeto seleccionado. Si estamos en el nodo USERS del rbol, solicitar ingresar un nuevo
Grupo de usuarios.
2 - Properties: Muestra las propiedades de objeto. Permite editarlo.
3 - Cut: permite cortar una clase estructural del rbol de de navegacin. Solo relaciones estructurales. Las
clases includas no se pueden cortar y pegar.
4 - Copy: permite copiar una clase. Puede copiar relaciones estructurales y de inclusin, pero al pegar,
pegar una relacin estructural. O sea, es posible copiar una clase includa, pero cuando se pegue dicha
clase ya no ser includa sino que ser una clase estructural en el destino.
5 - Paste: permite pegar una clase. Siempre pega relaciones estructurales. Como se refiri en los puntos 3
y 4.
6 - Delete: permite eliminar una clase.
7 - Method Editor: editor de mtodos. (Ver Method Editor)

FlexABSCI: Manual de Configurador 17


v62 207-SCI-SP (Configuracion).pdf
P ERFILES DE CONFIGURACION

Hay dos perfiles de configuracin en FlexAb-SCI: el Modo Config (configurador) y el Modo Admin
(administrador).
FlexAB-SCI utiliza una llave electrnica de hardware USB Hard Key, para manejar estos modos.

MODO CONFI G

En este modo el usuario puede operar la Interfaz Estndar de Configuracin (FlexAB-SCI) completa, sin
restricciones. Es el usuario con mayores privilegios de permisos. Necesita utilizar un USB Hard Key.
Es el usuario que tiene Control Total sobre el sistema
Para ingresar en este modo se debe marcar la casilla Connect HKey

Tiene todas las opciones de los menes

FlexABSCI: Manual de Configurador 18


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Tiene visibles todos los botones de la Barra de Navegacin

Se visualizan todos los sistemas creados con la USB Hard Key actual, y los que se
crearon sin utilizar una USB Hard Key (annimos).

FlexABSCI: Manual de Configurador 19


v62 207-SCI-SP (Configuracion).pdf
En el Editor de Clases se visualizan todas las solapas de edicin

Nota: Cuando en modo Config, se edita una clase creada con otra llave, dicha clase solo se edita en forma
limitada, mostrando las mismas solapas que en modo Admin

FlexABSCI: Manual de Configurador 20


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
MODO ADMIN
Para ingresar en Modo Admin, la casilla de Connect Hard Key debe estar en blanco

El modo Admin NO REQUIERE USB Hard Key (llave), y tiene un limitado acceso de configuracin.
Trabajando en este modo, el usuario puede ver los sistemas que se hayan creado sin utilizar una llave.
El rbol de clases no ser visible. Se deber acceder a las clases desde el combo de Fast Edit y se
podrn editar en forma limitada. En dicho combo estarn visibles las clases de todos los sistemas.

No tiene visible el rbol de clases, por lo cual el acceso a una clase debe hacerse desde el combo de
Edicin rpida en la barra de Herramientas.

En la Barra de navegacin no est visible el botn de Class ni el de Virtuals

En la Barra de Herramientas no tiene el botn del Editor de Mtodos

FlexABSCI: Manual de Configurador 21


v62 207-SCI-SP (Configuracion).pdf
En el Editor de Clases se visualizan solamente las solapas Class, Flow, Help, Report

En la solapa Flow solamente puede editarse la Seguridad en los estados

FlexABSCI: Manual de Configurador 22


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Los menes tienen solamente algunas de las opciones, como se muestra en la figura

Licencia

En la licencia de FlexAB, se define si el producto podr o no ser utilizado usando una USB Hard Key. Por lo
que Ingresar a FlexAB en modo Config o Admin, tiene que ver con la licencia de FlexAB que se posea.
En la aplicacin File Server, men Licence, submen Info , en el item Application Types , se
encuentra esta informacin

Si dice NoHardkey, no es necesaria la llave y se ingresa siempre en modo Config.


Si no dice nada referido a la Hardkey (como en la figura de ejemplo), es necesaria la Hardkey. En este caso
si se ingresa sin la llave, el modo ser Admin, y si se ingresa con llave el modo ser Config.

USERS

FlexABSCI: Manual de Configurador 23


v62 207-SCI-SP (Configuracion).pdf
Presionando sobre el botn de Users, en la Barra de Navegacin, se despliega el rbol del FlexAB-SCI.
Dentro del mismo se organizan los usuarios por Grupos de usuarios, segn los permisos que se le asignen.

Figura 4: rbol del Configurador - USERS

FlexABSCI: Manual de Configurador 24


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
USUARI OS CREAR Y EDITAR

C REAR UN USUARIO - VENTA NA USER INFORMATION


Para crear un nuevo usuario en FlexAB-SCI, ir a la raz USERS en el rbol, desplegar los grupos de
usuarios, como muestra la Figura 4, luego seleccionar uno de los grupos de usuarios y crear el nuevo

usuario desde el icono New Object de la barra de herramientas o desde el men Object la opcin
New, una vez seleccionada la misma, se activa la ventana User Information que se muestra en la Figura
5.

Figura 5: Ventana de alta de usuarios.

User Information contiene los siguientes campos:

User ID: identificador del usuario que se va a crear, con el cual el usuario ingresar al sistema.
Por ej: iniciales del usuario, alopez.
UserName: nombre del usuario que se va a registrar.
Password: clave con la que el usuario ingresar al sistema.
LoginTries: este campo indica la cantidad de intentos de acceso al sistema fallidos, luego de
pasada dicha cantidad, el usuario queda deshabilitado.
State: es el estado del usuario: Habilitado o Deshabilitado. Los usuarios deshabilitados no pueden
ingresar al sistema.

FlexABSCI: Manual de Configurador 25


v62 207-SCI-SP (Configuracion).pdf
User Language: despliega una lista con los idiomas disponibles. Desde aqu, se indica el idioma
que utilizar el usuario para visualizar mensajes, labels, etc.

The password expires on: especifica la cantidad de das a los que vence el password. El valor 0
(cero) significa que no tiene vencimiento.
Email: a partir de la direccin de correo electrnico ingresada se puede enviar un e-mail al soporte
del sistema, informndole el error ocurrido en la aplicacin. Es la direccin de correo que le
aparece a la persona que da soporte, cuando recibe el informe de error.

Config SMTP
SMTP Server: el nombre de servidor de correo saliente
SMTP User: son los datos de usuario para ingresar al servidor SMTP
SMTP Password: es el password para ingresar al servidor SMTP
Port: puerto en el que trabaja el servidor SMTP. Generalmente es el 25
Security SSL: indicar si el servidor utiliza seguridad a travs del protocolo SSL
Authentication: indicar si el servidor requiere autenticacin

Al producirse un error en el sistema

Al hacer clic en el botn ENVIAR EMAIL, automticamente se enva un email al soporte del sistema.
En todos los casos se enva un Screenshot de la pantalla ms el mensaje de error; solo si en la operacin
hay un objeto involucrado, adjunta el XML de la clase.

FlexABSCI: Manual de Configurador 26


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
En este ejemplo, se enva el email del usuario alopez@appliware.com.ar al soporte de la aplicacin:
SOPORTE@appliware.com.ar

FlexABSCI: Manual de Configurador 27


v62 207-SCI-SP (Configuracion).pdf
Include User in Group: lista todos los grupos a los que se puede incorporar el usuario.

Config Level: presionando este botn podremos establecer el alcance que tendr el usuario para
configurar opciones dentro del FlexAB-SCI (configurador). Se visualizar la siguiente pantalla, que
detallaremos a continuacin.

Graphics: permite configurar los grficos.


Applications: permite configurar sistemas y aplicaciones.
ClassGroup Report Rela: permite configurar los grupos, reportes y relaciones estructurales
de una clase, desde las respectivas solapas de la clase.
Class Sec User Msg: permite configurar la seguridad, administrar usuarios y administrar las
tablas de traduccin de mensajes.
Delete Revision: permite eliminar revisiones.
All Class Generate: permite generar clases.
Maintenance: permite utilizar el men Maintenance del configurador, est destinado a aquellos
usuarios que realicen solo el mantenimiento del sistema.
Trails: permite configurar Trails.

Char. Min. Password: indica la cantidad mnima de caracteres que contendr el password del
usuario. Si es cero, no tiene lmite.

Password Alphanumeric: si el password es Alphanumeric, significa que debe contener


obligatoriamente nmeros y letras. En caso contrario puede contener cualquier caracter.

FlexABSCI: Manual de Configurador 28


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
El botn Cancel deja sin efecto la operacin.
El botn OK permite la creacin del usuario y muestra el siguiente mensaje
informativo.

EDITAR UN USUARIO - PROPIEDADES

Para ver las propiedades de un usuario (para editar), seleccionarlo y presionar el icono Properties de
la barra de herramientas o desde el men Object la opcin Properties.
De esta manera, es posible modificar las opciones que se encuentran habilitadas en la ventana, por
ejemplo: el estado, los grupos, etc.

Grupos de usuarios

Usuarios del grupo Testers

FlexABSCI: Manual de Configurador 29


v62 207-SCI-SP (Configuracion).pdf
Figura 6: Ventana de propiedades de usuarios.

P ROPIEDADES DE LOS GRUPOS DE USUARIOS

Para ver las propiedades de un grupo, seleccionarlo y presionar el icono Properties de la barra de
herramientas o desde el men Object la opcin Properties.
Al editarlo es posible modificar la descripcin del Grupo.

Figura 7: Ventana de propiedades de grupos de usuarios.

FlexABSCI: Manual de Configurador 30


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
A GR EGAR UN USUARIO EXISTENTE A UN GRUPO DE USUARIOS
Para agregar un usuario existente a un grupo de usuarios debemos posicionarnos sobre el usuario; por
ejemplo tenemos un usuario cmorales en el grupo Testers, y ahora queremos que el mismo usuario
tambin forme parte del grupo Administradores. Para ello debemos posicionarnos sobre el usuario en el
grupo en el que ya forma parte (Figura 8).

Figura 8: Como agregar un usuario existente a un grupo.

Luego debemos editar al usuario (clic en propiedades), y se visualizar la siguiente ventana

Elegimos el nuevo grupo

FlexABSCI: Manual de Configurador 31


v62 207-SCI-SP (Configuracion).pdf
En la seccin Include User in Group, especificamos el grupo al cual queremos agregar al usuario. Para
nuestro ejemplo seleccionamos el grupo Administradores.

El botn Cancel deja sin efecto la operacin.


El botn OK permite la modificacin al usuario y muestra el siguiente mensaje informativo.

Luego de haber agregado el usuario a un grupo existente, nuestros grupos de usuarios se vern de la
siguiente manera:

El usuario forma parte de los dos grupos

FlexABSCI: Manual de Configurador 32


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
S YSTEMS

Presionando Systems en la barra de navegacin, en la raz del rbol del FlexAB-SCI, encontramos
Systems. Dentro se organizan los sistemas y las aplicaciones que contienen. En nuestro ejemplo los
sistemas APPLIWARE, COM, EGP, y sus aplicaciones segn corresponda. En el ejemplo de la figura el
sistema APPLIWARE contiene las aplicaciones 1 y 2 (Figura 9).

Figura 9: rbol del Configurador - SYSTEMS

FlexABSCI: Manual de Configurador 33


v62 207-SCI-SP (Configuracion).pdf
Aplicaciones

Sistemas

S ISTEM AS CREAR Y EDITAR

C REAR UN SISTEMA - VENTANA SYSTEM INFORMATION


Seleccionar SYSTEMS en la barra de navegacin. Luego SYSTEMS en el rbol y presionar el icono New
Object de la barra de herramientas o desde el men Object la opcin New. Una vez seleccionado
aparece la ventana System Information que se muestra en la Figura 10.

Figura 10: Ventana de Informacin de Sistema

FlexABSCI: Manual de Configurador 34


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
La ventana System Information (Figura 10) contiene los siguientes campos:

System ID: ingresar el identificador interno del sistema. Ej: COM (Modulo Comercial).
Description: ingresar el nombre del nuevo sistema.
Support Mail: ingresar la cuenta de e-mail del soporte del sistema.
System Key: nmero de llave del sistema. El sistema y las aplicaciones correspondientes, solo
sern visibles si se encuentra presente una llave que contenga el System Key indicado. En caso de
ingresar al FlexAB-SCI con la opcin Connect Hkey destildada, est o no presente una llave, solo se
vern sistemas cuyo System Key sea 0 (cero). Estos sistemas con System Key = 0 (igual a cero)
son sistemas que han sido creados no habiendo una llave presente o habiendo ingresado al FlexAB-
SCI con la opcin Connect Hkey destildada.

EDITAR UN SISTEMA - PROPIEDADES

Para ver las propiedades del sistema, seleccionar un sistema y presionar el icono Properties de la
barra de herramientas o desde el men Object la opcin Properties. Se edita el sistema y permite
cambiar los datos de descripcin, la cuenta de e-mail de soporte.

FlexABSCI: Manual de Configurador 35


v62 207-SCI-SP (Configuracion).pdf
A PLI CACIO NES CREAR, EDITAR Y BORRAR

C REAR UNA A PLICACIN VENTA NA APPLICATION INFORMATION


Seleccionar SYSTEMS en el rbol, desplegar los sistemas, como muestra la siguiente figura

Luego seleccionar el sistema sobre el cual desea crear una nueva aplicacin y presionar el icono New
Object de la barra de herramientas o desde el men Object la opcin New.

Se visualizar la ventana Application Information que se muestra en la Figura 11.

FlexABSCI: Manual de Configurador 36


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 11: Ventana de informacin de la aplicacin.

Contiene el icono que se le asigna a la aplicacin. El de dicho icono es actuar como un elemento de
identificacin visual. Haciendo doble clic podremos seleccionar el icono deseado. Este icono debe ser de
16x16 pixeles y de 256 colores.

La ventana Application Information contiene los siguientes campos:


Application Number: ingresar el identificador interno de la aplicacin, el cual debe ser numrico.
En este caso ingresamos el 10.
Description: ingresar el nombre de la nueva aplicacin.
System ID: este campo se define de acuerdo al sistema sobre el cual estamos creando la nueva
aplicacin. Ej: APPLIWARE, COM, EGP. En la Figura 11 podemos ver que esta aplicacin esta
siendo creada en el sistema EGP.
preFixDocs: se puede cargar un prefijo que se incorporar en el nombre de cada documento de la
aplicacin.
State: es el estado en el que se encuentra la aplicacin: Enabled (Habilitado) o Disabled
(Deshabilitado).

El panel Security:

Una vez creada la Aplicacin, se deben otorgar los permisos a los grupos de usuarios, para definir los tipos
de acceso que tendrn a la misma.

Para agregar una nueva regla de seguridad hacer clic en el botn Add .
Para eliminar la regla de seguridad hacer clic en el botn Remove .

FlexABSCI: Manual de Configurador 37


v62 207-SCI-SP (Configuracion).pdf
Figura 12: Seccin Security

Esta seccin contiene una grilla con los siguientes campos:


User Group: permite asignar el grupo de usuarios que tendr acceso a la aplicacin.
Access Type: permite seleccionar que tipo de acceso a la aplicacin tendr el grupo de usuarios
seleccionado. Estos permisos pueden ser

Figura 13: Tipos de Permisos


- Deny: Negado. Sin acceso.
- New: Permite crear nuevos objetos.
- Read: Solo lectura.
- Change: Solo cambios, no nuevos.
- Delete: Eliminar objetos.
- Del Link: Eliminar vnculos de objetos.
- Copy: Copiar objetos.
- Cut: Cortar objetos.
- Link: Vincular objetos.
- Print: Permiso de impresin.
- Last Version: Permite solamente trabajar con la ltima revisin aprobada del objeto. Este permiso
no se combina con otros. Cuando un usuario tiene este permiso, lo que ve en el rbol, es la revisin
mencionada, no el objeto. Si no hubiere revisiones aprobadas, no se vern revisiones del objeto en el
rbol . (Ver Agregar una regla de seguridad a un Estado)
- Version Edit: Revisionar objetos y Editar revisiones de objetos.
- User Events: Ejecutar eventos de usuario.
- Pack: Empaquetar objetos.
- Pack Up: Subir paquetes al sistema.
- Import: Importar objetos.
FlexABSCI: Manual de Configurador 38
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
- Trails: Herramienta de caminos.
- Visible: Define si el grupo de usuarios puede visualizar los atributos desde la edicin.
- Active: Define si el grupo de usuarios puede modificar los atributos desde la edicin.
- Full Control: Acceso con control total.

Los permisos Deny, Last Version y Full Control no se pueden combinar con otros permisos.

idSpace: permite seleccionar los espacios a los cuales tendr acceso el grupo de usuarios definido.
Se visualizar una ventana como la siguiente

Desde aqu podremos seleccionar uno o todos los espacios. Haciendo doble clic sobre el espacio
seleccionado la ventana proceder a cerrarse.

InterfaceName: permite seleccionar la interface de trabajo con el sistema. (Todas- Estndar-


Web Cad).

El botn Cancel deja sin efecto la operacin.


El botn OK permite la creacin de la aplicacin y muestra el siguiente mensaje informativo.

Figura 14: Confirmacin

Nota: Las aplicaciones de creadas dentro de un mismo sistema, tienen los mismos espacios.

FlexABSCI: Manual de Configurador 39


v62 207-SCI-SP (Configuracion).pdf
EDITAR UNA A PLI CACIN - PROPIEDADES

Para ver las propiedades de una aplicacin, seleccionarla y presionar el icono Properties de la barra
de herramientas o desde el men Object la opcin Properties.
Al editar la aplicacin, es posible generar cambios en alguno de sus datos.

BORRAR UNA APLICACIN

Si queremos eliminar una aplicacin, debemos seleccionarla y presionar el icono Delete de la barra de
herramientas o desde el men Object la opcin Delete.

Presionando el botn Si se procede a eliminar la aplicacin y presionando sobre el botn No se cancela la


eliminacin.

FlexABSCI: Manual de Configurador 40


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
ESPACIOS - CREAR, EDITAR Y BORRAR

C REAR UN ESPACIO VENTA NA SPACE


Los Espacios se crean dentro de los sistemas.
Las aplicaciones creadas dentro de un mismo sistema, poseen los mismos Espacios.

Para crear un nuevo Espacio, seleccionar seleccionar un sistema y crear el nuevo espacio desde el icono
New Object de la barra de herramientas o desde el men Object la opcin New.

Aparece la ventana Space que se muestra en la Figura 15 a.

Si elegimos la opcin New Space generar un espacio nuevo en el sistema seleccionado. Se deben cargar
los campos idSpace (un valor hasta 255) y Description. Luego directamente se abrir el Editor de Clases
para cargar la primer clase.

Figura 15 a.: Ventana Space.

En caso de querer agregar un espacio ya creado a un sistema en particular, se debe seleccionar la opcin
Existing Space. Aparece la ventana Space que se muestra en la figura 15 b.

FlexABSCI: Manual de Configurador 41


v62 207-SCI-SP (Configuracion).pdf
Figura 15 b.: Ventana Space

EDITAR UN ESPACIO - PROPIEDADES

Para ver las propiedades de un espacio, seleccionarlo y presionar el icono Properties de la barra de
herramientas o desde el men Object la opcin Properties.
Al editar el espacio, es posible cambiar la descripcin del mismo.

BORRAR UN ESP ACIO


Si queremos eliminar un Espacio debemos seleccionarlo y presionar el icono Delete de la barra de
herramientas o desde el men Object la opcin Delete.

Para eliminar un espacio debemos primero eliminar cada una de las clases que tiene.
Si eliminamos todas las clases de un espacio, el mismo se borrar automticamente.

FlexABSCI: Manual de Configurador 42


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
ELIM INAR UN OB JETO CREADO

Para eliminar un item del rbol del FlexAB-SCI, seleccionarlo y presionar el icono Delete de la barra
de herramientas o desde el men Object la opcin Delete.
Antes de eliminar el tem de que se trate, el sistema le pedir la confirmacin de eliminacin.

Si se est por eliminar una clase el sistema le advertir con el siguiente mensaje de confirmacin, solo se
podrn eliminar clases si las mismas no contienen objetos cargados (instancias)

Figura 16: Opciones para eliminar clases

La primera opcin borra solo la relacin estructural entre la clase seleccionada y la clase padre del rbol de
clases.
La segunda opcin elimina la clase en s.

De la misma forma si queremos eliminar aplicaciones, seleccionamos la aplicacin a eliminar y el sistema


advertir con el siguiente mensaje de confirmacin. Presionando el botn Si se procede a eliminar la
aplicacin y presionando sobre el botn No se cancela la eliminacin.

FlexABSCI: Manual de Configurador 43


v62 207-SCI-SP (Configuracion).pdf
C LASES

En el sistema se pueden definir cuatro tipos de clases:

Virtuales: son clases que no pueden ser instanciadas. Una clase virtual es tipo de clase que
recupera datos desde otras clases. Su finalidad es ser utilizada como medio para obtener ciertos datos.
Sus objetos no pueden verse en el rbol estructural.

Reales: son las que permiten generar una instancia de un Objeto Real en una Aplicacin, la
relacin entre hijos y padres; puede verse en el rbol estructural.

Mdulos: una clase de este tipo, contiene Mtodos que son globales y pueden ser utilizados por
las dems clases. No pueden verse en el rbol estructural.

Abstractas: una clase de este tipo, puede ser utilizada por cualquier clase Real. El objetivo de
estas clases es reutilizar su funcionalidad.

FlexABSCI: Manual de Configurador 44


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
C LASES VI RTUALES

Las clases virtuales, se alojan en la raz de VIRTUALS del Configurador de FlexAB y pertenecen a todo el
universo integrado, es decir a todos los sistemas.
Para acceder a VIRTUALS, se debe presionar el botn correspondiente en la Barra de Navegacin.

Por ejemplo en la figura podemos observar las clases virtuales: BORNEPADRES, CODCOMERCIAL,
comPrecioItem, CXN_BORNES, DOC_CAMPOS, DOC_TagsObj, docListado, docREVISION

Clase Virtual

C REAR UNA C LASE VIRTUAL


Para crear una Clase Virtual es necesario seleccionar la raz VIRTUALS del Configurador, dentro de la cual
se crear la nueva Clase Virtual y presionar el icono New de la barra de herramientas o desde el men
Object la opcin New. Luego el sistema le pedir completar los datos que requiere la clase en la ventana
Class Editor, a continuacin se describen cada uno de ellos.

P ROPIEDADES DE CLASES VIRTUALES


Se activa la ventana Class Editor que contiene la siguiente barra de herramientas

1 Save Class: Graba la clase. Esta grabacin es un almacenamiento temporal mientras se est
desarrollando la clase. Esto es muy til para poder ir gradualmente desarrollando la clase.

2 Generate Class: Toma los cambios realizados en la clase, y los graba definitivamente. Es una
grabacin definitiva en la Base de Datos.

3 Edit Class: Para poner en modo edicin una clase. Esto bloquea la clase.

FlexABSCI: Manual de Configurador 45


v62 207-SCI-SP (Configuracion).pdf
4 Undo Edit: Deshace el bloqueo de la clase. Deshace todo cambio que se haya hecho sobre la clase, y
la vuelve a la ltima versin grabada (no a la ltima generada).

5 Restore Generated Version: Deshace el bloqueo de la clase. Deshace todo cambio que se haya
hecho sobre la clase, y la vuelve a la ltima versin generada.

6 Restore Class Version: Restaura la clase a la versin elegida de la misma. (Ver Clases Reales)

7 FQL Editor: Se accede al Editor de FQL

8 Method Editor: Se accede al Editor de Mtodos

Solapa Class
Contiene las propiedades de la clase virtual (Ver Figura 17).
Class Name: ingresar el identificador nico de la clase. Ej: CLIENTLIST
ShortName: ingresar un identificador por aplicacin, compuesto obligatoriamente por cinco
caracteres que permitan al usuario reconocer las clases de cada aplicacin. Ej: (LCL)
Description: agregar un comentario descriptivo de la clase.
Virtual Data: en este campo se crea la consulta FQL que conformar los datos de la clase virtual.

Nota: El campo IdApplication es obligatorio. El FQL devuelve los registros que tengan
IdApplication=0 y los que tengan el nmero de la aplicacin actual.

Security Definitions: se definen los grupos de usuarios que tendrn acceso (Allowed) a la clase
virtual y los que no tendrn acceso (Restricted).
Al pedir el resultado de una clase virtual, si el usuario pertenece a un grupo que tiene acceso a la
clase virtual, obtendr los resultados; de lo contrario la clase virtual devuelve el recordset abierto,
pero vaco.

Figura 17: Ventana Class Editor, solapa Class.

Campo Virtual Data

FlexABSCI: Manual de Configurador 46


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
FlexABSCI: Manual de Configurador 47
v62 207-SCI-SP (Configuracion).pdf
FlexABSCI: Manual de Configurador 48
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
C LASES REALES ORGANIZACIN (CONFI GURACIN)

En el rbol de navegacin se encuentra la raz Classes.


Dentro de la misma se organizan los sistemas. Por ejemplo podemos visualizar los sistemas: COM, EGP,
FIC, MODELOS.

Dentro de los sistemas se organizan los espacios. Por ejemplo podemos visualizar dentro del sistema FIC,
los espacios: 150-DOCUMENTS, 151UPDATES, 152USERZONE, 153DEMOS y 154SUPPORT.

Dentro de los espacios se organizan las clases. Por ejemplo podemos visualizar dentro del espacio 150
DOCUMENTS las clases: DATASHEETS, HELPS, IMAGES, MANUALS, PRESENTATION, TRAINING.

Todo est organizado por sistemas, espacios y clases.


Las clases se crean dentro de un espacio.
La aplicaciones que corresponden a un mismo sistema, tienen los mismos espacios.

Sistema

Espacio

Clase

FlexABSCI: Manual de Configurador 49


v62 207-SCI-SP (Configuracion).pdf
C REAR UNA C LASE
Para crear una Clase es necesario seleccionar la clase padre,
dentro de la cual se crear la nueva, y presionar el icono
New de la barra de herramientas o desde el men
Object la opcin New, Luego el sistema le pedir que
especifique el tipo de relacin entre la nueva clase y la clase
padre, en la ventana Relation Type. La relacin puede ser:
Relacin estructural o Relacin de inclusin. Si
queremos que la clase creada sea hija seleccionamos
RelaStruct, y si queremos que la nueva clase sea una clase
incluida, seleccionamos RelaInclude.

Al presionar el botn OK de la ventana Relation Type se


activar la ventana Class Editor (Editor de Clases) para completar los datos que requiere la clase, a
continuacin se describen cada uno de ellos.

En caso de que la clase que queremos crear no tenga una clase padre, nos posicionamos en el espacio
donde la queremos crear y realizamos los pasos mencionados anteriormente, con la diferencia que en este
caso, no solicita el tipo de relacin y se abre directamente la ventana Class Editor.

FlexABSCI: Manual de Configurador 50


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
ICONOS DE LAS CLASES
En el rbol de configuracin, vemos que las clases tienen asociados iconos con diferentes imgenes. Cada
una de esas imgenes tiene un significado diferente, dependiendo de cmo se encuentra la clase en ese
momento.

Las clases con este icono de color rojo, son clases que NUNCA FUERON GENERADAS. No son
visibles para el usuario final.

Las clases con este icono de color verde, son clases que estn GENERADAS PERO TUVIERON
CAMBIOS luego de la ltima generacin, por lo que no estn sincronizadas con la base de datos.

Las clases con este icono multicolor, son clases que estn GENERADAS y sincronizadas con la
base de datos. No tuvieron cambios desde su generacin. El usuario final, las ve con todas las
caractersticas tal cual estn en el configurador FlexAB-SCI.

Las clases con el icono de la flecha que apunta a la derecha, son clases INCLUIDAS.

Las clases con el icono que tiene el candado, son clases que estn BLOQUEADAS.

Las clases con el icono que tiene el tilde, son clases que estn BLOQUEADAS POR EL
USUARIO ACTUAL. O sea, que si Ud. ve en la pantalla, una clase con este icono, esa clase est
bloqueada por Ud.

Las clases con la flecha que apunta a la izquierda, son LINKS.

FlexABSCI: Manual de Configurador 51


v62 207-SCI-SP (Configuracion).pdf
P ROPIEDADES DE LAS CLASES REALES EDI TAR UNA CLASE

Para editar una clase, es necesario seleccionarla y presionar el icono Properties de la barra de
herramientas o desde el men Object la opcin Properties.
Se activa la ventana del Editor de Clases que contiene la siguiente barra de herramientas

1 Save Class: Graba la clase. Esta grabacin es un almacenamiento temporal mientras se est
desarrollando la clase. Esto es muy til para poder ir gradualmente desarrollando la clase, por ejemplo
cuando hay que consultar dudas que pueden tardar das en tener respuesta. Los cambios realizados en la
clase, no sern vistos por el usuario final hasta que sea generada la clase (botn Generate Class). Al
grabar, se desbloquea solamente la clase, esto quiere decir, por ejemplo que si se est trabajando con un
mtodo, el mismo no ser desbloqueado.

2 Generate Class: Toma los cambios realizados en la clase, y los graba definitivamente. Es una
grabacin definitiva de los cambios realizados. El usuario final, ve la clase tal cual como fue generada. Al
ser generada una clase, se desbloquea la clase.

3 Edit Class: Para poner en modo edicin una clase. Esto bloquea la clase.

4 Undo Edit: Deshace el bloqueo de la clase. Deshace todo cambio que se haya hecho sobre la clase, y
la vuelve a la ltima versin grabada (no a la ltima generada).

5 Restore Generated Version: Deshace el bloqueo de la clase. Deshace todo cambio que se haya
hecho sobre la clase, y la vuelve a la ltima versin generada.

6 Restore Class Version: Restaura la clase a la versin elegida de la misma.


En el siguiente ejemplo se indica como restaurar una versin existente

7 FQL Editor: Se accede al Editor de FQL

8 Method Editor: Se accede al Editor de Mtodos

9 List the FQLs referencing this class: Lista de los FQL del universo que hacen referencia a la clase
(a tabla att o a la vista)

FlexABSCI: Manual de Configurador 52


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
10 Delete Objects: Borra los objetos existentes de la clase. Para que se realice este borrado, se deben
cumplir algunas condiciones referentes a los objetos que existan de la clase (sin tomar en cuenta la
configuracin de la misma)
No puede haber objetos de la clase que estn incluidos en otros objetos
No puede haber objetos de la clase que tengan hijos estructurales
No puede haber objetos de la clase que tengan ms de un nivel de hijos por relacin de inclusin

Al presionar el botn de Restore Class Version, se listan las versiones que existen de la clase. Cada
vez que la clase se genera, se realiza una versin.

FlexABSCI: Manual de Configurador 53


v62 207-SCI-SP (Configuracion).pdf
Seleccionando una versin de la lista, y presionando el botn OK, se vuelve a la versin elegida. La
clase debe estar en edicin para generar la vieja versin como una nueva. Si no est en edicin carga el
editor de objetos y se puede ver la clase, pero no es posible restaurarla.

El botn permite visualizar el XML de la clase

FlexABSCI: Manual de Configurador 54


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
La columna FlexAB Version indica la versin de la aplicacin FlexAB SCI al momento de la
generacin de la versin. Si se trata de una versin anterior a la actual, no permite restaurar la clase, solo
ver el XML.

El Editor de Clases, contiene adems las siguientes solapas: Class, Attributes, Flow, Identity, Help,
Report, Includes, Relations, Generate, Revisions e Include Order.

FlexABSCI: Manual de Configurador 55


v62 207-SCI-SP (Configuracion).pdf
Solapa Class

Contiene las propiedades de la clase. (Ver Figura 18).

Class Name: campo en donde se especifica el identificador nico de la clase. Ej: TAREA
ShortName: campo en donde se especifica un identificador por aplicacin, compuesto por un
conjunto de caracteres que permiten que el usuario reconozca las clases de cada aplicacin. Ej: (TAR). Son
cinco caracteres obligatoriamente. Por convencin se utilizan tres letras entre parntesis.
Description: campo en el cual se agrega un comentario descriptivo de la clase.
Icon: contiene el icono que se le asigna a la clase. Al hacer doble clic sobre el cuadro se abre el
cuadro de dialogo para buscar el icono que desea adjuntar a la clase.
El icono de la clase tiene que tener 2 formatos: 16 x 16 de 256 colores y de 32 x 32 de 256 colores.
Audit Objects: indica si se realizar la auditora de los objetos de la clase.

Auditora de Objetos

Se debe tener en cuenta que si los objetos de una clase includa deben auditarse, la clase padre
tambin debe auditarse, de no ser as dar un error al querer auditar.
Adems hay que tener en cuenta que las clases includas no se auditan por s mismas. Solo se auditan
sus archivos filelink. Los valores de sus atributos se auditan en el xml del objeto padre. Por eso es que
debe auditarse la clase padre si se quiere auditar la includa.

Figura 18: Ventana de edicin de clase, solapa Class.

Clic sobre el recuadro para cargar el icono

FlexABSCI: Manual de Configurador 56


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Solapa Attributes

Contiene los atributos de objeto de la clase. (Ver Figura 19). En el panel superior Common Attributes se
encuentran los atributos que estn siempre presentes para cualquier clase que se configure.
A estos atributos no se los puede remover, ni pueden agregarse nuevos.

Todos los atributos Common tienen los siguientes campos:


Name: nombre del atributo. No es editable.
Active: indica si el atributo estar activo en el formulario de edicin de objetos.
List Column: Los atributos que tienen un valor distinto de cero para este campo se muestran
en la lista de objetos de la ventana principal de la Interfaz Estndar FlexAB-SUI. Se pueden
mostrar hasta 14 atributos. Este valor debe ser distinto para cada atributo (a excepcin del
cero).
Los primeros cuatro atributos con ListColumn distinto de cero, se muestran en la Barra de
Objeto de la Interfaz de Usuario, al seleccionar en el rbol un objeto de la clase.

Estos cuatro atributos de la clase, debido a la configuracion del List Column, son los que
detallar la Barra de Objeto de la Interfaz de Usuario (FlexAB SUI), tal cual vemos en la imagen
siguiente:

FlexABSCI: Manual de Configurador 57


v62 207-SCI-SP (Configuracion).pdf
Position: indica en qu seccin del formulario se muestra el atributo. Puede tomar los valores
HEAD o DETAIL.
Subject: label que se mostrar en el formulario de edicin de objetos, para el atributo.
Visible: indica si el atributo se muestra en el formulario de edicin de objetos.

El atributo Tag adems tiene los siguientes campos:


- Control Type . Ver Specific Attributes, Solapa Form
- Mask. Ver Specific Attributes, Solapa Form
- Validate Rule. Ver Specific Attributes, Solapa Form
- Default Value. Ver Specific Attributes, Solapa Form
- Format. Ver Specific Attributes, Solapa Form
- Value. Ver Specific Attributes, Solapa Form

Figura 19: Ventana de edicin de clase, solapa Attributes.

Hacer doble clic para editar

FlexABSCI: Manual de Configurador 58


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Editor de atributos

Para Editar un atributo Common: activar la pantalla de edicin haciendo doble clic sobre la fila
correspondiente en la grilla, de este modo, se activar la ventana correspondiente, que tiene solamente la
solapa Form (Figura 20).

Figura 20: Ventana de edicin de atributos Common de la clase seleccionada, solapa Attributes.

El panel Specific Attributes contiene los atributos especficos de la clase, los que define el usuario
configurador a la hora de la realizacin de un sistema (ver Figura 21).

Se pueden Agregar, Editar, Modificar y Eliminar atributos de este tipo.

FlexABSCI: Manual de Configurador 59


v62 207-SCI-SP (Configuracion).pdf
Figura 21: Ventana de edicin de clase, grilla Specific Attributes Solapa Attributes

Para Quitar un atributo: seleccionarlo y hacer clic sobre el botn


Para Agregar un atributo: hacer clic sobre el botn
De este modo, se activar la Ventana Attribute (ver Figura 22), la cual posee tres solapas:
General, Form y Message.

Solapa General: se encuentran los datos generales necesarios de cada atributo.

Figura 22: Editor de atributos

FlexABSCI: Manual de Configurador 60


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Name: campo en donde se ingresa el identificador nico del atributo de la clase. Ej.: Tareas. El
nombre no debe contener espacios, ni caracteres especiales, este identificador conformar el id del atributo
en la tabla.
Description: campo en donde se especifica el nombre descriptivo del atributo. Ej.: Tarea del equipo
de trabajo.
OrderNumber: valor en donde se asigna el nmero de orden que tendr el atributo en el
formulario. Este campo en versiones anteriores se completaba desde esta solapa. En esta nueva versin, se
configura desde la grilla Specific Attributes directamente con Drag & Drop. Haciendo clic sobre el
atributo que se desea ordenar en la columna que est a la izquierda de la columna Name, se lo arrastra
hasta la posicin deseada de la grilla y se lo suelta.

Clic con botn derecho en esta columna sobre el atributo correspondiente.

Arrastrar la fila del atributo, hasta la posicin deseada y luego soltar

Type: seleccionar el tipo de atributo, puede ser real, virtual, relation o visual.

- Real: se define este tipo de atributo cuando estamos dando de alta un atributo comn, que puede
llevar cualquier tipo de dato (integer, double, boolean, long, text, etc.). El valor de Data Type puede ser
cualquiera de los definidos.

- Virtual:. este tipo de atributo cambia de valor dependiendo de la informacin que se graba en otras
clases del Universo. (Ver Atributos de Tipo Virtual)

- Relation: se define este tipo de atributo cuando el mismo necesita traer un dato de otro atributo que
se encuentra en otra clase. (Ver Atributos de Tipo Relation)

- Visual: se define este tipo de atributo cuando es necesario que el usuario de la aplicacin, observe
alguna informacin dinmica, por ejemplo un saldo. Los atributos visuales, obtienen datos de otro lado
como por ejemplo de un clculo; no se almacenan en la base de datos. (Ver Atributos de Tipo Visual)

FlexABSCI: Manual de Configurador 61


v62 207-SCI-SP (Configuracion).pdf
Nota: Los siguientes Type pueden tener los Data Type indicados:

REAL: puede llevar cualquier tipo de Data Type.


VIRTUAL o VISUAL: puede llevar cualquier tipo de Data Type menos FILELINK FILEDOWN
NUMTEXT.
RELATION: lleva Data Type char(250) y como Control Type poner Combo o Lista.

DataType: tipo de dato del atributo Ej.: boolean, integer, long, autonumber, single, double, char,
text, date, time, datetime, numtext, etc . Su determinante es el Type.

A modo de ejemplo, se representa la creacin de un atributo de tipo NUMTEXT.


Un atributo de este tipo, tiene la caracterstica de traducir un nmero a su escritura en texto.

Cuando seleccionamos el Data Type NUMTEXT, se hace visible el combo Numeric Attribute que
contiene todos los atributos de tipo numrico que tiene definidos la clase.
Debemos seleccionar el atributo que deseamos sea traducido a letras.

Al elegir Data Type = NUMTEXT, se hace visible el combo Numeric Attribute

Atributos que tiene definidos la clase

Seleccionar el atributo numrico cuyo valor se quiere expresar en texto

FlexABSCI: Manual de Configurador 62


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Se ingresa un valor numrico

Se obtiene la expresin en texto

Resultado final en la Interfaz de Usuario FlexAB-SUI

Data: Hay determinados tipos de atributos, por ejemplo los atributos de tipo RELATION que
pueden poseer un FQL asociado. Se puede crear un FQL o tomar uno existente. Al presionar el botn SQL,
se activa el FQL Editor. (Ver FQL Editor).

Schema: Solo para atributos del tipo Relation. (Ver Atributos Relation)

Los items: CopyEnabled, ImportEnabled, allowsNulls y Unique, son propiedades del atributo que
pueden habilitarse con un tilde, o dejar deshabilitado.

CopyEnabled: si est tildado significa que cuando copiemos un objeto (a uno nuevo), el atributo
tendr el mismo valor que en el original. Si CopyEnabled est destildado, al copiar el objeto, el valor del
atributo estar en blanco.
Export-Import Enabled: si est tildado, significa que el valor de este atributo se puede importar y
exportar. De lo contrario no puede realizar ninguna de las dos operaciones.
Allows Null: si est en blanco, el atributo no acepta valor nulo.
Unique: el valor del atributo no se puede repetir en ningn objeto de la clase.

FlexABSCI: Manual de Configurador 63


v62 207-SCI-SP (Configuracion).pdf
Figura 23: Efecto de List Column en la Interfaz Estndar FlexAB-SUI

List Column es el orden de aparicin de los atributos en el panel de FlexAB-SUI. Como se puede
observar el atributo Descripcin de la clase Materiales-Inst, tiene asignado un List Column igual a 3, etc.
Esta propiedad List Column, tiene efecto sobre los atributos que se muestran en la Barra de Objeto, tal cual
se explic anteriormente.

Solapa Form: se encuentran los datos necesarios para dar formato al campo del atributo dentro del
formulario.

FlexABSCI: Manual de Configurador 64


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 24: Ventana de atributos Attribute Solapa Form

Si el tipo de dato del atributo es double, el Control Type puede ser: Number o Calculator

A modo de ejemplo, visualizamos el campo de tipo Calculator en la Interfaz Estndar de Usuario FlexAB-
SUI. Este campo despliega una calculadora. Los valores obtenidos del clculo, se cargan en la caja de
texto.

Resultado del clculo

Clic sobre el icono para abrir y cerrar la calculadora

FlexABSCI: Manual de Configurador 65


v62 207-SCI-SP (Configuracion).pdf
Subject: label que tendr el atributo en el formulario.
Control Type: se selecciona el tipo de control que tendr el atributo en el formulario.
El tipo de control disponible se define de acuerdo a la siguiente tabla:

SI EL TIPO DE DATO DE ATRIBUTO ES: LOS TIPOS DE CONTROL DISPONIBLES SON:

BOOLEAN CHECK

INTEGER, LONG, AUTONUMBER NUMBER

SINGLE, DOUBLE NUMBER, CALCULATOR

TEXT TEXT

DATE DATE

TIME TIME

DATETIME, TIMESTAMP DATE, DATETIME

NUMTEXT STRING

SI EL TIPO DE ATRIBUTO Y EL TIPO DE DATO ES: LOS TIPOS DE CONTROL DISPONIBLES SON:
SI EL DATATYPE ES CHAR Y ATTRIBTYPE ES VIRTUAL O STRING, LIST, NUMTEXT, FILELINK, FILEDOWN, COMBO,
REAL HYPERLINK
SI EL DATATYPE ES CHAR Y ATTRIBTYPE ES RELATION STRING, COMBO

SI EL DATATYPE ES CHAR Y ATTRIBTYPE ES VISUAL STRING

Los tem Active, Visible, Limit To List son propiedades que tendr el atributo en el formulario. ej.
Activo, Visible. (tildar la que desee habilitar).
- Active: indica si el atributo va a estar activo en el formulario.
- Visible: indica si el atributo va a estar visible en el formulario.
- Limit To List: esta opcin limita los valores del combo, es decir, los nicos valores que podr
contener, son los correspondientes a esta lista cargada en la solapa Form.

Al estar tildado el check Limit to list indica que no se puede agregar ningn valor
diferente al combo, cosa que podra realizarse por ejemplo con un mtodo.

-
-
FlexABSCI: Manual de Configurador 66
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Valor a ingresar a la lista.

Clic en botn para ingresar el valor a la lista.

Lista que contiene los valores que aceptar el combo. Si est tildada la opcin Limit to
List, los valores de esta lista sern los nicos valores posibles.

Funcionamiento de la opcin Limit To List, en combinacin con la opcin ALLOWS NULL para un
control de tipo Combo

Limit To List
SI: Antes de guardar, verifica que el dato est en la lista
NO: Al guardar, no chequea el valor contra la lista

ALLOWS NULL
SI: Agrega a la lista de valores un NULL
NO: No agrega a la lista de valores el NULL

Entonces, tenemos las siguientes opciones:

+
LIMIT TO LIST = SI + ALLOW NULLS = SI: La lista se forma por valores + nulo y se controla
que el valor ingresado est en la lista al guardar.
Al crear un objeto nuevo, se pone al atributo el
valor default (si tiene) o el nulo.
+
LIMIT TO LIST =SI + ALLOW NULLS = NO: La lista se forma por valores y no se agrega el
nulo. Al momento de guardar, se controla que el
valor pertenezca a la lista.
Al crear un objeto nuevo, se pone al atributo el
valor default o el primer valor de la lista.
+
LIMIT TO LIST = NO + ALLOW NULLS = SI: La lista se forma por valores + nulo y al momento
de guardar, no se verifica que el valor est en la
lista.
Al crear un objeto nuevo, se pone al atributo el
valor default o el nulo.
+
LIMIT TO LIST = NO + ALLOW NULLS = NO: La lista se forma por valores y no se agrega el
nulo. Adems, al momento de guardar, no se
controla que el valor pertenezca a la lista.
Al crear un objeto nuevo, se pone al atributo el
valor default o el primer valor de la lista.

FlexABSCI: Manual de Configurador 67


v62 207-SCI-SP (Configuracion).pdf
List Column: es el nmero de orden que aparece el atributo, en la seccin Objeto de la Interfaz
Estndar FlexAB-SUI.

Value: se activa nicamente en caso de seleccionar un Tipo de Control List o Combo, para llenar los
valores de la lista, entonces, para agregar un valor se hace clic en el botn Add, y para quitar valores,
hacer clic en el botn Remove.

Mask: ingresar la mscara que tendr el atributo en el formulario, solo si es necesario.

Las mscaras de controles string en FlexAB se utilizan de la siguiente manera:

Todas de longitud fija 1 (1 carcter)

CARACTER EFECTO DE MASCARA

* PERMITE UN CARCTER DE CUALQUIER TIPO.

# PERMITE UN CARCTER DE TIPO NUMRICO

A PERMITE UN CARCTER DE TIPO LETRA.

? PERMITE UN CARCTER SMBOLO

Estos caracteres son los nicos que tienen efecto en el campo Mask de la configuracin del atributo.

Validate Rule: ingresar la regla de validacin que tendr el atributo en el formulario, solo si es
necesario. Es el campo en el cual se puede validar un atributo de una clase. Solo se permiten simples
reglas de validacin, para ingresar el contenido de una regla debemos tener en cuenta que no se podrn
utilizar cualquier smbolo, solo los siguientes. Se puede utilizar el operador & (AND).

Las alternativas de Validate Rule son las siguientes:

1. =15
=PEPE
2. <>30
<>PEPE
<>30 & <>45
<>PEPE & <>JUAN
3. >15
>JUAN
>15 & <30
>JUAN & <PEPE
4. <30
<PEPE
>15 & <30
>JUAN & <PEPE
5. >=15
>=PEPE
>=15 & <=30
>=JUAN & <=PEPE
6. <=30
<=PEPE
FlexABSCI: Manual de Configurador 68
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
>=15 & <=30
>=JUAN & <=PEPE
7. BEGINS WITH PEPE
BEGINS WITH PEPE & ENDS WITH RULO
8. DOES NOT BEGIN WITH PEPE
9. ENDS WITH PEPE
10. DOES NOT END WITH CON PEPE
11. CONTAINS PEPE
CONTAINS PEPE & DOES NOT CONTAIN JUAN
12. DOES NOT CONTAIN PEPE

 Argumentos de validate [validateRule, value, valuetype]


13. =
a. Validate("=15, 15, "NUM") VERDADERO
b. Validate("=PEPE, PEPE, "TXT") VERDADERO
14. <>
a. Validate("<>30, 15, "NUM") VERDADERO
b. Validate("<>PEPE, JUAN, "TXT") VERDADERO
15. >
a. Validate(">15, 25, "NUM") VERDADERO
b. Validate(">JUAN, PEPE, "TXT) VERDADERO
16. <
a. Validate("<30, 15, "NUM") VERDADERO
b. Validate("<PEPE, JUAN, "TXT") VERDADERO
17. >=
a. Validate(">=15, 15, "NUM") VERDADERO
b. Validate(">=PEPE, PEPE, "TXT") VERDADERO
18. <=
a. Validate("<=30, 15, "NUM") VERDADERO
b. Validate("<=PEPE, PEPE, "TXT") VERDADERO
19. Comienza con
a. Validate("COMIENZA CON PEPE, PEPERULO, "TXT") VERDADERO
20. No Comienza con
a. Validate("NO COMIENZA CON PEPE, PEPERULO, "TXT") FALSO
21. Termina con
a. Validate("TERMINA CON PEPE, REPEPE, "TXT") VERDADERO
22. No Termina con
a. Validate("NO TERMINA CON PEPE, PEPERULO, "TXT") VERDADERO
23. Contiene
a. Validate("CONTIENE PEPE, PEPERULO, "TXT") VERDADERO
24. No Contiene
a. Validate("NO CONTIENE PEPE, PEPERULO, "TXT") FALSO

Default Value: ingresar el valor por defecto que tendr el atributo en el formulario, solo si es
necesario.
Format: podemos ingresar un formato que para dar a nuestro atributo. De acuerdo al tipo de
Dato, existen distintos formatos que el usuario puede utilizar:

1.- FORMATOS DE FECHA:

a.- Formatos Predefinidos:


- d Muestra el da como un nmero pero eliminando el cero de la izquierda (1-31).
- dd Muestra el da como un nmero de 2 cifras, con el cero a la izquierda (01-31).
- ddd Muestra el da en formato texto abreviado. (Dom-Sab).
- dddd Muestra el da en formato texto completo (Domingo).
FlexABSCI: Manual de Configurador 69
v62 207-SCI-SP (Configuracion).pdf
- ddddd Muestra la fecha como fecha completa (incluyendo el da, el mes y el ao) con el formato de
acuerdo a la configuracin corta del sistema.
- w Muestra el da de la semana como un nmero (1 para Domingo y as sucesivamente hasta 7 para
Sbado.)
- ww Muestra la semana del ao como un nmero (1 54).
- m Muestra el mes como un nmero pero eliminando el cero de la izquierda (1-12).
- mm Muestra el mes como un nmero con el cero de la izquierda(01-12).
- mmm Muestra el mes de manera abreviada (Ene-Dic).
- mmmm Muestra el mes en formato texto completo (Enero).
- y Muestra el da del ao como un nmero.
- yy Muestra el ao como un nmero de dos dgitos (00 99).
- yyyy Muestra el ao como un nmero de 4 dgitos (2006).

Ejemplos de Formatos:

Los siguientes ejemplos los hemos realizado tomando como el valor de fecha al 1 de Enero de 2006.
Los valores en el campo formato se muestran de la forma en que deberan ser ingresados en el campo
Format

Formato Resultado
1-1-1 (el valor del ao 1 porque es el 1 da del ao)
d-m-y

dd-mm-yy 01-01-06

ddd-mm-yy Dom-01-06

2.- FORMATOS DE HORA:

a.- Formatos de Fecha Predefinidos:

- h Muestra la hora en un formato numrico sin ceros a la izquierda. (EJ.: 1:25:26 ).


- hh Muestra la hora en un formato numrico con un cero a la izquierda y en formato de 12 horas.
(EJ.: 01:25:26).
- m Muestra los minutos en un formato numrico sin un cero a la izquierda (EJ.: 12:5:23).
- mm Muestra los minutos en un formato numrico con un cero a la izquierda (EJ.: 12:05:23).
- s Muestra los segundos en un formato numrico sin un cero a la izquierda (EJ.: 12:12:2).
- ss Muestra los segundos en un formato numrico con un cero a la izquierda (EJ.: 12:12:02)

Ejemplos de Formatos:

Los siguientes ejemplos los hemos realizado tomando como la hora 01:02:04. Los valores en el campo
formato se muestran de la forma en que deberan ser ingresados en el campo

Formato Resultado

hh:mm:ss 01:02:04

h:m:s 1:2:4

FlexABSCI: Manual de Configurador 70


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Ejemplos de Controles

COMBO DROPDOWN

El control Combo DropDown , es un control que mostrar todos los valores que los objetos de la clase
tienen guardados en ese atributo.

Botn Add Option, para ingresar un nuevo valor al combo, distinto de los que contiene.

La idea de este control, es listar los valores ya guardados, y si no existe el valor que buscamos, poder
agregarlo. No es posible agregar un valor existente en el combo.

Ejemplo
Existen en nuestra aplicacin tres objetos donde el atributo Name (que usa el Combo DropDown),
contiene los valores John en uno, William en otro y Robert en el tercero de los objetos. Al crear el
cuarto objeto, el combo tendr cargados en su lista los valores John, William y Robert, tal cual se
muestra en la figura.

HIPERLINK

El control Hyperlink , permite navegar a la URL indicada, presionando Ctrl + Click sobre la casilla de texto

Nota: Es necesario que la URL ingresada contenga el prefijo de Protocolo de Transferencia de Hipertexto
http://

Solapa Message: (ver Figura 25) se ingresan los mensajes que aparecern en caso de no cumplirse con
las reglas de validacin del atributo. Estos mensajes pueden configurarse de acuerdo al idioma, es decir, si
el usuario tiene configurado su idioma en Portugus, los mensajes de error que veremos son aquellos que
figuran en Portugus.

FlexABSCI: Manual de Configurador 71


v62 207-SCI-SP (Configuracion).pdf
Figura 25: Ventana de atributos Attribute Solapa Message.

Solapa Virtual: Esta solapa, aparece solamente cuando el atributo que se est editando es un atributo
de tipo Virtual. En la misma, se eligen las clases que tendr asociadas el atributo.

Solapa Extensions: Esta solapa, aparece solamente cuando el atributo que se est editando es un
atributo de tipo Filelink. En la misma, se indican las extensiones de los archivos que aceptar el filelink.
FlexABSCI: Manual de Configurador 72
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Para aceptar cualquier tipo de archivo, se debe indicar *.*

Atributos de Tipo Relation

En ciertos casos es necesario crear un atributo de tipo RELATION, como por ejemplo cuando necesitamos
recuperar informacin que se encuentra en atributos de otras clases. Pensemos en una clase, que para un
determinado atributo necesita datos de otra clase. Para el ejemplo con el que nos encontramos trabajando,
la clase TAREAS tiene un atributo de tipo RELATION, denominado Responsable, mediante el cual
podemos obtener de la clase USUARIOS, los nombres de aquellas personas que pueden encargarse de
realizar la Tarea, y luego seleccionar una de ellas.
En este caso particular, debern ser usuarios que correspondan al grupo Developer

Para crear un atributo de tipo Relation, debemos especificar Type de tipo RELATION y Data Type de tipo
CHAR(250)
Estos atributos tienen la caracterstica de tener asociadas dos consultas SQL que nos permiten traer
informacin desde otros atributos en otras clases.

Entonces definimos el atributo de la siguiente manera:

FlexABSCI: Manual de Configurador 73


v62 207-SCI-SP (Configuracion).pdf
Figura 26: Atributo de tipo RELATION

Primer consulta: Schema. Genera la vista y no puede contener XQL

Segunda consulta: Data. Puede contener XQL, y es la que realiza la seleccin los datos.

Integrity Control: Integridad referencial con los objetos del universo. Si se utiliza una base de datos
externa, no se debe tildar la opcin, porque no se realiza el control.

La primer consulta asociada se debe realizar sobre el campo Schema


Esta primer consulta tiene como fin crear una vista, y dicha consulta no puede contener sentencias
XQL.

Para agregar la primer consulta asociada al atributo de tipo Relation, se debe hacer clic sobre y se
abrir la ventana del Editor de FQL. Haciendo clic sobre el botn New se procede a crear la sentencia
FQL.

En esta ventana se encuentran los datos necesarios para construir la primer consulta FQL asociada.

FlexABSCI: Manual de Configurador 74


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
La primer solapa del Editor FQL es la solapa Info, all introducimos los datos referentes a la identificacin
de la consulta.

Figura 27: FQL Editor

Name: es el nombre con el que se referenciar a la consulta.

Luego se debe completar las dems solapas del Editor para crear la sentencia FQL.
(Ver FQL Editor)
La primer consulta FQL a realizar correspondiente al campo Schema.

FlexABSCI: Manual de Configurador 75


v62 207-SCI-SP (Configuracion).pdf
Select "dbo"."classUSUARIOS".idInternal,
"dbo"."classUSUARIOS".idApplication,
"dbo"."classUSUARIOS".Nombre As Value
From "dbo"."classUSUARIOS"
Where "dbo"."classUSUARIOS".idgroup = 'Developer'

El formato de la proyeccin de la primer consulta debe ser el siguiente:

SELECT idInternal, idApplication, atributo AS VALUE


FROM classNOMBRECLASE

Donde el campo que estar visible al usuario (Ver la vista en FlexAB-SUI) ser el que se le asigna VALUE,
en nuestro caso el campo Nombre. Estos campos son obligatorios, y luego se podrn agregar ms
campos de la tabla en caso de necesitarlo.

En caso de referenciar una clase que se encuentre en otra aplicacin, el campo idApplication debe ser 0.
Por lo tanto con la referencia 0 se indica que la clase corresponde a otra aplicacin, tal como se indica en el
ejemplo siguiente

SELECT idInternal, 0 as idApplication, [atributo|,atributo] AS VALUE


FROM classNOMBRECLASE

Para los atributos Relation, en la solapa FORM podemos setear el Control Type eligiendo un control de
tipo Combo donde se mostrar un listado de todos los valores obtenidos para el campo, o String, donde
accederemos a una tabla para seleccionar el valor que sea adecuado.

FlexABSCI: Manual de Configurador 76


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Si se elige un control de tipo String, el aspecto del mismo en la Interfaz Estndar de Usuario FlexAB-SUI
ser el siguiente

Al hacer clic sobre el botn Find, se despliega la ventana Relation Selection

Con el botn Open, se pone en edicin el objeto que muestra el Relation

Nota: La potencia de un atributo relation con un control de tipo String, radica en que al realizar una
consulta, el filtrado de los datos lo realiza por cualquiera de los campos que presenta.

FlexABSCI: Manual de Configurador 77


v62 207-SCI-SP (Configuracion).pdf
Figura 28: Ventana Relation Selection

Valores que devuelve el campo con alias VALUE, en este caso classUSUARIOS.Nombre

La segunda consulta, correspondiente al campo Data, en caso de ser necesario puede contener XQL.

Ejemplo
SELECT idInternal, idApplication, atributo AS VALUE
FROM classNOMBRECLASE
WHERE Campo1= condicion1, CampoN= condicionN

Donde condicion puede ser una sentencia XQL, o valores comunes de seleccin.

A continuacin se ejemplifica la segunda consulta realizada

FlexABSCI: Manual de Configurador 78


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Los usuarios que nos interesa que devuelva la consulta, son aquellos que pertenezcan al grupo
Developer.

Figura 29: Ventana del Editor FQL

Como podemos observar, en esta segunda consulta los datos pedidos son los mismos que en la primera,
porque para este ejemplo son suficientes.

FlexABSCI: Manual de Configurador 79


v62 207-SCI-SP (Configuracion).pdf
Select "dbo"."classUSUARIOS".idInternal,
"dbo"."classUSUARIOS".idApplication,
"dbo"."classUSUARIOS".Nombre As Value
From "dbo"."classUSUARIOS"
Where "dbo"."classUSUARIOS".idgroup = 'Developer'

Vista de los usuarios existentes con sus respectivos grupos de pertenencia en la Interfaz Estndar de
Usuario (FlexAB-SUI).

Como podemos observar en la Tarea que se encuentra en edicin, dentro del combo del atributo
Responsable, aparecen aquellos usuarios cuyo grupo es Developer.
En este caso ejemplificamos el campo Relation Responsable con un control de tipo Combo

Figura 30: Vista del atributo Relation en un control Combo

Nota: En la tabla correspondiente a la clase que contiene a los atributos de tipo relation (attTareas en
este caso) por cada uno de estos atributos se crea un campo. Este campo contiene el IdInternal del objeto
al que apunta el atributo Relation. En el caso del ejemplo, se crearon dos nuevos campos en la tabla
attTareas: ID RESPONSABLE e ID VERSION.

FlexABSCI: Manual de Configurador 80


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Atributos de Tipo Virtual

(Para mayor detalle ver la Guia Tecnolgica de FlexAB, 101-TEG-SP (Guia Tecnologica).pdf)

Este tipo de atributo est asociado a otras clases. Este atributo cambia de valor dependiendo de la
informacin que se graba en otras clases del Universo, en las clases asociadas.

Cuando un objeto de estas clases asociadas se graba, se produce el cambio en el atributo virtual.

Cada clase asociada, puede actualizar todos los objetos de la clase que posee el atributo virtual, o
solamente el objeto correspondiente al IdInternal del atributo relation que posee esta clase asociada.

Si en la columna Virtual Attribute se coloca un * (asterisco), se actualizarn todos los objetos de la


clase que contenga el atributo virtual.

Si en la columna Virtual Attribute se indica un determinado atributo (debe ser de tipo Relation), ese
atributo posee internamente la informacin del objeto cuyo atributo virtual se debe actualizar. Esto es as,
porque el atributo de la clase asociada, por ser de tipo Relation, tiene esta cualidad.

El valor del atributo virtual queda guardado en la base de datos, pero es el resultado de un clculo.

Este valor Virtual, hace que el formulario de edicin contenga una solapa ms llamada Virtual desde
donde se eligen las clases asociadas al atributo virtual (Virtual Class), y los atributos Relation (Virtual
Attribute).

Clase asociada
FlexABSCI: Manual de Configurador 81
v62 207-SCI-SP (Configuracion).pdf
Atributo Relation de la clase elegida.

Nota 1: Los atributos virtuales no disparan eventos, por lo que no podrn utilizarse por ejemplo en un
evento FieldChange para utilizar mtodos.

Nota 2: El FQL del atributo virtual, debe contener obligatoriamente los campos IdInternal y Value, y no
puede contener expresiones XQL.

Ejemplo

En este ejemplo tenemos 2 clases: CLIENTE y VENTA.


Nos interesa saber para cada cliente, la cantidad acumulada de mercadera que lleva comprada.

Debemos crear entonces en la clase CLIENTE un atributo virtual, y debemos asociar la clase VENTA y un
atributo Relation de la misma.

Creamos en la clase CLIENTE, un atributo virtual llamado CantComprada, que informar la cantidad total
de mercadera comprada por el cliente.

Debemos crear el FQL

SELECT classVENTA.[ID Cliente] AS idInternal,


SUM(dbo.classVENTA.Importe) AS VALUE
FROM dbo.classVENTA
GROUP BY dbo.classVENTA.[ID Cliente]

El FQL devuelve la suma de las ventas agrupadas por cliente. El sistema se encarga de filtrar por el cliente
correspondiente, ya que cuenta con su IdInternal (campo ID Cliente) generado por el atributo Relation
CodCliente en la clase VENTA.

En la clase VENTA, creamos un atributo Relation llamado CodCliente, donde indica el cliente al cual se
realiza la venta.

Cuando un objeto de la clase VENTA se grabe, el cliente elegido en el campo CodCliente tendr un
cambio en su atributo CantComprada, sumando la cantidad de mercadera de la venta actual.

En este caso se debe indicar en la columna Virtual Class la clase VENTA, y en la columna
Virtual Attribute, el atributo CodCliente.

FlexABSCI: Manual de Configurador 82


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Atributo virtual

Atributo Relation, que apunta al cliente al cual se realiza la venta

FlexABSCI: Manual de Configurador 83


v62 207-SCI-SP (Configuracion).pdf
Atributos de Tipo FileLink

Un atributo de tipo FileLink, permite incorporar un archivo al objeto. Este archivo, se guardar junto con el
objeto, y el usuario podr acceder a dicho archivo, solamente desde el sistema a travs del objeto.
El archivo ser removido de su ubicacin original, y se enviar al FileServer.

A este tipo de atributo, se le puede indicar que tipos de archivo puede aceptar.
Por ejemplo si se trata de un atributo destinado a contener informes, se le puede indicar que solamente
acepte archivos que posean la extensin .doc.

Agregar extensin de archivo permitido

Quitar extensin

Desde la Interfaz de Usuario FlexAB-SUI, el funcionamiento del atributo es sencillo. Se debe presionar el
botn Browse y ste desplegar una pantalla de Windows que permitir seleccionar el archivo que se desea
incorporar.
A continuacin, se visualiza el aspecto del atributo en el formulario de Edicin de Objetos (FlexAB-SUI)

Abre el archivo contenido en el FileLink

Despliega la ventana para subir un archivo al atributo. Nos advierte el sistema, que el archivo
ser removido de su ubicacin y ser enviado al servidor como en la Figura 31

FlexABSCI: Manual de Configurador 84


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Permite copiar un archivo contenido en el FileLink y luego pegarlo en otro FileLink

Permite pegar un archivo previamente copiado desde otro atributo FileLink

Permite eliminar el archivo contenido en el FileLink

Tamao en bytes, y extensin del archivo contenido en el


FileLink

Inmediatamente de presionar el botn Browse, se despliega un cartel que advierte que el archivo
seleccionado ser quitado de su ubicacin original y enviado al servidor (FileServer). Si se est trabajando
desde la WUI (Web User Interface), el archivo no se quita de su ubicacin original.

Figura 31: Mensaje del atributo FileLink

Luego, se despliega la pantalla de Windows para ubicar el archivo deseado. En el caso de haber indicado
extensiones de archivos que se permiten para el atributo, se mostrarn solo los archivos con dichas
extensiones.

FlexABSCI: Manual de Configurador 85


v62 207-SCI-SP (Configuracion).pdf
Figura 32: Seleccin del archivo para subir al FileLink

Al seleccionar el archivo, el mismo ya queda incorporado en el control.

De esta manera, cuando el objeto se grabe, el archivo contenido en el atributo FileLink ser subido al
FileServer.

Luego, si queremos trabajar con l, simplemente haciendo clic sobre el botn Open, se abrir y podremos
utilizarlo.

En el caso de la figura, se abrira el archivo Marzo.doc que es un archivo de Word.

Con este mecanismo, lo que estamos haciendo es bajar una copia del archivo original que se encuentra en
el FileServer, a nuestro directorio temporal.
Despus de trabajar y de realizar los cambios correspondientes, se debe grabar el archivo, y luego grabar
el objeto. De esta manera, se tomarn los cambios realizados, y se subir al FileServer el archivo con las
nuevas modificaciones.

En el caso de grabar el archivo y no grabar el objeto, quedar en el directorio temporal un archivo con los
datos grabados, pero el archivo contenido en el atributo del objeto (el original que est en el servidor), no
tendr los cambios, debido a que no se sube al FileServer el archivo modificado, al no haberse grabado el
objeto.

Nota: La segunda vez que se graba un objeto que tiene uno o varios atributos FileLink, el sistema busca
en el directorio temporal, archivos que pudieran tener igual nombre pero distinta extensin que el del
archivo contenido en el FileLink (con la nomenclatura que le impone el sistema). Si encuentra archivos que
cumplan esa condicin, sern subidos al FileServer junto con el archivo original.

FlexABSCI: Manual de Configurador 86


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Atributos de Tipo Filedown

En ciertos casos es necesario enviar hacia otro sector de la empresa, o algn otro lugar, los archivos de
informacin que tiene nuestra aplicacin (ver Atributos FileLink). Debido a que los mismos se encuentran
resguardados por el FileServer, no podemos acceder directamente a ellos. La manera de obtenerlos es a
travs de un atributo FileDown. Dicho atributo, trabaja por medio de una consulta FQL, que obtiene los
archivos que se le indiquen. Luego el usuario, ve presentados en una lista dichos archivos y selecciona los
que necesita.

Nota: Estos archivos, pueden estar revisionados o no estarlo. En versiones anteriores del producto, era
necesario que estuvieran revisionados.

Nota: El List Column de un atributo Filedown debe ser 0.

A continuacin, se ve el aspecto del atributo en el formulario de Edicin de Objetos (FlexAB-SUI).

Presionando el botn , se la ventana de File Download

Figura 33: Ventana presentada al usuario para elegir los archivos del FileDown

Archivos con nombre codificado segn la consulta SQL.

Seleccionar tildando la casilla

FlexABSCI: Manual de Configurador 87


v62 207-SCI-SP (Configuracion).pdf
Aceptar la seleccin

Cada vez que se grabe el objeto que contiene al atributo FileDown y se hayan seleccionado archivos
dentro del atributo, se crear un archivo ZIP (comprimido) conteniendo los archivos elegidos.

Presionando el botn , se despliega el cuadro de dilogo Guardar, donde debemos elegir


el directorio destino y el nombre del archivo comprimido que crearemos.

Figura 34: Ventana para guardar el FileDown

De esta manera, el usuario podr grabar los archivos y transportarlos, enviarlos por email, o darles el uso
que sea necesario.

La consulta FQL de los FileDown debe tener obligatoriamente el siguiente formato :


- IDINTERNAL
- IDAPPLICATION (se filtran para la aplicacin actual)
- VERSION
- IDATTRIBUTE (nombre del atributo Filelink entre comillas simples )
- VALUE (el valor utilizado para visualizar lo que deseemos)
- Cualquier otra cosa que tengamos ganas de visualizar

FlexABSCI: Manual de Configurador 88


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Ejemplo de una consulta de FileDown

SELECT classdocumento.idInternal,
classdocumento.idApplication,
'' as VERSION,
'Archivo' as IdAttribute,
REPLACE(classdocumento.NomReal,'.','_') + '
(' + RTRIM(classdocumento.Descripcion) + ')' AS VALUE
FROM classdocumento
INNER JOIN class_OBJECTfather1
ON classdocumento.idInternal = class_OBJECTfather1.idChild
INNER JOIN class_OBJECTfather1 class_OBJECTfather1_1
ON class_OBJECTfather1.idFather = class_OBJECTfather1_1.idChild

FlexABSCI: Manual de Configurador 89


v62 207-SCI-SP (Configuracion).pdf
Atributos de Tipo Visual

Los atributos visuales, se cargan desde un mtodo Operation; muestran por ejemplo el resultado de un
clculo.

No se almacenan en la base de datos.

Este tipo de atributo, solo tiene un valor asignado, en el XML del objeto.

Estos atributos se manejan a travs de mtodos. Por lo tanto, los valores se le asignan por mtodos. Un
mtodo Operation asociado a un evento cualquiera, puede cargarle algn valor al atributo.

Es muy comn en la prctica, mostrar al usuario un atributo visual, y antes de la grabacin del objeto, en el
evento BeforeSave de la clase, por medio de un mtodo asignar el valor de dicho atributo a un atributo
comn y de esa forma grabarlo en la base de datos.

El valor de un atributo visual, es asignado por medio de un mtodo, no desde el Editor de Atributos

FlexABSCI: Manual de Configurador 90


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Validacin de datos

Todas las validaciones tienen la misma mecnica en FlexAB-SCI. El panel Error Messages es el indicador
de los errores de cada carga de datos.

Al terminar la carga de datos y presionar el botn OK se produce la validacin de los datos


ingresados.

Cuando se detecta algn error de carga o dato faltante, se despliega el panel de Error Messages.
Este panel contiene cada uno de los errores detectados, y haciendo clic sobre el error correspondiente, nos
sita sobre el campo que presenta el error que puede estar dentro de otra solapa.

Figura 35: Panel de Error Messages para la validacin de datos

FlexABSCI: Manual de Configurador 91


v62 207-SCI-SP (Configuracion).pdf
Presionamos OK para grabar

Error: El control Type indica que el atributo no permite valores nulos

Clic sobre la fila del error

Panel Error Messages

El cursor se sita sobre el control que presenta el error

FlexABSCI: Manual de Configurador 92


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Solapa Flow

En esta solapa se administran los estados, la seguridad y los mtodos de la clase.

Los botones agregan items

Los botones eliminan items

Figura 36: Ventana del Editor de Clases, solapa Flow

Estados

Reglas de Seguridad

Mtodos

Botn que despliega panel All Method donde se visualizan todos los mtodos de la clase (Ver
Visualizacin y Orden de Ejecucin de los Mtodos)

FlexABSCI: Manual de Configurador 93


v62 207-SCI-SP (Configuracion).pdf
Estados

Cuando se crea el objeto, el estado del mismo por defecto es INITIAL.

Nota: Las Reglas de Seguridad y los Mtodos definidos para el estado INITIAL, se aplican para
todos los estados. INITIAL funciona como un estado comodn. Esto significa que todo lo
definido en INITIAL se ejecutar en cada estado existente.
El estado INITIAL no puede ser eliminado.

Quien configure tambin tiene la posibilidad de establecer un estado inicial para la clase, diferente a
INITIAL.
En este caso, el estado definido por el configurador, ser el que tome por defecto el objeto cuando sea
nuevo. Si se quiere dar Seguridad o Mtodos para cuando se crea el objeto, esta es la forma de hacerlo.

Para realizar esta configuracin del estado inicial, se debe ir a la solapa Attributes, y dentro del panel
Common Attributes, ingresar al atributo IdState.

En el campo Default Value se debe ingresar el estado en el cual se quiere que los objetos de la clase se
encuentren cuando se crean.

En este caso el estado sera PRIMERO.

En el panel de Estados se vera de forma similar a la figura siguiente

FlexABSCI: Manual de Configurador 94


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Se deben tener algunas consideraciones a la hora de crear un estado inicial por defecto

Este estado no puede tener hermanos. Cuando se muestran las opciones para elegir el
prximo estado del objeto, se muestran hijos del estado actual, por lo que un estado a su nivel,
no sera nunca visible.
Este estado no puede tener una transicin a s mismo. No es posible que uno de los
prximos estados del objeto, sea ste.

FlexABSCI: Manual de Configurador 95


v62 207-SCI-SP (Configuracion).pdf
Agregar un Estado

Para agregar un estado se debe hacer clic con botn derecho sobre el estado padre, opcin New State y
se agregan los estados. Para remover un estado, se debe hacer clic con botn derecho sobre el estado,
opcin Remove.
Se pueden agregar los diferentes estados por los que se desea que pase el objeto, los estados se
encadenan. En este ejemplo, el primer estado que tiene el objeto es INITIAL (por defecto). De ah puede
pasar al estado A FUTURO, ALGUN DIA, PENDIENTE y VER. As tambin del estado ALGUN DIA
puede pasar al estado PENDIENTE, y de ste a los estados CANCELADA, EN PROCESO y VER. As
con el resto de los estados.

Si hay uno o ms estados definidos, cada vez que se edite el objeto y se grabe, obligar a elegir un estado
de los que hay definidos como siguiente al estado actual.
Por ejemplo, un objeto tiene definido el estado ABIERTO. Tiene tambin definidos como estados
siguientes a ABIERTO los estados REVISADO y A REVISAR

INITIAL
-ABIERTO
-REVISADO
-A REVISAR

En este ejemplo, la primera vez que ingrese a editar el objeto, el mismo va a tener el estado INITIAL por
ser nuevo. Cuando quiera grabar el objeto, el estado que va a grabar es ABIERTO, porque el sistema
obliga a grabarlo en el estado siguiente al actual.
Cuando ingrese a editar el objeto nuevamente y grabe nuevos cambios, va a solicitar grabar uno de los dos
estados siguientes, REVISADO o A REVISAR. Y as sucesivamente para los estados que tuviera definido
el objeto.

Supongamos el caso en el que se ingresa a la edicin del objeto, el estado que tiene es ABIERTO y
queremos que quede en ese estado. La opcin para esto es que el estado ABIERTO tenga como hijo en
su configuracin al mismo estado ABIERTO

INITIAL
-ABIERTO
-REVISADO
-A REVISAR
-ABIERTO

Nota: Si el objeto no tuviera definidos ms estados siguientes al actual, el objeto no podr modificarse
ms.

FlexABSCI: Manual de Configurador 96


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Eliminar un Estado

Si un estado B es hijo de otro estado A , A no podr ser eliminado sin eliminar B, si B no tiene un segundo
estado padre, ya que no pueden quedar estados huerfanos.

Si un estado tiene configurados seguridad y/o mtodos, cuando quede el ltimo representante de este
estado en el rbol, se va a tener que borrar todo lo que tiene configurado para que se permita borrar el
estado.

Auditora de Estados

Los estados tienen la posibilidad de seleccionar una de las siguientes auditoras

ALL Se realiza la auditora cada vez que el objeto pasa por el estado. Se crea un
registro diferente cada vez en la tabla de auditora (staNombreClase).
FIRST Se realiza la auditora nicamente la primera vez que se entra al estado.
LAST Se realiza la auditora de la ltima vez que se entra al estado. Se va actualizando el
mismo registro, de manera que quede solamente el dato de la ltima vez.
NONE No se realiza auditora. Si un estado tena configurado que realice auditora, y se
modifica para que ya no lo haga, la auditora hecha no se elimina.

Estado

Tipo de Auditoria

Auditar estado anterior

La Auditora se realiza al momento de GUARDAR, no al momento del FieldChange del Estado.

Si se tilda la opcin de Audit. Prev., se audita tambin el estado previo que tena el objeto.

La Auditora de Estados es til solamente para el usuario configurador. Este usuario puede acceder a la
misma a travs de las tablas que intervienen, que se detallan a continuacin junto con sus campos

FlexABSCI: Manual de Configurador 97


v62 207-SCI-SP (Configuracion).pdf
SysCLASSstate
o IdClass
o IdState
o AuditPrev
o Audit

Si alguna transicin de estado posee auditoria, al generar la clase se crea una tabla con el nombre
compuesto sta + NombreClase
staNombreClase
o IdInternal
o IdUser campo correspondiente al Usuario
o DateAudit campo correspondiente a la fecha de auditoria
o idState campo correspondiente al estado actual
o idPrevState campo correspondiente al estado anterior

FlexABSCI: Manual de Configurador 98


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Agregar una Regla de Seguridad a un Estado

Para agregar una regla de seguridad a un estado, debemos seleccionar el estado y luego presionar el botn
Add Security .

Una vez que se haya creado la nueva regla, podemos establecer los parmetros de la misma. Por ejemplo
podemos definir que en el objeto que pertenece a la clase Tarea, cuando se encuentre en el estado A
Futuro, solo tengan control total sobre el objeto, los Administradores del Sistema.

Para ello, primero hacemos clic sobre la columna Access, y aparece la ventana de Access Type Selection,
donde elegimos el tipo de acceso requerido. Por defecto aparece tildado DENY (denegado) y el resto
deshabilitados. Quitando el tilde de DENY se habilitan el resto de los accesos.
(Ver Aplicaciones-Crear,Editar y Borrar Access Type)

En el caso de haber definido un Tipo de Acceso Read, no se podr crear un objeto para la clase Tarea,
no se podr editarlo, etc.

Figura 37: Ventana de seleccin de Access Type

FlexABSCI: Manual de Configurador 99


v62 207-SCI-SP (Configuracion).pdf
Figura 38: Solapa Flow, Add Security

Clic para agregar la nueva regla de seguridad

De acuerdo a estos campos (Access, Class Father, Attribute, Group, Application, User Group) se define el
tipo de acceso. El tipo de acceso va a depender de estos filtros configurados, dependiendo del estado en
que se encuentre la clase, de la Clase Padre (Class Father), del atributo (Attribute), del grupo a que
pertenece la clase (Group), de acuerdo a la Application definida, y al User Group definido.

De acuerdo a lo definido en estos campos de la grilla, va a depender la seguridad de la clase.


(Ver Mtodos Operation; Modificar la Seguridad de un Atributo)

Nota: el permiso Last Version solo admite ser filtrado por UserGroup

Agregar un mtodo al estado

Para agregar un mtodo a un estado, debemos seleccionar el estado y luego presionar el botn Add
Method .

FlexABSCI: Manual de Configurador 100


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 39: Solapa Flow, Add Method

Seleccionar el estado donde ser creado el mtodo

Botn Add Method

Crear el nuevo mtodo en la fila que se agrega en la grilla, haciendo clic sobre la celda Method Id

1) Event
Seleccionar el evento por medio del cual se ejecutar el mtodo de la clase. La lista desplegable muestra
los eventos.

- New: el mtodo se ejecuta cuando se est dando de alta un objeto


- BeforeSave: el mtodo se ejecuta antes de grabar el objeto.
- AfterSave: el mtodo se ejecuta despus de grabar el objeto.
- Edit: el mtodo se ejecutar cuando se edita el objeto.

FlexABSCI: Manual de Configurador 101


v62 207-SCI-SP (Configuracion).pdf
- Delete: el mtodo se ejecutar cuando se elimina el objeto.
- DeleteLink: el mtodo se ejecutar cuando se elimine un link.

- CopyPaste: el mtodo se ejecutar cuando se copia y pega el objeto.


- Cut-Paste: el mtodo se ejecutar cuando se corta y pega el objeto.
- Link-Paste: el mtodo se ejecutar cuando se pega un link.
- Print: el mtodo se ejecutar cuando se enve a imprimir en caso de que el objeto se utiliza en un
reporte.
- FieldChange: el mtodo se ejecutar cuando cambia el valor contenido en el campo indicado en
columna Attribute
Este evento puede ser ejecutado en forma Automtica por FlexAB, o en forma Manual por el
usuario final desde el editor de objetos. Esto se debe configurar en la columna Order.

El fin de la ejecucin Manual, es permitir agilizar la carga de datos en el formulario, sin


tener que esperar refresco de datos por cada Fieldchange que se ejecuta. De esta forma el
usuario puede ingresar la cantidad de datos que necesite, y cuando lo crea necesario
ejecutar los mtodos.

Si fue configurado para Manual, en la barra de herramientas del editor de objetos


aparece el botn de ejecucin del mtodo, como se resalta en la siguiente figura

Si es Manual, para que el mtodo corra deber ocurrir lo siguiente:


Cambiar el valor del campo indicado y

o El usuario presione el botn de ejecucin en la barra del editor de objetos


o Ejecutarse cualquier otro fieldchange en forma automtica o manual
o Grabar el objeto y hubiera mtodos sin ejecutar (marcados)

Nota: al cambiar el valor de un campo que tiene indicado un Fieldchange Manual, en el


objeto queda marcado que est pendiente la ejecucin del mtodo. Puede haber varios
Fieldchange que estn con ejecucin pendiente. Se ejecutarn todos juntos cuando suceda
lo explicado arriba.

- Revisin: el mtodo se ejecutar cuando una revisin pase a estado New, a excepcin de cuando
se crea el objeto, que no corre el mtodo.
- USERevent: seleccionar para utilizar campo User Event
- Lock: el mtodo se ejecutar cuando se bloquea un objeto.
- UNLock: el mtodo se ejecutar cuando se desbloquea un objeto.
- Packing: el mtodo se ejecutar cuando se empaqueta un objeto.
- PackingRestore: el mtodo se ejecutar cuando se desempaqueta un objeto.
FlexABSCI: Manual de Configurador 102
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
- BeforeOpenFile: el mtodo se ejecutar antes de abrir un archivo.
- AfterOpenFile: el mtodo se ejecutar despus de abrir un archivo.
- StateChange: el mtodo se ejecutar al cambiar un estado.

2) User Event
Es un evento que define el usuario. Para ello, debe seleccionar en la columna Event, la opcin USERevent
y luego definir en la columna User Event el nombre del evento. Dicho evento, ser lanzado desde la
FlexAB-SUI (Interfaz de Usuario de FlexAB). Seleccionando el objeto y haciendo clic con el botn derecho,
se despliega un men contextual con la lista de eventos de usuarios definidos. Para lanzar el evento, hacer
clic sobre el mismo.

Ejemplo prctico del evento.


Se define en una determinada clase, un mtodo de tipo Operation (en este caso el mtodo nmero 188) ,
que pone en estado Cerrado el objeto.

En este caso, la idea es seleccionar en la FlexAB-SUI una lista de objetos, y aplicarles a todos el mtodo.

Aplicacin desde la FlexAB-SUI del USERevent Closed State.


En la Figura 39a , se seleccionan una serie de objetos pertenecientes a la clase donde se defini el
USERevent Closed State, y se dispara el mismo.

La accin que se realiza es poner cada objeto en edicin, ejecutarle el mtodo y guardarlo. Si uno de los
objetos estuviera bloqueado, no se ejecutar el mtodo para ese objeto.

El resultado de esta accin ser, que todos los objetos seleccionados pasarn a tener en su atributo Estado,
el valor Cerrado (Close).

FlexABSCI: Manual de Configurador 103


v62 207-SCI-SP (Configuracion).pdf
Figura 39a: Aplicacin desde la FlexAB-SUI

3) Method Id
Activa la ventana del Editor de Mtodos (Method Editor) que permite la creacin y modificacin de los
mtodos. (Ver Editor de Mtodos)

4) Order

Se utiliza para agrupar los mtodos antes y despus de algn proceso importante del evento.

Por ejemplo en el proceso de revisionado.

1- Mtodos PRE de REVISION, pensados para afectar el XML ANTES de bajar los Filelinks del objeto y
cualquier otra modificacin .
2- Mtodos POST de REVISION, pensados para afectar el XML DESPUES de bajar los Filelinks del
objeto y cualquier otra modificacin, justo antes de zippear y subir al File Server.

El caso 1 es utilizado por ejemplo para alterar valores dentro del XML, con mtodos OPE, que luego se
podr utilizar por los mtodos POST. O bien, en casos como cuando se intenta subir un archivo junto con la
revisin. (Caso en el que necesita alterar el FileLink del XML, antes de que el proceso de revisionado
detectara los nombres de archivo).
FlexABSCI: Manual de Configurador 104
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Un ejemplo del caso 2 es el revisionado de un documento, donde se bajan del FileServer todos los FileLinks
del objeto, y luego se modifican con mtodos de EXCEL, WORD, etc.

Otro ejemplo en el caso de Reportes

Existe un Objeto que posee el atributo Titulo en el XML, y tiene el valor Factura
Se corre en Order PRE un mtodo Operation que cambia el Titulo a Remito
Un proceso trae los datos de FQL para el contenido del reporte.
Se corre en Order POST el mtodo para mostrar el Reporte.
El Titulo en el Reporte dir Remito

5) ClassFather
Seleccionar la clase padre.

6) Attribute: si nuestro mtodo tiene el evento FieldChange, es necesario en este punto asociar el
atributo que deber cambiar para que se ejecute el mtodo.

FlexABSCI: Manual de Configurador 105


v62 207-SCI-SP (Configuracion).pdf
7) Group: seleccionar de la lista el grupo.

8) System: seleccionar de la lista el sistema para el cual funcionar el mtodo. Mediante este campo
determinamos cual ser el sistema en el que se ejecutar el mtodo, tambin se puede definir el valor *
(asterisco), lo cual indica que ste mtodo ser utilizado en todos los sistemas.

9) Application: seleccionar de la lista, la aplicacin para la cual funcionar el mtodo . Mediante este
campo determinamos cual ser la aplicacin en la que se ejecutar el mtodo, tambin se puede definir el
valor 0, lo cual indica que ste mtodo ser utilizado por todas las aplicaciones

Los campos Class Father, Attribute, Group, System, Application son filtros, el mtodo se ejecutar
de acuerdo a lo definido en estos campos.

FlexABSCI: Manual de Configurador 106


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Agregar un mtodo existente a un estado

En el ejemplo siguiente, colocamos el mtodo 213 (Method Id = 213) en el estado ALGUN DIA. Para ello,
hacemos clic con botn derecho sobre el mtodo, arrastramos la fila hasta que se seleccione el estado
ALGUN DIA y soltamos.

Figura 40: Solapa Flow, Agregar mtodo a un estado

Arrastrar y soltar sobre el estado

Clic con botn derecho sobre la fila del mtodo


Para eliminar un mtodo, debemos seleccionar el mtodo y luego presionar Delete Method .

Visualizacin y Orden de ejecucin de los mtodos


FlexABSCI: Manual de Configurador 107
v62 207-SCI-SP (Configuracion).pdf
Para visualizar todos los mtodos que posee la clase, se debe hacer clic sobre el botn vertical de la
derecha, que despliega el panel All Methods. En este panel aparecen los mtodos que existen para la
clase.

Utilizando la funcionalidad del Drag and Drop (arrastrar y soltar), podemos en esta grilla definir el orden de
ejecucin de los mtodos.
Por ejemplo si tenemos tres eventos FieldChange, podemos definir cual de los tres se ejecutar primero.

Figura 41: Solapa Flow, All Method

Botn para desplegar el panel All Method

Debemos SELECCIONAR LA FILA DE LA GRILLA (en este caso la fila 9) que se quiere desplazar a otra
ubicacin. Hacer clic sobre la fila elegida y arrastrarla hasta la posicin elegida. Luego soltar el botn del
mouse y quedar el mtodo ordenado en la posicin definida.

Ordenamiento de la ejecucin de mtodos arrastrando y soltando la fila seleccionada.

FlexABSCI: Manual de Configurador 108


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Solapa Identity

Se administran las propiedades de las claves (IdObject) de los objetos de la clase, y los grupos asociados
que tiene la clase.

El IdObject es un identificador nico del objeto dentro de la aplicacin.

Nota : En los prrafos siguientes se utilizarn indistintamente los trminos clave, IdObject y Object ID para
hacer referencia al atributo IdObject.

Figura 42: Ventana de edicin de clases, Solapa Identity

Esta solapa contiene: el cuadro de texto IdObject Sample y los paneles Naming Rules (panel superior)
y Group (panel inferior)

El cuadro de texto IdObject Sample, nos ejemplifica como se va creando el IdObject de la clase, segn
las opciones que se vayan eligiendo en el panel Naming Rules

FlexABSCI: Manual de Configurador 109


v62 207-SCI-SP (Configuracion).pdf
Panel Naming Rules

IdObject
Este panel contiene las propiedades para generar las claves de los objetos de la clase.
Como se mencion anteriormente, la clave del objeto, el IdObject, es un identificador nico dentro de la
aplicacin.

El idObject, se forma de acuerdo a lo que se configura en este panel, como tambin en el panel Group
(Prefix y Postfix).

Botn Add Naming Rule. Agrega una fila

Botn Remove Naming Rule. Quita una fila

Las propiedades que se configuran en este panel son filtros que se usan para generar la clave del objeto.

En el caso de elegir una opcin * (asterisco), estamos indicando que es para todas, sin filtrar por alguna en
particular.

Detalle de las propiedades

TAG AutoKey: esta propiedad permite autogenerar la clave del objeto, en caso de no
utilizarla, se utiliza el valor ingresado en el Tag para integrar la clave (idObject). Para no utilizar
Autokey, elegir la opcin NO

NumUnic: genera un nmero de identificacin, nico para la clase dentro de la aplicacin.


El atributo Tag es el que contiene dicho nmero.

NumFather: genera un nmero de identificacin, nico dentro del padre. El atributo Tag
es el que contiene dicho nmero.
Ejemplo : padre A con cinco hijos, van a tener los nmeros 1, 2, 3, 4, 5
padre B con cuatro hijos, van a tener los nmeros 1, 2, 3, 4

Date: se utiliza para autogenerar la clave del objeto en formato fecha. El atributo Tag del objeto
ser quien contenga la fecha actual
FlexABSCI: Manual de Configurador 110
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
DateTime: utiliza para autogenerar la clave del objeto en un formato fecha y hora. El atributo Tag
del objeto ser el que contenga la fecha y hora actual

Time: se utiliza para autogenerar la clave del objeto en un formato hora. El atributo Tag del objeto
ser el que contenga la hora actual

Nota: cuando se trata de una clase incluida, el Tag debe autogenerarse, porque de otra
manera, como el Tag no es visible al usuario, quedara nulo y no se guardara.

Father Key: esta propiedad permite agregar al IdObject del objeto, un atributo del objeto
padre.

Father Ahead: esta propiedad permite agregar en la parte de adelante el Father Attribute.

Father Attribute: en caso de agregar la Father Key (atributo del objeto padre) se debe
seleccionar el atributo del padre que desea. Estos atributos pueden ser: el Tag, idObject y
idInternal.

Father Separator: permite seleccionar de la lista el caracter que ser delimitador entre el
Father Attribute y Tag del objeto.

Father Level: se utiliza para seleccionar el nivel de padre al que se refiere. Por ejemplo: 1 es
padre, 2 es abuelo, 3 es bisabuelo, etc.

FlexABSCI: Manual de Configurador 111


v62 207-SCI-SP (Configuracion).pdf
Ejemplo:

Class Father: filtra por la clase padre. En caso de ingresar un * (asterisco) significa que la
configuracin ser para todas las clases padres

Group: filtra por grupo. En caso de ingresar un * (asterisco) significa que la configuracin ser
para todos los grupos

System: filtra por sistema. En caso de ingresar un * (asterisco) significa que la configuracin
ser para todos los sistemas

Application: filtra por aplicacin. En caso de ingresar un 0 (cero) significa que la configuracin
ser para todas las aplicaciones

En el siguiente ejemplo se expone la visualizacin en el Editor de objetos de la Interfaz de Usuario


(FlexAB-SUI), en la cual tenemos un objeto que tiene la siguiente configuracin del idObject en el
panel de Naming Rules del FlexAB-SCI
FlexABSCI: Manual de Configurador 112
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
TAG Autokey = NO
El Tag no ser generado automticamente, deber ser ingresado.
Father Key = Verdadero
Tomar el valor de un atributo de la clase padre para formar el IdObject
Father Ahead = Verdadero
Pondr el valor de la clase padre delante del Tag
Father Attribute = Tag
El atributo de la clase padre elegido como valor ser el Tag
Father Separador = /
El separador entre el Tag del padre (valor elegido) y el Tag propio ser /
Father Level = 1
El nivel de padre elegido es el 1. El nodo padre inmediato. Si se elige por ejemplo
el 2, sera el abuelo de la clase
Class Father = *
Para todas las clases padre
Group = *
Para todos los grupos
System = *
Para todos los sistemas
Application = 0
Para todas las aplicaciones

Figura 43: Ejemplo de IdObject en el Editor de Objetos de FlexAB-SUI

ShortName del Objeto

Tag del Padre

Tag del Objeto

Tag del Objeto

Father Separator (/)

Entonces, la clave IdObject se formar de la siguiente manera segn las opciones seleccionadas y
teniendo en cuenta en cada caso que se incorpora en todos los casos el ShortName (NNN): el identificador
por aplicacin de tres letras. Podr encontrarlo en la solapa Class.

Nota: Cuando nos referimos a TAG Autokey nos referimos a cualquiera de las opciones posibles de TAG
Autokey: NUMUNIC, NUMFATHER, DATE, DATETIME, TIME.

FlexABSCI: Manual de Configurador 113


v62 207-SCI-SP (Configuracion).pdf
Caso 1
- En caso, de no seleccionar TAG Autokey, entonces se usa el TAG. Por lo tango la clave IdObject,
quedar formada como se muestra en la parte izquierda de la tabla (NNN) TAG.
- En caso, de seleccionar TAG Autokey, se autogenera la clave IdObject, por lo tanto quedar
formada como se muestra en la parte derecha de la tabla.

Ejemplo 1 de Creacin de idObject:

Figura 44: Ventana de edicin de clases. Solapa Identity, Panel Naming Rules

Para el idObject de esta clase, se definen las propiedades que se pueden observar en la figura superior:

TAG AutoKey = NO
Father Key
Father Ahead
FlexABSCI: Manual de Configurador 114
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Father Separator = /
Father Level = 1

Al no estar seleccionada la opcin TAG AutoKey, no se va a autogenerar la clave del objeto, por lo tanto se
usar el TAG.

La opcin Father Key permite agregar al idObject, el idObject (clave del objeto) del padre. Al seleccionar
Father Key, se debe seleccionar el atributo que se desea del padre (Father Attribute), en este caso
idObject.
La opcin Father Ahead coloca el atributo seleccionado del padre en la parte delantera.
La opcin Father Level = 1 indica que tomar los datos del padre inmediato en la jerarqua.

Ejemplo 1 de idObject

Ejemplo 2 de Creacin de idObject:

Para el idObject de esta clase, se definen las propiedades que se pueden observar en la figura superior:

TAG AutoKey = NO
Father Key
Father Ahead

En este caso, el IdObject se forma solo con el TAG y el ShortName del Objeto.

Ejemplo 2 de idObject

FlexABSCI: Manual de Configurador 115


v62 207-SCI-SP (Configuracion).pdf
Panel Group

El panel Group (inferior) contiene los grupos asociados que tiene la clase. Se pueden agregar grupos a la
clase con el botn Add Group . Al hacer clic en el botn Add Group se habilita una fila para
completar los campos necesarios, que se detallan a continuacin:
IdGroup: ingresar el identificador del Grupo.
Por Ejemplo:
En la figura podemos observar que la clase que se est creando, especficamente con el CLASS NAME:
USUARIO tiene tres grupos creados:
- Interno
- Externo
- Invitado

Figura 45: Ventana de edicin de clases. Solapa Identity, Panel Group

El Botn Add Group habilita una fila para agregar un grupo

Seleccionar el grupo que se desea eliminar y apretar el botn Remove Group

Al dar de alta objetos de la clase USUARIO en el FlexAB-SUI de acuerdo a los grupos definidos en el
FlexAB-SCI, podremos seleccionar a que grupo va a pertenecer el objeto creado, especficamente para este
ejemplo, al dar de alta un USUARIO, podemos seleccionar a que grupo pertenece: Interno, Externo,
Invitado.

Figura 46: Seleccin del grupo en el editor de objetos de la Interfaz Estndar FlexAB-SUI.

FlexABSCI: Manual de Configurador 116


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
PreFix: ingresar un prefijo para que preceda al nombre. Este prefijo, ser parte del Object ID del
objeto.

Figura 47: Ejemplo de IdObject con prefijo

En este ejemplo, el Object ID se forma de:

Ejemplo de IdObject con prefijo

Start Range: nmero inicial del rango del TAG.


End Range: nmero final del rango del TAG.

Nota:
- el grupo puede tener un lmite, un rango de inicio y final, por ejemplo al ingresar Start Range igual
1 y End Range igual 10, en este caso solo podramos agregar diez objetos de la clase por ese grupo.
- Adems este rango es utilizado para manejar la forma de enumerar los objetos que se crean, por
ejemplo si estoy dando de alta un objeto chequera, limitar que el nmero de la chequera sea del 1 al 100,
del 20 al 50, etc.

mask: a partir de la opcin de configurar grupos tambin podemos desde un grupo considerar
ciertos aspectos del Tag del objeto. Para tal motivo utilizaremos las mscaras. Es decir cuando definimos
un grupo le colocamos una mscara, entonces el objeto que pertenezca a ese grupo tendr un Tag acorde
con el formato de la mscara que hemos ingresado.

FlexABSCI: Manual de Configurador 117


v62 207-SCI-SP (Configuracion).pdf
Las mscaras de controles string en FlexAB se utilizan de la siguiente manera:

o Todas de longitud fija 1 (1 carcter)

CARACTER EFECTO DE MASCARA

* PERMITE UN CARCTER DE CUALQUIER TIPO.

# PERMITE UN CARCTER DE TIPO NUMRICO

A PERMITE UN CARCTER ALFABTICO

? PERMITE UN CARCTER DE TIPO SMBOLO


Tabla 21 (a)

Estos caracteres son los nicos que tienen efecto en el campo.

Ejemplo:

Al dar de alta un objeto desde el FlexAB-SUI, en la seccin (Object Definition) Definicin de Objeto,
podemos seleccionar a que grupo va a pertenecer el objeto que se est creando de la clase USUARIO.
Como podemos observar esta clase tiene varios grupos, en este caso el uso de la mscara sera til si
queremos validar que al seleccionar un grupo, solo podamos ingresar en el Tag, caracteres alfanumricos o
solo caracteres numricos, o definir una mscara de acuerdo a lo establecido en la Tabla 21(a).

Se define en el FlexAB-SCI que al seleccionar el Grupo Externo, en el campo Tag, solo permita ingresar 5
caracteres alfanumricos

Figura 48: Definicin de mscara para el grupo Externo

Como vemos en la figura siguiente, el Tag tiene solamente 5 caracteres debido a la mscara definida para
el Grupo Externo.

Figura 49: Tag con 5 caracteres segn la definicin de la mscara del grupo

PostFix: ingresar un posfijo para que proceda al nombre.

Para quitar grupos a la clase se utiliza el botn Remove Group .

FlexABSCI: Manual de Configurador 118


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Solapa Help

En esta solapa se asigna la ayuda a la clase. Para agregar una ayuda ir al botn Add Help , una vez
hecho un clic se agrega una fila en la cual podemos ingresar los datos detallados a continuacin. Para

borrarla se selecciona el botn Remove Help .

Figura 50: Ventana de edicin de clases, solapa Help.

Al hacer clic en Add Help se habilitar una nueva fila.


Las filas que se vayan agregando, aparecern luego en la visualizacin de la ayuda del usuario en el
FlexAB-SUI, como Temas Relacionados .

En la fila se deben ingresar los siguientes campos:

IdHelp: ingresar una nueva ayuda. Haciendo clic en el botn que aparece en el extremo

derecho del campo, pasamos a la ventana del Editor de Help (Help Editor), desde donde se cargar
la ayuda correspondiente .
(Ver Editor de Help)

Subject: ingresar el texto, que corresponde al ttulo principal que aparecer en la ventana del help

FlexABSCI: Manual de Configurador 119


v62 207-SCI-SP (Configuracion).pdf
Figura 51: Solapa Help, campo Subject

Class Father: seleccionar el identificador de la clase padre, indica que este help solo aparecer
cuando se solicite ayuda de la clase si y solo si la clase padre de la clase de la cual se solicita ayuda, es la
correspondiente a este campo. Ej. USUARIO

Figura 52: Solapa Help, campo ClassFather

State: identificador del estado, indica que este help solo aparecer cuando se solicite ayuda de la
clase si y solo si el estado de la clase de la cual se solicita ayuda, es la correspondiente a este campo. (Ej:
INITIAL, PENDIENTE, etc.).

FlexABSCI: Manual de Configurador 120


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 53: Solapa Help, campo State

Group: seleccionar el identificador del grupo, indica que este help solo aparecer cuando se solicite
ayuda de la clase Si y solo Si el Group de la clase de la cual se solicita ayuda, es la correspondiente a este
campo; por ejemplo, esta ayuda aparecer si el objeto pertenece al grupo Externas.

Attribute: seleccionar el identificador del atributo.

FlexABSCI: Manual de Configurador 121


v62 207-SCI-SP (Configuracion).pdf
De acuerdo a estos campos (Class Father, State, Group, Attribute) se define la ayuda, son bsicamente
filtros, el texto de la ayuda, va a depender segn cual sea la Clase Padre, en que Estado se encuentre la
clase, a que Grupo pertenece y del Atributo definido.

Dependiendo de lo que se defina en estos cuatro campos de la solapa Help, se proporciona la ayuda en el
FlexAB-SUI.

FlexABSCI: Manual de Configurador 122


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Solapa Report

En esta solapa se podr definir como se administrarn los reportes pertenecientes a la clase.
Permite generar reportes de la clase. Con el botn Add Report se genera un nuevo reporte de la

clase y se pueden quitar con el botn Remove Report .

Figura 54: Ventana de edicin de clases, Solapa Report

Agregar reporte

Quitar reporte

Para la creacin de un nuevo reporte, luego de agregar uno nuevo con el botn Add Report, debemos
llenar los campos correspondientes.

1) El primer campo que debe llenarse, es Data.


Este campo contiene la sentencia FQL que carga los datos que usa el reporte.
FlexABSCI: Manual de Configurador 123
v62 207-SCI-SP (Configuracion).pdf
Haciendo clic sobre el botn en el extremo derecho de la celda, se abre el Editor FQL (Ver Editor
FQL) que nos permitir generar la consulta necesaria.

Figura 55: Ventana de edicin de clases, solapa Report, campo Data.

2) A continuacin se llena el campo Report.

Figura 56: Ventana de edicin de clases, solapa Report, campo Report.

(Ver Editor de Reportes)

Haciendo clic sobre el botn en el extremo derecho de la celda, directamente accedemos al


Editor de Reportes.
Desde aqu crearemos el reporte, usando obligatoriamente los datos que se definieron en el campo
Data.

Para ello, debemos hacer clic en el botn New Report , y luego clic en el icono de los campos de
la consulta FQL .
Debajo de este icono, en el panel Fields, se listarn los campos que devuelve la consulta FQL. Con
estos campos trabajaremos en la confeccin del reporte desde la solapa Design.

El Editor de reportes cuenta con dos solapas: Design y Preview

En la solapa Design, se crea el reporte, ubicando los campos en las secciones correspondientes, dando
formato a los mismos, etc.

En la solapa Preview, se muestra la vista preliminar del reporte con el resultado de su ejecucin.
FlexABSCI: Manual de Configurador 124
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 57: Editor de Reportes, solapa Design

Clic en botn New Report

Clic en icono para desplegar los campos devueltos del FQL

Nombre del Reporte

Creacin del reporte en la solapa Design

FlexABSCI: Manual de Configurador 125


v62 207-SCI-SP (Configuracion).pdf
Figura 58: Editor de Reportes, solapa Design

Vista preliminar del reporte con los datos devueltos, en la solapa Preview.

FlexABSCI: Manual de Configurador 126


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 59: Vista previa de un reporte.

3) En el campo Description se ingresa un comentario descriptivo del reporte

Figura 60: Solapa Report, campo Description

4) En el campo Class Father debemos seleccionar la clase padre que debe tener la clase actual para
que se ejecute el reporte. Para indicar la opcin Todos (para cualquier clase padre)
seleccionamos el asterisco (*).
5) En el campo State debemos seleccionar el Estado para que se ejecute el reporte.
6) En el campo Group debemos seleccionar el Grupo en el que debe estar el objeto para que se
ejecute el reporte.
7) En el campo System debemos seleccionar el Sistema donde se ejecutar el reporte.
8) En el campo Application debemos seleccionar la Aplicacin. Para indicar la opcin Todas (para
todas las aplicaciones) seleccionamos la opcin 0 (ALL)

FlexABSCI: Manual de Configurador 127


v62 207-SCI-SP (Configuracion).pdf
Luego desde la Interfaz de Usuario (FlexAB-SUI), al seleccionar el objeto de la clase que tiene definido el
reporte (en este caso CLIENTE) podemos elegir cual de los reportes que existen para la clase (en esta caso

uno solo) queremos ver, y al hacer clic sobre el botn Preview de la barra de herramientas, tenemos
la opcin de visualizar el reporte en distintos formatos tal cual lo muestra la figura siguiente

Figura 61: Seleccin del formato de salida del Reporte desde FlexAB-SUI

FlexABSCI: Manual de Configurador 128


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Solapa Includes

Muestra las clases en las que est includa la clase activa. La relacin de inclusin es aquella que
verifica que sus componentes no pueden existir fuera del objeto compuesto (objeto padre). Por ello la clase
includa, no tiene existencia por s misma, sino que es accesoria a su clase contenedora. A una clase
includa, no se la puede acceder directamente, esto solamente lo puede hacer su clase padre. Su principal
caracterstica es que cualquier objeto componente est completamente encapsulado, en el sentido de que
su estado slo puede ser alterado por eventos locales, adecuadamente coordinados con los eventos
proporcionados por la interfaz de la agregacin. En consecuencia, si tenemos una agregacin inclusiva, los
objetos componentes slo podrn ser accedidos a travs del objeto compuesto.
Las clases includas no aparecen en el rbol de la Interfaz de Usuario (FlexAB-SUI).

Para generar relaciones de inclusin con otras clases, hacemos clic en el botn 1 Add Relation con lo

cual se genera una nueva relacin de la clase y se pueden quitar con el botn 2 Remove Relation .

Figura 62: Ventana de edicin de clases, solapa Includes

Para generar una nueva relacin ingresar los siguientes datos:

Figura 63: Ventana de edicin de clases, solapa Includes

- 1. Class Father: seleccionar de la lista desplegable la clase padre en la que se desea incluir a la
clase actual.
- 2. Type: seleccionar de la lista el tipo de relacin, puede ser 1-1 o 1-N. En la relacin 1-1, la clase
padre solo podr contener una clase includa. En la 1-N la clase padre puede tener varias. Tambien aparece
como opcin, ABS, que es para una clase abstracta. (Ver Clases Abstractas)
FlexABSCI: Manual de Configurador 129
v62 207-SCI-SP (Configuracion).pdf
- 3. Minimun Ammount: cantidad de incluidos por defecto que contendr el formulario (editor de
objetos)
- 4. Increment: valor por defecto que mostrar la casilla de agregar incluido
- 5. View Ammount: Cantidad de incluidos que se mostrarn juntos. Si se supera esta cantidad, se
podr desplazar entre los incluidos con una barra de avance y retroceso.
- 6. Allow New: Permite que se puedan agregar includos al objeto padre, poniendo visible el botn
en el editor de objetos
- 7. Allow Delete: Permite que el includo se pueda borrar, poniendo visible el botn Delete en el
editor de objetos.

Nota: una clase includa, puede configurarse como clase padre en una relacin estructural sin que
haya restricciones desde la configuracin. Pero esto sera un error conceptual, dado que las clases
estructurales hijas de la includa no seran visibles y no podran operarse.

Una clase includa puede contener otras clases includas, pero no puede contenerse a si misma como
includa.

Ejemplo:
la clase includa Mesa, puede tener includa a la clase Pata y a la clase Tornillo, pero no puede
tener includa a la clase Mesa.

En el editor de objetos (interfaz de usuario) se ver de la manera siguiente:

En esta casilla aparece el valor definido en el campo Increment. En el ejemplo es 1. Esto significa,
que al agregar includos presionando el botn , lo har en esa cantidad. El usuario final puede modificar
esta cantidad a mano, para ingresar la cantidad que necesite

Botn de agregar includos. Solo est visible si el campo Allow New est tildado

Dos objetos COPY includos: INC(1) e INC(2). En el campo Minimun Ammount, se indica la
cantidad de incluidos (en este caso objetos COPY) que aparecen por defecto al crear el objeto.

Botn Delete, para borrar el includo. Solo est visible si el campo Allow Delete est tildado. De lo
contrario no podr borrarse el includo.

FlexABSCI: Manual de Configurador 130


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Barra de avance y retroceso de incluidos. Aqu informa que se estn mostrando los incluidos del 3 al
5, y que existen un total de 7 incluidos. Como se observa, se muestran 3 de los 7 incluidos que existen.
Esto es as por lo configurado en el campo View Ammount (Ver figura 63)

Includos visibles

FlexABSCI: Manual de Configurador 131


v62 207-SCI-SP (Configuracion).pdf
Solapa Relations

Muestra las relaciones estructurales de la clase.


La Relacin Estructural difiere de la inclusiva por el hecho de que existe una relacin entre los objetos
de las clases participantes, sin tener una inclusin completa de los objetos componentes en el objeto
compuesto. Los objetos componentes no estn encapsulados en el objeto compuesto (objeto padre) y su
comportamiento es independiente del comportamiento del padre.
Estas clases aparecen en el rbol de la Interfaz de Usuario (FlexAB-SUI) y se pueden operar.

Permite generar relaciones estructurales, relaciones entre la clase actual y la clase padre. Con el botn Add
Relation se genera una nueva relacin estructural y se pueden quitar con el botn Remove

Relation .

Figura 64: Ventana de edicin de clases, solapa Relations

Agregar relacin

Quitar relacin

Para generar una nueva relacin ingresar los siguientes datos:

Type: seleccionar de la lista el tipo de relacin. Esta puede ser: Object, Link, Import Link, All Link y
All.

FlexABSCI: Manual de Configurador 132


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 65: Ventana de edicin de clases, solapa Relations, seleccin de Type

Object: relacin con su padre, es decir, el lugar donde fue creado el objeto de la clase.

En un mismo espacio, una clase no puede tener ms de un tipo de relacin con su clase padre.
Existe solo una relacin Object de la clase con su clase padre en todas las aplicaciones.

Una clase REAL puede participar en ms de una Relacin Estructural (relation type = Object),
o sea que puede tener ms de una clase padre. Por ejemplo la clase Cable puede ser hija de
la clase Tablero y tambin de la clase Consola.

Existe solo una relacin Object por aplicacin, del objeto con su objeto padre.
El resto de las relaciones que pudieran tener ambos son de tipo Link y van en espacios
diferentes.

Link: es un vnculo (un acceso directo al objeto original).

Import Link: acceso directo pero desde otra aplicacin, es decir, el objeto original se
encuentra en otra aplicacin.

All Link: permite tipo de relacin Link o Import Link.

All: permite cualquier tipo de relacin

Name: ingresar el nombre de la relacin, es un string para el anlisis del sistema. Por ej: ES UN,
HIJO DE, ESTA EN, etc.

Ejemplo:

En este ejemplo estamos configurando la clase Tarea. Una de las propiedades que definimos en la solapa
Relations es la clase Padre (Class Father). En este caso observamos que la clase Tarea participa en ms
de una relacin estructural, con distintas clases padre.
Observamos tambin los nombres de algunas relaciones (ESTA EN, PERTENECE A, etc.).
Como se puede observar en el siguiente ejemplo, la clase Tarea tiene relacin estructural de tipo Object
con USUARIO en el espacio 100 y una relacin de tipo Link con USUARIO en el espacio 103. Tambin tiene
una relacin de tipo Object con SUBCARPETA en el espacio 101, y una relacin de tipo Object con
DOCUMENTO en el espacio 101.

FlexABSCI: Manual de Configurador 133


v62 207-SCI-SP (Configuracion).pdf
Figura 66: Solapa Relations, de la clase Tareas

ClassFather: seleccionar el Class Name de la clase padre de la lista desplegable

Figura 67: Seleccin de Class Father

System: seleccionar el identificador del sistema al que pertenece .

Figura 68: Seleccin de System

FlexABSCI: Manual de Configurador 134


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Space: seleccionar el espacio al que pertenece dentro del sistema. Se listarn los espacios que
contenga el sistema seleccionado.

Figura 69: Seleccin de Space

Group Father: seleccionar el grupo al que debe pertenecer el objeto padre para poder generar la
relacin. En caso de que hubiera objetos dentro de un padre con un determinado grupo vlido para la
relacin, y luego el grupo del mismo cambiara a un grupo no vlido para la relacin estructural, los objetos
hijos creados quedarn, pero no se podrn crear nuevos, debido justamente al filtro establecido.

Father State: seleccionar el estado al que debe pertenecer el objeto padre para poder generar la
relacin. En caso de que hubiera objetos dentro de un padre con un determinado estado vlido para la
relacin, y luego el estado del mismo cambiara a un estado no vlido para la relacin estructural, los
objetos hijos creados quedarn, pero no se podrn crear nuevos, debido al filtro establecido

FlexABSCI: Manual de Configurador 135


v62 207-SCI-SP (Configuracion).pdf
Solapa Generate

Esta solapa es la encargada de la configuracin del formulario de Edicin de Objetos. Este es un formulario
HTML, y desde aqu, se realizan operaciones como por ejemplo la de darle formato a los campos, texto e
imgenes que este contenga.

Figura 70: La solapa Generate permite modificar el formulario de edicin de objetos de la clase.

Componentes de la solapa

La solapa generate est compuesta de 4 paneles:


1- Panel de marcas y valores
2- Panel de opciones de formulario
3- Panel de edicin de formulario
4- Panel de vista previa de formulario

Estos paneles permiten controlar la manera en que se visualiza el formulario de edicin de los objetos para
el usuario final.

Panel de marcas y valores

Este panel contendr una serie de constantes de la forma {[V o L]_[identificador]}. Estas marcas permiten
al configurador de la aplicacin FlexAB, conocer e incrustar en cualquier lugar del formulario los distintos
atributos y variables que estn disponibles para el usuario.
Inicialmente (cuando la clase es nueva o si el formulario est en blanco) este panel contiene todas las
marcas disponibles para insertar. Estas son:

FlexABSCI: Manual de Configurador 136


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
1- Una marca de Label y su correspondiente marca de Value por cada atributo common.
2- Una marca de Label y su correspondiente marca de Value por cada atributo especfico de la clase.
3- Marcas y valores adicionales de sistema y datos adicionales que provee FlexAB.

Supongamos una clase VIVIENDA que contenga los atributos AMBIENTES y SUPERFICIE, la lista de marcas
de la clase y su valor en tiempo de ejecucin de la aplicacin FlexAB sera la siguiente:

Atributos Common:
-{L_IDOBJECT}: el subject del identificador nico automtico del objeto para la aplicacin.
-{V_IDOBJECT}: el valor del identificador nico del objeto. Este valor siempre es un string.
-{L_TAG}: el subject del identificador de objeto para el usuario.
-{V_TAG}: el valor del identificador para el usuario respetando el tipo de control configurado.
-{L_IDSTATE}: el subject del atributo estado del objeto.
-{V_IDSTATE}: la lista de posibles estados respetando el tipo de control configurado.
-{L_IDGROUP}: el subject del atributo grupo del objeto.
-{V_IDGROUP}: la lista de posibles grupos respetando el tipo de control configurado.
Atributos especficos:
-{L_AMBIENTES}: el subject configurado y traducido para el atributo ambientes.
-{V_AMBIENTES}: el control configurado para ingreso de valores para el atributo ambientes.
-{L_SUPERFICIE}: el subject configurado y traducido para el atributo superficie.
-{V_SUPERFICIE}: el control configurado para ingreso de valores para el atributo superficie.
Marcas adicionales de FlexAB:
-{V_ACTUALSTATE}: el estado actual en que se encuentra el objeto. Siempre es un string.
-{V_IDCLASS}: el identificador del tipo de objeto que se est editando. Siempre es un string.
-{V_CLASSDESCRIPTION}: La descripcin de usuario, traducida, para el tipo de objeto editado.
-{V_INFOREVISION}: Si est disponible el revisionado para el tipo de objeto, la versin en que
se encuentra.
-{L_IDOBJECTFATHER}: El subject traducido del identificador del objeto padre del editado, para
la aplicacin
-{V_IDOBJECTFATHER}: El valor del identificador del objeto padre para la aplicacin. Siempre
es un string.
-{L_IDCLASSFATHER}: El subject del tipo de objeto correspondiente al objeto padre.
-{V_OBJECTNUMBER}: Si el tipo de objeto es incluido 1-N, es un nmero indicador secuencial
que identifica al objeto dentro de la lista.
-{V_SELECTOR}: Si el tipo de objeto es incluido 1-N, es un checkbox que permite seleccionar el
objeto para realizar operaciones como por ejemplo eliminar una lista de objetos.

Para poder insertar una marca en el formulario de objeto, bastar con arrastrarla con el botn derecho del
Mouse al panel del formulario. Ntese que por motivos de exactitud y la naturaleza de la invisibilidad de
varios elementos de HTML, la marca se incrustar en la ltima posicin donde se hubiera ubicado el cursor
en el formulario, para asegurar que la marca aparece dentro del rea que el usuario deseaba. (Muchas
veces, existen tablas o reas transparentes en las pginas web que dificultan saber con exactitud donde se
ingresa el contenido al hacer un drag & drop).
Tambin es importante mencionar que las marcas pueden seleccionarse de a varias y ser arrastradas en
conjunto. All se incrustarn una junto a la otra en el lugar donde estuviera posicionado el cursor. Para
resumir el procedimiento para incrustar correctamente una marca es:
1 Ubicar el cursor en el lugar donde queremos insertar la marca en el formulario
2 Seleccionar con el botn izquierdo del Mouse la/las marca/s que se quiere incrustar
3- Arrastrar con el botn derecho al rea de edicin HTML y soltar el botn. El resultado se muestra
en la figura 71.

FlexABSCI: Manual de Configurador 137


v62 207-SCI-SP (Configuracion).pdf
Figura 71: Al incrustar una marca en el formulario, esta desaparece del panel de marcas y aparece
en el formulario.

Panel de opciones de formulario

Este panel permite seleccionar opciones que afectan al formulario en su conjunto. Las opciones disponibles
hasta el momento de redactar este documento son:

-Default form: Crea un formulario predeterminado para la clase que se est editando en FlexAB
SCI. El formulario predeterminado contendr todos los atributos que estn configurados como visibles en la
clase, incluyendo los atributos common. Si la clase es incluida 1-N tambin incluir las marcas de control
OBJECTNUMBER y SELECTOR. El formulario queda disponible para ser personalizado en el panel de edicin
HTML. Cabe destacar que los formularios predeterminados de FlexAB utilizan la plantilla css oeGeneral.css
que se encuentra en el tempPack.zip que se distribuye con los archivos ejecutables de FlexAB. Si se quiere
utilizar otra plantilla debe editarse el formulario en modo avanzado, y hacer la inclusin de la misma. (Ver
Modificar el estilo CSS del formulario en modo avanzado al final de este documento.)

-Preview: al presionar este botn pueden acontecer 2 situaciones, si se ha seleccionado un objeto


de prueba para la clase actual, directamente se visualizar en el panel de vista previa una vista idntica a
como se vera el formulario en la FlexAB SUI (Ver figura 72). Si no se hubiera seleccionado ningn objeto
de prueba todava en esta sesin del FlexAB SCI, se visualizar la pantalla de seleccin de objeto de prueba
(Test Object) que nos permitir seleccionar las condiciones de visualizacin, esto es, si queremos hacer la
vista previa con un objeto nuevo, uno existente, el espacio de trabajo y la aplicacin. Esto es importante
porque muchas veces las condiciones de seguridad son distintas segn la aplicacin o el espacio de trabajo
y nos permite verificar que la clase se visualiza en la manera que se pretende.

FlexABSCI: Manual de Configurador 138


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 72: Vista previa del Editor de Objetos

-Advanced HTML: Este selector activa una solapa dentro del rea de edicin HTML que permite al
configurador de FlexAB SCI visualizar el cdigo HTML que compone al formulario. Se recomienda que solo
usuarios expertos en HTML utilicen esta opcin ya que permite modificar por completo el HTML con alcance
a scripts de JavaScript y VBScript que se ejecutan en el formulario del usuario final.
Al activar este selector, aparece la solapa de diseo/cdigo en el rea inferior como se ve en la
Figura 73. Comentario [E1]: Poner
referencia cruzada

FlexABSCI: Manual de Configurador 139


v62 207-SCI-SP (Configuracion).pdf
Figura 73: Edicin avanzada del formulario

A continuacin detallamos un caso prctico de modificacin de formulario que aplica los conceptos
mencionados hasta aqu.

Caso prctico: Transformar el formulario de una clase de FlexAB con CSS

Para poder realizar esta actividad necesitaremos los siguientes requisitos: Con formato: Justificado
-FlexAB SCI y FlexAB SUI con una aplicacin y al menos 1 clase configurada con una clase incluida 1-N (En
este ejemplo llamada TESTINC)
-Un editor de texto como el bloc de notas de Microsoft Windows (en el ejemplo se utiliza Ultraedit por
conveniencia del resalte de colores que ofrece para CSS.)
-Manual de referencia de HTML 4 y CSS 3 (Puede leerse como orientacin bsica la documentacin de
FlexAB ofrecida sobre estos temas al final de este documento.)

Paso 1: Preparando el formulario de la clase

FlexABSCI: Manual de Configurador 140


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura: El formulario predeterminado de una clase incluida 1-N

Para comenzar, plantearemos el resultado que se quiere lograr. Si bien el formulario predeterminado de Con formato: Justificado
clase es visualmente claro y sencillo, no siempre se adapta de la mejor manera a funcin que cumple. En
una clase 1-N es probable que la prioridad sea en algunos casos ahorrar espacio en pantalla. Para ello,
cambiaremos la manera en que se muestran los atributos de la clase, y en vez de configurarlos uno debajo
del otro, lo haremos uno junto al otro, en forma horizontal, en una sola lnea.

Originalmente, FlexAB SCI propone organizar los atributos en una tabla de 2 columnas, ubicando en la
primera columna el nombre de usuario del atributo, y en la segunda, el control para administrar su valor.
En la cabecera de la tabla ubica el tipo de objeto y la descripcin del mismo.

A fines de lograr el resultado propuesto anteriormente, crearemos una nueva tabla con un formato algo
distinto. Comenzaremos con posicionarnos debajo de la tabla original y crear una nueva tabla de 2 filas por
5 columnas, que es la cantidad adecuada para el tipo de objeto TESTINC con el que estamos
ejemplificando.

FlexABSCI: Manual de Configurador 141


v62 207-SCI-SP (Configuracion).pdf
Con formato: Centrado

Figura: La pantalla de insercin de tablas del editor HTML de FlexAB SCI Comentario [E2]: Insertar
ttulo referencia
Por default, la herramienta de creacin de tabla propone un 75% del ancho disponible para la misma. Es Con formato: Justificado
decir, que la tabla intentar ocupar las partes del lugar en el cual est ubicada, si no est dentro de
ningn div, otra tabla, o algn otro elemento, ser el 75% del ancho total de la pgina. Si se quiere que la
tabla crezca para ocupar la totalidad del espacio disponible, ajustar este valor a 100%, y si se quiere el
mnimo posible, dejarlo sin especificar.
En la primera fila, marcaremos las 5 columnas, y usaremos la funcin Merge Cells del editor HTML de
FlexAB para unificarlas en una sola celda, que utilizaremos para el ttulo de cada objeto. Luego, en cada
una de las celdas de abajo, ubicaremos las marcas de los atributos y de funcionalidad, movindolas desde
la tabla original o bien de la lista de marcas si no estaban insertadas. Adicionalmente, nos posicionamos en
la primera fila para el ttulo, y con la funcin de botn derecho Table Cell Properties le asignamos un
fondo color verde. Para finalizar, marcaremos la tabla original, y la eliminamos del formulario.

FlexABSCI: Manual de Configurador 142


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Con formato: Centrado

Figura: El formulario de edicin, organizado en una tabla de 2x5. Comentario [E3]: Insertar
ttulo referencia

Paso 2: Modificando la plantilla de estilo predeterminada de FlexAB

Cmo se ha explicado en este documento, hay muchas maneras de modificar el CSS que se aplica a los Con formato: Justificado
formularios de objetos de FlexAB. Una de ellas es modificar directamente el archivo oeGeneral.css que
viene incluido en el archivo tempPack.zip que se distribuye con los ejecutables de FlexAB. Este archivo
ZIP, contiene todos los archivos auxiliares de edicin predeterminados de FlexAB.

Importante: al modificar oeGeneral.css estaremos modificando la plantilla predeterminada para todos


los tipos de objetos configurados. Si no est seguro que el cambio a realizar no modificar la visualizacin
de otras clases configuradas, se recomienda trabajar en otro archivo CSS y adjuntarle la plantilla al
formulario con el tag LINK de HTML (Ver documentacin adicional sobre CSS para ms informacin). De
este modo, solo se afectar el tipo de objeto deseado teniendo la seguridad de no alterar ningn otro. Es
de notar que si se asigna por ejemplo fondo color rojo al tag BODY de oeGeneral.css, todos los fondos de
todos los formularios de objeto de todas las clases con formulario predeterminado, tendrn fondo rojo.

Manos a la obra, en este ejemplo, el temporal de la aplicacin configurada es C:\Appliware\FlexAB\Temp


y como se ha explicado el archivo tempPack.zip se descomprime justo un nivel superior al de la carpeta
temporal, es decir en C:\Appliware\FlexAB. Editamos entonces el archivo oeGeneral.css y para
comenzar, le quitamos el ancho predeterminado para los controles de usuario, que de otro modo har que
cada columna de nuestra tabla que contenga un control, tenga un ancho predeterminado.

FlexABSCI: Manual de Configurador 143


v62 207-SCI-SP (Configuracion).pdf
Comentario [E4]: Una vez que
elijamos la herramienta, lo
explicamos como modificar sin
tocar el texto.
Comentario [A5R4]: ok

Figura: Quitando el ancho predeterminado para los controles de usuario.

Paso 3: Probando el formulario en FlexAB SUI

Para asegurarnos de que hemos hecho las cosas bien, abrimos en FlexAB SUI la aplicacin configurada, y Con formato: Justificado
editamos o creamos un objeto nuevo del tipo modificado, para visualizar el formulario. Nota: Esto tambin
puede realizarse desde el panel de vista previa de FlexAB SCI en la solapa Generate.

FlexABSCI: Manual de Configurador 144


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Con formato: Centrado

Figura: El formulario de edicin modificado, a punto de agregar ms objetos. Comentario [E6]: Insertar
ttulo referencia
Si agregamos algunos incluidos para probar la visualizacin, veremos que ahora los objetos ocupan un Con formato: Justificado
espacio notablemente menor. Ahora bien, como hemos reducido espacios, puede que sean necesarios unos
retoques adicionales de CSS para hacer ms clara la visibilidad de los objetos.

FlexABSCI: Manual de Configurador 145


v62 207-SCI-SP (Configuracion).pdf
Con formato: Centrado

Figura: Trabajando con los formularios modificados de objetos incluidos. Comentario [E7]: Insetar ttulo
referencia
Para hacer algunos retoques menores, volvemos a modificar el archivo oeGeneral.css y recurrimos a Con formato: Justificado
funciones de CSS 3. En este caso en particular modificaremos el color y la fuente de las primeras 2
columnas de la tabla, para poder hacer ms claro el nmero de objeto y el selector de objeto.
En primera instancia recurrimos a la pseudos clase CSS first-child, que aplicada al tag TD, referenciar la
primer celda. Luego, a partir de ah, agregando +td podremos referenciar la segunda columna, tercera,
etc. Para remarcar entonces el nmero de objeto, le agregamos a la primera celda un color de fondo y
fuente en negrita.

FlexABSCI: Manual de Configurador 146


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Con formato: Centrado

Figura: Agregando estilo para la primera columna de cualquier tabla Comentario [E8]: Insertar
Ttulo referencia
Si regresamos a FlexAB SUI a ver como se refleja el resultado del cambio realizado en la plantilla, Con formato: Justificado
observaremos que nuestro cambio tambin ha modificado la celda del ttulo, por ser esta tambin la
primera columna de la primera fila de la tabla. Si no deseramos este efecto, podramos evitarlo fcilmente
dejando una columna vaca en la fila del ttulo, poniendo el ttulo fuera de la tabla, o bien sencillamente
asignando una clase CSS al ttulo o a la primer columna y aplicndole estilo especficamente.

FlexABSCI: Manual de Configurador 147


v62 207-SCI-SP (Configuracion).pdf
Con formato: Centrado

Figura: El formulario de objeto con estilo aplicado en la primer columna Comentario [E9]: Insertar
Ttulo Referencia
Si la conveniencia del caso fuera solo resaltar la fuente del ttulo y el nmero de objeto, y resaltar solo el Con formato: Justificado
selector de objeto para que sea ms fcil para el usuario visualizar donde debe hacer clic para operar con
los objetos incluidos, lo podramos hacer sencillo con la funcionalidad +td mencionada anteriormente

FlexABSCI: Manual de Configurador 148


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Con formato: Centrado

Figura: Aplicando estilo a la primera y segunda columnas de una tabla con +td Comentario [E10]: Insertar
Ttulo referencia
Nuevamente, editamos o creamos un objeto de la clase que se est modificando para comprobar los Con formato: Justificado
cambios. Vemos que al no tener un estilo asignado para el fondo, el formulario respeta el color asignado
mediante HTML inicialmente desde el editor HTML de FlexAB SCI. Adicionalmente notar que s se aplica la
fuente en negrita y el tamao a estos elementos, y que tambin se aplica el color de fondo asignado
mediante CSS a la segunda columna donde se ubica el selector de objeto.

FlexABSCI: Manual de Configurador 149


v62 207-SCI-SP (Configuracion).pdf
Con formato: Centrado

Figura: El formulario de objeto modificado con distintos resaltes y fuentes. Comentario [E11]: Insertar
ttulo referencia
Paso 4: Aprovechar el espacio an ms

Hay muchos casos en los que el ttulo o tipo de objeto no es necesario para una clase incluida 1-N. Es un Con formato: Justificado
dato que estamos repitiendo por cada objeto y que ocupa una lnea en pantalla. En este ltimo paso
quitaremos el ttulo y moveremos el selector de objeto a la primera columna para minimizar el CSS
necesario para la esttica del mismo.

Abrimos FlexAB SCI y editamos la clase. Nos movemos a la solapa Generate nuevamente para modificar
el formulario de objeto. Nos posicionamos en la primera fila de la tabla que contiene el ttulo y con botn
derecho Delete Row quitamos la fila dejando una nica fila que contiene las etiquetas de la clase.

Para terminar el trabajo aqu, intercambiamos de posicin las marcas del selector de objeto y del nmero
de objeto. Este cambio solo es ilustrativo y no siempre ser mejor que estn en este orden, aunque se
debe tener en cuenta que el nmero de objeto es un dato creciente de dgitos, y el selector es de ancho
fijo, es decir, cuando el nmero de objeto alcance decenas o centenas, su columna crecer a menos que
se le especifique un ancho fijo desde el editor HTML o bien desde la plantilla CSS asociada.

FlexABSCI: Manual de Configurador 150


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Con formato: Centrado

Figura: Quitando el ttulo y reorganizando las marcas en la solapa Generate. Comentario [E12]: Insertar
titulo referencia
Para finalizar los cambios, modificamos el archivo oeGeneral.css para agregar un color de fondo Con formato: Justificado
apropiado a la primera columna, y la fuente apropiada para que se visualice claramente el nmero de
objeto.

Para la primera columna cambiaremos el color de fondo utilizando el atributo CSS background-color, y
para la segunda utilizaremos font-weight y font-size.

Nota: estos atributos aceptan valores en varios formatos, por lo que es conveniente tener el manual de
referencia de CSS a mano al utilizarlos. En este ejemplo se utiliza el ingreso de color mediante parejas
hexadecimales de RGB (#RRGGBB), nombres de peso de fuente y pxeles respectivamente. Comentario [E13]: Esto con la
Tambin se debe tener en cuenta que las clases de CSS se combinan, y por tanto en este ejemplo se herramienta no ser necesario.
Debe permitir seleccionar los
aplicar a todas las celdas el formato especificado para el tag TD, y luego el formato especificado colores visualmente
especficamente para la primera y la segunda columna.

FlexABSCI: Manual de Configurador 151


v62 207-SCI-SP (Configuracion).pdf
Con formato: Centrado

Figura: Aplicando color y ajustes de fuente al formulario de objeto Comentario [E14]: Insertar
ttulo referencia
Con formato: Centrado

FlexABSCI: Manual de Configurador 152


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura: El formulario de objetos 1-N sin ttulo, nmero en negrita y resalte de selector Comentario [E15]: Insertar
ttulo referencia
Como comentario final del caso prctico mencionaremos que no se debe olvidar actualizar el archivo
oeGeneral.css en el tempPack.zip de los clientes, o estos no visualizarn apropiadamente los cambios
realizados. Para mayor informacin sobre como modificar un formulario HTML con CSS ver Referencia
breve de HTML y CSS al final de este documento.

Solapa Revisions

En esta solapa se define la nomenclatura, el ordenamiento, y si la revisin ser vista por la empresa y el
exterior, o solo por la empresa (interna).
Tambin se definen los permisos de los grupos de usuarios para operar sobre la ejecucin, el chequeo y la
aprobacin del revisionado.

FlexABSCI: Manual de Configurador 153


v62 207-SCI-SP (Configuracion).pdf
Orden de las versiones; secuencia. Se puede ordenar, arrastrando y soltando con el botn del mouse

Cdigo que se quiere mostrar en los documentos indicativo de la revisin. En general es una letra o
un nmero, o la combinacin de ambos

Indicar si la versin es pblica o interna a la empresa.

En este panel, se otorgan o quitan los permisos de Ejecucin de la revisin, a los grupos de usuarios.
Se debe elegir del cuadro desplegable, el grupo al que se le otorga el permiso.

En este panel, se otorgan o quitan los permisos de Chequeo de la revisin, a los grupos de usuarios.
Se debe elegir del cuadro desplegable, el grupo al que se le otorga el permiso.

En este panel, se otorgan o quitan los permisos de Aprobacin de la revisin, a los grupos de
usuarios. Se debe elegir del cuadro desplegable, el grupo al que se le otorga el permiso.

Ordenamiento de las versiones por medio de arrastrar y soltar

FlexABSCI: Manual de Configurador 154


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Solapa Include Order

En esta solapa se configura el orden de visualizacin en el Editor de Objetos, de las clases abstractas e
includas que tuviera la clase.

Orden de visualizacion de clases abstractas e includas

Existen 2 tipos de ordenamiento

1. uno obligatorio impuesto por FlexAB (son 3 categorias)


2. uno configurable dentro de cada categora, accesible desde la solapa Include Order

1. El orden de aparicin en el Editor de Objetos, impuesto por FlexAB es el siguiente:


. Objeto Raiz
a. Clase Abstracta
b. Clases Incluidas 1-1
c. Clases Incluidas 1-N

2. Ordenamiento Configurable

Nota: en la presente versin solo se admite una clase abstracta hija

Para los puntos a, b y c es posible definir (si hay varias clases) cual aparece primero y cual
despus.

Por ejemplo, si existe la clase padre A con la clase B (incluida 1-N) y la clase C (incluida 1-N), se
puede definir para el punto c, si aparecen primero los objetos de la clase B o los de la clase C.

Ahora bien, si la clase A adems de B y C, tuviera incluida una clase D (relacin 1-1), siempre va a
aparecer D antes que B y C.

Si adems tuviera una clase includa E (relacion 1-1), sera posible definir cual aparece primero
entre D o E y luego entre B y C, pero nunca una 1-N podr aparecer antes que una 1-1.

Las clases Abstractas se muestran siempre pegadas al objeto que las incluye, por ende, van antes
de las includas 1-1. (Ver Nota)

Si adems de las clases anteriores, se tuviera la clase F (abstracta), se veran as:


.Objeto raiz
- Clase F (por el momento solo se admite una abstracta)
- Clase D o E segn orden b
- Clase D o E segn orden b
- Clase B o C segn orden c
- Clase B o C segn orden c

Explicado esto, es necesario aclarar que el orden de ejecucin de los mtodos, se configura en su
solapa correspondiente de la clase correspondiente. Adems el orden de guardado de los objetos
corresponde a como estn ordenados en el XML ms que en el editor que se use(esto normalmente
coincide si se usa desde la FlexAB-SUI o la FlexAB-WUI, pero por ejemplo desde un VBA es posible
que se desorganice el XML, y en ese caso, se respeta ese orden, el del XML).

Resumen
FlexABSCI: Manual de Configurador 155
v62 207-SCI-SP (Configuracion).pdf
1. Primero se muestran las clases abstractas
2. Luego se muestran las clases incluidas 1-1
3. Luego se muestran las clases incluidas 1-N
4. El orden de guardado est en el XML. Si se utilizan nuestros editores (SUI o WUI),
siempre este orden de guardado coincide con el mostrado en el editor.

Las pantallas siguientes muestran la configuracin del orden dentro de cada categora

Orden de las clases includas 1-1

El orden de las clases puede ser cambiado mediante drag & drop de las filas de las grillas

FlexABSCI: Manual de Configurador 156


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Arrastrar y soltar para ordenar las filas de las clases

FlexABSCI: Manual de Configurador 157


v62 207-SCI-SP (Configuracion).pdf
IM PORTAR CLASES

FlexAB posee la potente funcionalidad de permitir la importacin de clases. Esto permite


incorporar a las aplicaciones, clases ya definidas y utilizadas en otros universos, lo que
reduce ampliamente el tiempo de desarrollo.
Este es uno de los enormes beneficios de la reutilizacin en el mundo de los objetos.

Una clase utiliza elementos como Mtodos, Reportes, FQL , Helps.


A todos los elementos (menos los Mtodos) que utiliza la clase, el proceso de importacin intenta
bloquearlos en el universo destino. La excepcin a esto son los Mtodos, ya que se realiza el alta de todos
ellos.

Si durante la importacin no se puede bloquear alguno de estos elementos, la importacin es cancelada.


Una de las razones por la cual no se puede bloquear un elemento, es porque algn usuario lo tiene en uso.

La Importacin de una clase no contiene las clases Includas. Solo es importada la CLASE y los elementos
que utiliza la misma (Mtodos, Reportes, FQL y Helps). Esto es debido a que la clase en su configuracin,
contiene la informacin de sus padres pero no de sus hijos.

Para realizar la importacin, se debe ingresar al men Maintenance, opcin Import from XML

Se abre el cuadro de dilogo que solicita ubicar el archivo .XML (correspondiente a la CLASE) que se desea
importar. En la figura corresponde a la clase Requirement

FlexABSCI: Manual de Configurador 158


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Inmediatamente el sistema consulta al usuario si desea que se respeten las relaciones que trae el XML de
la clase que est siendo importada, o se tomen las que existen en la base de datos destino para esa clase.

Si el usuario elige la opcin de tomar las relaciones que trae el XML de la clase y ninguna de las
relaciones son vlidas para el universo destino, la clase ser importada, pero no figurar en el
rbol de clases. En este caso para incorporar relaciones a la clase, se debe acceder al combo de Fast Edit y
editar la clase.
Si alguna de las relaciones es vlida, esa ser visible en el rbol de clases. Sera por ejemplo el caso de una
clase que en su origen figura como hija de las clases A y B pero en la base de datos destino no existe la
clase B. Solamente aparecer en el rbol de clases como hija de A

Nota : Las relaciones que una clase tiene definidas, se pueden visualizar en la solapa Relations del Editor
de Clases, tal como se muestra a continuacin
FlexABSCI: Manual de Configurador 159
v62 207-SCI-SP (Configuracion).pdf
Una clase informa las relaciones con sus padres, no con sus hijos, por lo que al importar, el
archivo .XML de la clase contar con la informacin correspondiente a sus padres, no a los hijos que
pudiera tener relacionados.

La clase luego de ser importada queda guardada y se encuentra sin generar.

FlexABSCI: Manual de Configurador 160


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Clase importada. Se encuentra sin generar.

Se debe tener en cuenta que si una clase a importar posee por ejemplo un FQL llamado "Listado
Clientes" el cual devuelve los clientes activos, y el universo adonde importaremos la clase
tiene tambin un FQL llamado "Listado Clientes" que a diferencia del anterior devuelve TODOS los
clientes, este ultimo FQL ser bloqueado, y luego al generarse la clase ser reemplazado por el de la clase
importada.

La clase, luego de la importacin, debe ser generada

FlexABSCI: Manual de Configurador 161


v62 207-SCI-SP (Configuracion).pdf
Clase importada. Ha sido generada luego de la importacin.

FlexABSCI: Manual de Configurador 162


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
C LASES DE TIPO MODULO

Una clase de tipo Mdulo, es aquella que contiene Mtodos que son globales y pueden ser utilizados por
las dems clases.
En la versin actual, el Mdulo SHAREDMETHODS contiene los mtodos globales que existen en el
sistema. No es posible crear otra clase de tipo Mdulo.
Para insertar, modificar o eliminar mtodos de este Mdulo, debemos ingresar al Editor de Mtodos desde
la Barra de Herramientas de FlexAB-SCI

Clic sobre botn Method Editor en la Barra de Herramientas del FlexAB-SCI

De esta forma se despliega el Editor de Mtodos, que contiene al Mdulo SHAREDMETHODS y a los
mtodos que lo integran

(Ver Editor de Mtodos)

FlexABSCI: Manual de Configurador 163


v62 207-SCI-SP (Configuracion).pdf
C LASES ABSTRACTAS

FlexAb permite la utilizacin de las Clases Abstractas.


Una clase Abstracta no posee IdInternal propio. Utiliza el IdInternal del objeto que lo contiene.

En el ejemplo siguiente se tiene una clase Real llamada PUPIL que posee una clase ABSTRACTA llamada
PERSON. Esta clase ABSTRACTA puede ser reutilizada por cualquier clase que necesite atributos
referentes a una persona tales como los que posee la clase.

Como se puede observar en la figura, el icono de la Clase Abstracta es igual al de la Clase Incluida.

Atributos de la Clase Abstracta PERSON

FlexABSCI: Manual de Configurador 164


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Atributos de la Clase Real PUPIL

En la solapa Includes de la Clase Abstracta, se debe informar el Class Father y el Type. En este caso la
clase padre ser PUPIL
ABS es el Type para indicar que se trata de una Clase Abstracta.

FlexABSCI: Manual de Configurador 165


v62 207-SCI-SP (Configuracion).pdf
Atributos de la clase PUPIL, desde el Editor de Objetos en la Interfaz de Usuario (FlexAB-SUI)

Atributos de la clase abstracta PERSON, desde el Editor de Objetos en la Interfaz de Usuario


(FlexAB-SUI)

Los datos de una clase abstracta se graban en una tabla con el nombre compuesto
att + NombreClaseAbstracta

En este caso, los datos que contengan las clases ABSTRACTAS PERSON que se utilicen, se guardarn en
la tabla attPERSON

Como se mencion anteriormente, una clase ABSTRACTA no tiene IdInternal propio, toma el IdInternal de
su clase padre.
Estas clases cuando son utilizadas, no generan entrada en la tabla OBJECT.

FlexABSCI: Manual de Configurador 166


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
EDITOR DE R EPORTES

Nota: Cuando se trabaja desde una clase de tipo Mdulo, los Mtodos, FQLs y Reportes, al estar en
edicin y ejecutar el comando Guardar, quedan almacenados definitivamente.
Ejemplo: si se est realizando un Reporte dentro de un mtodo y se guarda, el Reporte queda almacenado
aunque se cancele la edicin del mtodo.
Cuando se trabaja desde el Editor de Clases, esto es diferente. Los cambios quedan almacenados
definitivamente al Generar la clase. El Editor de Help trabaja nicamente en este ltimo modo.

La Barra de Herramientas del Editor de Reportes est formada por los siguientes iconos

1) New. Nuevo Reporte


2) Search. Busca los reportes existentes pertenecientes a la clase. Se puede observar que cada reporte
posee un icono con el significado que se detalla a continuacin

La clase no est utilizando el reporte. Puede ser eliminado.


La clase utiliza el reporte en un solo lugar.
La clase utiliza el reporte en varias situaciones.

3) Delete. Elimina el reporte.


4) Edit. Para editar el reporte.
5) Save . Guarda el reporte.
6) Undo. Deshace los cambios realizados.

Para acceder al Editor de Reportes desde el Editor de Clases se muestra a continuacin.

Figura 82: Ventana de edicin de clases, solapa Report, campo Report.

Haciendo clic sobre el botn en el extremo derecho de la celda del campo Report, directamente
accedemos al Editor de Reportes.

FlexABSCI: Manual de Configurador 167


v62 207-SCI-SP (Configuracion).pdf
Desde aqu crearemos el reporte, siempre usando los datos que se definieron en el campo Data. Se
presupone que el presente reporte se est creando para la clase CLIENTE.

Para ello, debemos hacer clic en el botn New Report , y luego clic en el icono de los campos de
la consulta FQL .

Debajo de este icono, en el panel Fields, se listarn los campos que devuelve la consulta FQL. Con
estos campos trabajaremos en la confeccin del reporte desde la solapa Design.

El Editor de reportes cuenta con dos solapas: Design y Preview

En la solapa Design, se crea el reporte, ubicando los campos en las secciones correspondientes, dando
formato a los mismos, etc.

En la solapa Preview, se muestra la vista preliminar del reporte con el resultado de su ejecucin.

FlexABSCI: Manual de Configurador 168


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 83: Editor de Reportes, solapa Design

Clic en botn New Report

Clic en icono para desplegar los campos devueltos del FQL

Nombre del Reporte

FlexABSCI: Manual de Configurador 169


v62 207-SCI-SP (Configuracion).pdf
Creacin del reporte en la solapa Design

Figura 84: Editor de Reportes, solapa Design

NOTA: Tambin podemos acceder a un reporte ya creado, haciendo clic en el botn Search
(Buscar).

FlexABSCI: Manual de Configurador 170


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Vista preliminar del reporte con los datos devueltos, en la solapa Preview.

Figura 85: Vista previa de un reporte.

Barra de Menues
FlexABSCI: Manual de Configurador 171
v62 207-SCI-SP (Configuracion).pdf
La opcin Save to File, graba el reporte a disco.
La opcin Load from File, permite utilizar como plantilla un reporte ya existente.

La opcin Test Object nos permite seleccionar un objeto para poder probar el reporte

Figura 86: Ventana de Seleccin de Objeto.

Seleccionar un objeto o crear uno de prueba

Cargar el XML de un objeto desde disco

Esta ventana se utiliza desde distintas partes del sistema, y su fin es proveer un objeto de
prueba para la operacin que se est tratando de realizar.
FlexABSCI: Manual de Configurador 172
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Es posible tambin, cargar desde disco el XML de un objeto, y utilizarlo como objeto de
prueba.

Para seleccionar un objeto existente, se debe indicar la Aplicacin (Application), la Clase


(Class), el Objeto (Object) correspondiente y el Espacio de Trabajo (Working Space)

Puede darse la situacin en que necesitemos un objeto de prueba, y no exista ningn


objeto creado. En ese caso podemos tildar la casilla New Object, y el sistema nos
propondr un objeto en memoria para poder utilizarlo.

En este caso debemos indicar la Aplicacin (Application), la Clase (Class), la Clase


Padre (Father Class), el Objeto Padre (Father Object) y el Espacio de Trabajo
(Working Space).

La opcin View XML activa la ventana XML Viewer, donde vemos el XML correspondiente a la
clase:

FlexABSCI: Manual de Configurador 173


v62 207-SCI-SP (Configuracion).pdf
Figura 87: Visualizacin de un Xml

Nota: las ventanas del Test Object y del XML Viewer, son ampliamente utilizadas en distintos lugares del
sistema.

Luego desde la Interfaz de Usuario (FlexAB-SUI), al seleccionar el objeto de la clase que tiene definido el
reporte (en este caso CLIENTE) podemos elegir cual de los reportes que existen para la clase (en esta caso

uno solo) queremos ver, y al hacer clic sobre el botn Preview de la barra de herramientas, tenemos
la opcin de visualizar el reporte en distintos formatos tal cual lo muestra la figura siguiente

FlexABSCI: Manual de Configurador 174


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 88: Seleccin del formato de salida del Reporte desde FlexAB-SUI

FlexABSCI: Manual de Configurador 175


v62 207-SCI-SP (Configuracion).pdf
P ARAMETROS EN REPORTES
Un reporte es confeccionado a partir de datos que provienen de nuestra base de datos y los cuales se
extraen mediante una consulta FQL. Los reportes soportan el manejo de parmetros. Si agregamos un
parmetro, este puede actuar de filtro en nuestro reporte.

Nota:
La WUI no soporta el paso de parmetros para reportes. (Ver Parmetros en la WUI)

La manera de agregar un parmetro a un reporte es a partir de la consulta FQL, la cual debe tener la
siguiente instruccin

PRM:(Texto del LABEL de solicitud, Tipo de dato, Valor por defecto)

- Texto del LABEL de solicitud: es el texto que se mostrar al pedir el parmetro


- Tipo de dato: 0 (cero) para los String, 1 para los numricos (0 agrega comillas simples)
- Valor por defecto: es el valor que aparecer por pantalla cuando se nos soliciten los parmetros, lo que
deseamos que quede cargado en la pantalla

As entonces, podemos escribir una sentencia SQL como la siguiente:

SELECT * FROM classAREA


WHERE DESCRIPCION LIKE 'PRM:(Ingrese la Descripcion (%=Cualquiera):, 0, % )' AND
IDAPPLICATION = 'PRM:(Ingrese Nro de Aplicacion (0=Todas):, 1, 0)'

Donde

1- indica que si se ingresa el carcter % se tomarn todos los valores del campo DESCRIPCION
2- 0 indica que se trata de un tipo de dato string
3- % es el valor que se tomar por defecto si no se ingresan datos

Y adems

1- indica que si se ingresa el carcter 0 se tomarn todas las aplicaciones


2- 1 indica que se trata de un tipo de dato numrico
3- 0 es el valor que se tomar por defecto si no se ingresan datos

FlexABSCI: Manual de Configurador 176


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Ejemplo

En un reporte de Tareas, haremos que el usuario deba ingresar el parmetro de la Importancia de la


Tarea.
El primer paso es crear desde el Editor FQL la consulta indicada

Figura 89: Creacin de la consulta FQL del Reporte requiriendo el parmetro

Se resalta la parte que nos interesa de la consulta


..
..
FROM classtarea
WHERE idstate not in(TERMINADA,CANCELADA,EN PROCESO) and
IMPORTANCIA LIKE PRM:(Ingrese Importancia de la Tarea (%=TODAS): ,0 , % )
.
.

FlexABSCI: Manual de Configurador 177


v62 207-SCI-SP (Configuracion).pdf
Se ejecuta el reporte desde la Interfaz Estndar de Usuario FlexAB-SUI

Figura 90: Seleccin del formato de salida del Reporte desde FlexAB-SUI

Aparece la ventana de Parameters donde se debe ingresar el filtro que se requiere. En este caso se
pedir visualizar las Tareas cuya Importancia sea Urgente

Figura 91: Ventana Parameters para ingreso del parmetro

FlexABSCI: Manual de Configurador 178


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Luego de ingresar el valor del parmetro, se debe cerrar la ventana Parameters y automticamente se
ejecuta el reporte, filtrando los datos por el valor ingresado

Figura 92: Reporte filtrado por el parmetro ingresado

P ARAMETROS EN LA WUI
La WUI no soporta el paso de parmetros para reportes.
Esta funcionalidad se logra de otra manera. Se crea una clase, cuyos atributos van a ser los valores que
tome el reporte como parmetros.

FlexABSCI: Manual de Configurador 179


v62 207-SCI-SP (Configuracion).pdf
S CRIPTS EN REPORTES
En el reporte, tambin es posible trabajar con Scripts . El componente cuenta con un Editor de Script.

Botn de ingreso al Editor de Script

FlexABSCI: Manual de Configurador 180


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
C OMANDOS BSICOS

Para tomar informacin de un campo del FQL del reporte


rpt.fields("NombreCampo")

Para tomar informacin de un control ingresado en el reporte. Por ejemplo de un textbox


rpt.Sections("Detail").Controls("NombreControl").text

Para ocultar un control


rpt.Sections("Detail").Controls("NombreControl").VISIBLE = FALSE

Para convertir un dato a DOUBLE (numrico) y asignarlo a una variable


cdbl(VAR)
varTotal = cdbl(rpt.Sections("ReportHeader").Controls("NombreControl ").TEXT)

Para dar formato a un valor en el reporte (en el ejemplo se ponen 2 decimales)


FormatNumber(VAR,2)
rpt.Sections("Detail").Controls("NombreControl").text =
FormatNumber(cdbl(rpt.fields("NombreCampo")),2)

Para poner STYLE de impresin (cambiar color, tipo de letra, etc..)

rpt.Sections("Detail").Controls("NombreControl").Style = "font-size: 7pt; font-


family: &apos;Tahoma&apos;; ddo-char-set: 1; text-align: center; font-weight:
bold; color: rgb(0,0,255);"

FlexABSCI: Manual de Configurador 181


v62 207-SCI-SP (Configuracion).pdf
EJEMPLO DE UN SCRIPT
Sub OnBeforePrint
ON ERROR RESUME NEXT
vFORN=0
VAR=0
IF cdbl(rpt.fields("PrecoForn1"))>0 AND (cdbl(rpt.fields("PrecoForn1"))<VAR OR VAR=0) THEN
VAR=cdbl(rpt.fields("PrecoForn1"))
rpt.Sections("Detail").Controls("txtMENPT").text =
FormatNumber(cdbl(rpt.fields("PrecoTF1")),2)
rpt.Sections("Detail").Controls("txtMENFOR").text = rpt.fields("FORN1")
vFORN=1
END IF
IF cdbl(rpt.fields("PrecoForn2"))>0 AND (cdbl(rpt.fields("PrecoForn2"))<VAR OR VAR=0) THEN
VAR=cdbl(rpt.fields("PrecoForn2"))
rpt.Sections("Detail").Controls("txtMENPT").text =
FormatNumber(cdbl(rpt.fields("PrecoTF2")),2)
rpt.Sections("Detail").Controls("txtMENFOR").text = rpt.fields("FORN2")
vFORN=2
END IF
IF cdbl(rpt.fields("PrecoForn3"))>0 AND (cdbl(rpt.fields("PrecoForn3"))<VAR OR VAR=0) THEN
VAR=cdbl(rpt.fields("PrecoForn3"))
rpt.Sections("Detail").Controls("txtMENPT").text =
FormatNumber(cdbl(rpt.fields("PrecoTF3")),2)
rpt.Sections("Detail").Controls("txtMENFOR").text = rpt.fields("FORN3")
vFORN=3
END IF
IF cdbl(rpt.fields("PrecoForn4"))>0 AND (cdbl(rpt.fields("PrecoForn4"))<VAR OR VAR=0) THEN
VAR=cdbl(rpt.fields("PrecoForn4"))
rpt.Sections("Detail").Controls("txtMENPT").text =
FormatNumber(cdbl(rpt.fields("PrecoTF4")),2)
rpt.Sections("Detail").Controls("txtMENFOR").text = rpt.fields("FORN4")
vFORN=4
END IF
IF cdbl(rpt.fields("PrecoForn5"))>0 AND (cdbl(rpt.fields("PrecoForn5"))<VAR OR VAR=0) THEN
VAR=cdbl(rpt.fields("PrecoForn5"))
rpt.Sections("Detail").Controls("txtMENPT").text =
FormatNumber(cdbl(rpt.fields("PrecoTF5")),2)
rpt.Sections("Detail").Controls("txtMENFOR").text = rpt.fields("FORN5")
vFORN=5
END IF
rpt.Sections("Detail").Controls("txtMENPUN").text = FormatNumber(VAR,2)

TOT=CDBL(rpt.Sections("PageFooter").Controls("txtMENPTtotal").text)
NUEVO=cdbl(rpt.Sections("Detail").Controls("txtMENPT").text)
rpt.Sections("PageFooter").Controls("txtMENPTtotal").text = FormatNumber(TOT + NUEVO,2)
rpt.Sections("PageFooter").Controls("txtMENPTtota1").text = FormatNumber(TOT + NUEVO,2)

IF vFORN=1 THEN
TOT=CDBL(rpt.Sections("PageFooter").Controls("totF1").text)
NUEVO=cdbl(rpt.fields("PrecoTF1"))
rpt.Sections("PageFooter").Controls("totF1").text = FormatNumber(TOT + NUEVO,2)
rpt.Sections("Detail").Controls("txtPrecoForn1").Style="font-size: 7pt; font-family:
&apos;Tahoma&apos;; ddo-char-set: 1; text-align: center; font-weight: bold; color:
rgb(0,0,255);"
ELSE
rpt.Sections("Detail").Controls("txtPrecoForn1").Style="font-size: 7pt; font-family:
&apos;Tahoma&apos;; ddo-char-set: 1; text-align: center;"
END IF
IF vFORN=2 THEN
TOT=CDBL(rpt.Sections("PageFooter").Controls("totF2").text)
NUEVO=cdbl(rpt.fields("PrecoTF2"))
rpt.Sections("PageFooter").Controls("totF2").text = FormatNumber(TOT + NUEVO,2)
rpt.Sections("Detail").Controls("txtPrecoForn2").Style="font-size: 7pt; font-family:
&apos;Tahoma&apos;; ddo-char-set: 1; text-align: center; font-weight: bold; color:
rgb(0,0,255);"
ELSE
rpt.Sections("Detail").Controls("txtPrecoForn2").Style="font-size: 7pt; font-family:
&apos;Tahoma&apos;; ddo-char-set: 1; text-align: center;"
END IF
IF vFORN=3 THEN
FlexABSCI: Manual de Configurador 182
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
TOT=CDBL(rpt.Sections("PageFooter").Controls("totF3").text)
NUEVO=cdbl(rpt.fields("PrecoTF3"))
rpt.Sections("PageFooter").Controls("totF3").text = FormatNumber(TOT + NUEVO,2)
rpt.Sections("Detail").Controls("txtPrecoForn3").Style="font-size: 7pt; font-family:
&apos;Tahoma&apos;; ddo-char-set: 1; text-align: center; font-weight: bold; color:
rgb(0,0,255);"
ELSE
rpt.Sections("Detail").Controls("txtPrecoForn3").Style="font-size: 7pt; font-family:
&apos;Tahoma&apos;; ddo-char-set: 1; text-align: center;"
END IF
IF vFORN=4 THEN
TOT=CDBL(rpt.Sections("PageFooter").Controls("totF4").text)
NUEVO=cdbl(rpt.fields("PrecoTF4"))
rpt.Sections("PageFooter").Controls("totF4").text = FormatNumber(TOT + NUEVO,2)
rpt.Sections("Detail").Controls("txtPrecoForn4").Style="font-size: 7pt; font-family:
&apos;Tahoma&apos;; ddo-char-set: 1; text-align: center; font-weight: bold; color:
rgb(0,0,255);"
ELSE
rpt.Sections("Detail").Controls("txtPrecoForn4").Style="font-size: 7pt; font-family:
&apos;Tahoma&apos;; ddo-char-set: 1; text-align: center;"
END IF
IF vFORN=5 THEN
TOT=CDBL(rpt.Sections("PageFooter").Controls("totF5").text)
NUEVO=cdbl(rpt.fields("PrecoTF5"))
rpt.Sections("PageFooter").Controls("totF5").text = FormatNumber(TOT + NUEVO,2)
rpt.Sections("Detail").Controls("txtPrecoForn5").Style="font-size: 7pt; font-family:
&apos;Tahoma&apos;; ddo-char-set: 1; text-align: center; font-weight: bold; color:
rgb(0,0,255);"
ELSE
rpt.Sections("Detail").Controls("txtPrecoForn5").Style="font-size: 7pt; font-family:
&apos;Tahoma&apos;; ddo-char-set: 1; text-align: center;"
END IF
IF cdbl(rpt.fields("PrecoForn1"))=0 THEN
rpt.Sections("Detail").Controls("txtPrecoForn1").text = ""
rpt.Sections("Detail").Controls("txtPrecoTF1").text = ""
END IF
IF cdbl(rpt.fields("PrecoForn2"))=0 THEN
rpt.Sections("Detail").Controls("txtPrecoForn2").text = ""
rpt.Sections("Detail").Controls("txtPrecoTF2").text = ""
END IF
IF cdbl(rpt.fields("PrecoForn3"))=0 THEN
rpt.Sections("Detail").Controls("txtPrecoForn3").text = ""
rpt.Sections("Detail").Controls("txtPrecoTF3").text = ""
END IF
IF cdbl(rpt.fields("PrecoForn4"))=0 THEN
rpt.Sections("Detail").Controls("txtPrecoForn4").text = ""
rpt.Sections("Detail").Controls("txtPrecoTF4").text = ""
END IF
IF cdbl(rpt.fields("PrecoForn5"))=0 THEN
rpt.Sections("Detail").Controls("txtPrecoForn5").text = ""
rpt.Sections("Detail").Controls("txtPrecoTF5").text = ""
END IF
IF cdbl(rpt.Sections("PageFooter").Controls("preTF1").text) = 0 THEN
rpt.Sections("PageFooter").Controls("preTF1").text=""
rpt.Sections("PageFooter").Controls("prTF1").text=""
END IF
IF cdbl(rpt.Sections("PageFooter").Controls("preTF2").text) = 0 THEN
rpt.Sections("PageFooter").Controls("preTF2").text=""
rpt.Sections("PageFooter").Controls("prTF2").text=""
END IF
IF cdbl(rpt.Sections("PageFooter").Controls("preTF3").text) = 0 THEN
rpt.Sections("PageFooter").Controls("preTF3").text=""
rpt.Sections("PageFooter").Controls("prTF3").text=""
END IF
IF cdbl(rpt.Sections("PageFooter").Controls("preTF4").text) = 0 THEN
rpt.Sections("PageFooter").Controls("preTF4").text=""
rpt.Sections("PageFooter").Controls("prTF4").text=""
END IF
IF cdbl(rpt.Sections("PageFooter").Controls("preTF5").text) = 0 THEN
rpt.Sections("PageFooter").Controls("preTF5").text=""
rpt.Sections("PageFooter").Controls("prTF5").text=""
END IF
End Sub

FlexABSCI: Manual de Configurador 183


v62 207-SCI-SP (Configuracion).pdf
GRAFICAR EN FLEXAB
A la hora de graficar en FlexAB, el usuario configurador puede optar por cualquier graficador ActiveX que
haya instalado en las PC del cliente. Lo fundamental, es determinar cual utilizar, y tener a mano una buena
gua de VBScript para manipularlo desde los eventos del reporteador.

En el siguiente ejemplo, es utilizado el componente ms comn de grficos que van a encontrar en una
mquina, el Microsoft Chart.
El procedimiento de ejemplo crea un sencillo grfico ilustrativo de la cantidad de objetos por clase. El
mismo puede utilizarse en cualquier base de datos de FlexAB, y servir como gua a la hora de graficar en
un reporte.

Para el reporte, utilizaremos el siguiente FQL:

SELECT '1' AS cols,


(SELECT COUNT(DISTINCT object.idClass) FROM object) AS rows,
OBJECT.idclass, COUNT(OBJECT.idInternal) AS cantidad
FROM OBJECT
GROUP BY OBJECT.idClass

Este FQL contiene 4 campos:


1) "cols" representa el nmero de serie de valores al que corresponde el registro, como en este ejemplo
solo usamos 1 serie (lnea), ingresamos '1'
2) "rows" representa la cantidad de registros que devuelve el FQL, correspondiente a la cantidad de puntos
que tendr el eje X, o bien la cantidad de datos que aportaremos por serie.
3) "idClass" har las veces de etiqueta, para cada row... esto quedar ms claro al ver la imagen de
ejemplo.
4) "cantidad" es el valor que ir al eje Y. Por cada row (o sea idclass, eje X) tendremos un valor de
cantidad (eje Y).

Una tanda de resultados del FQL para que quede ms claro:

cols rows idClass cantidad


1 74 CAJA 59
1 74 CAJDEPOSITO 76
1 74 CAJFACTURA 1827

etc... 74 registros

El siguiente paso es abrir el editor de reportes, opcin Nuevo, y en la toolbar de la izquierda est el icono

para insertar un control ActiveX (una pinza y un martillo cruzados con puntos suspensivos)

Al hacer clic se abre una lista y se debe buscar el "Microsoft Chart Control". El ejemplo es con la versin 6.0
del control, con otra versin puede ser ligeramente distinto el VBScript, pero la idea general es la misma.

FlexABSCI: Manual de Configurador 184


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Hacer doble clic al Microsoft Chart y luego dibujar un cuadrado sobre el reporte, para dibujar el contenedor
del grfico ( lo correcto es hacer esto sobre la seccin ReportFooter, ya que si se hace en el Detail se va a
duplicar el grfico tantas veces como registros de resultado tenga el FQL).

La seccin ReportFooter por default no est visible. Para que aparezca, hacer clic con botn derecho,
opcin Insert, "Report Header/Footer" antes de seleccionar el grfico.

FlexABSCI: Manual de Configurador 185


v62 207-SCI-SP (Configuracion).pdf
Ahora incorporamos un poco de cdigo para que el grfico responda a los resultados

Hacer clic en el botn de script en la toolbar (el de la hojita blanca con el engranaje)

En el combo "Object", seleccionar el objeto "ActiveReports Document", y luego el evento "OnReportStart"

Poner el siguiente cdigo:


Sub OnReportStart
rpt.sections("reportFooter").controls("MSChart1").ToDefaults
rpt.sections("reportFooter").controls("MSChart1").chartType = 3
rpt.sections("reportFooter").controls("MSChart1").columnCount = rpt.fields("cols")
rpt.sections("reportFooter").controls("MSChart1").rowCount = rpt.fields("rows")
rpt.sections("reportFooter").controls("MSChart1").column = 1
rpt.sections("reportFooter").controls("MSChart1").row = 1
rpt.sections("reportFooter").controls("MSChart1").Title.Text = "Cantidad de objetos
por clase"
rpt.sections("reportFooter").controls("MSChart1").Title.VtFont.Name = "Arial"
rpt.sections("reportFooter").controls("MSChart1").Title.VtFont.Size = 12
rpt.sections("reportFooter").controls("MSChart1").Plot.AutoLayout = True
rpt.sections("reportFooter").controls("MSChart1").Title.Location.LocationType = 1
End Sub

FlexABSCI: Manual de Configurador 186


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Notar que el nombre por defecto del control del graficador es MSChart1. Si se le pone otro nombre, hay
que cambiarlo aqu tambin.

Esto es una suerte de seteo inicial que se le hace al grfico, indicando el tipo de grfico de lnea (3) y
asignando los campos "rows" al mximo del eje X y "cols" cantidad de lneas a dibujar.
El resto es "pararse" en el primer valor de la primer lnea (que luego iremos ploteando en la seccin Detail
del reporte), poner el ttulo, el tipo de letra del mismo, y el locationType es la posicion relativa del mismo
(1 es top)

Como breve resea indicaremos que variando de 0 a 8 el chartType en la 2da lnea pueden cambiar el
grfico a barras, lineas, barras 3d, superficie, etc. El configurador debe ver las opciones que brinda este
control.
Para terminar, se debe seleccionar el objeto "Detail" , evento "OnBeforePrint" y agregar:

Sub OnBeforePrint
rpt.sections("reportFooter").controls("MSChart1").rowLabel = rpt.fields("idClass")
rpt.sections("reportFooter").controls("MSChart1").data = rpt.fields("cantidad")
If rpt.sections("reportFooter").controls("MSChart1").row < rpt.fields("rows") Then
rpt.sections("reportFooter").controls("MSChart1").row =
rpt.sections("reportFooter").controls("MSChart1").row + 1
End If
End Sub

-rowLabel es la etiqueta que acompaa al valor, en este caso el idClass para saber a que corresponde
cada cantidad
-data es el valor que va a parar al eje Y para la posicin actual en el eje X.
Por ltimo, la posicin actual se modifica avanzando de a 1, alterando la propiedad .row.
Hay un IF que controla que no se sobrepase el lmite puesto como mximo, de lo contrario veremos un
error de out of range.

FlexABSCI: Manual de Configurador 187


v62 207-SCI-SP (Configuracion).pdf
MAS INFORMACIN

http://www.vb123.com/Toolshed/99_vbchart/vbchart1.htm
http://www.winscripter.com/WSH/COM/61.aspx
http://www.internetsecurityzone.com/Parents/?_26101.MSChart.ocx

FlexABSCI: Manual de Configurador 188


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
S UBREPORTES
FlexAB brinda al usuario la posibilidad de disear reportes que incluyan en el detalle otro reporte.

Para utilizar esta funcionalidad, es necesario crear dos reportes. Los mismos se crean y disean de la
misma forma que los reportes normales, no hay diferencias en ello. No obstante, deberemos indicar en el
reporte que ser el hijo, que va a actuar como subreporte; eso lo haremos tildando la casilla Act as
subreport que se encuentra situada la derecha de la caja de texto donde se ingresa el nombre del reporte.
(Figura 1)

Figura 1

Nota: Act as subreport es excluyente, eso significa que dada una configuracin los reportes sern
siempre subreportes o no lo sern nunca, no se pueden usar de ambas maneras. Sin embargo es posible
cambiar la configuracin para convertir un reporte en subreporte y viceversa.

Luego, iremos al reporte padre y utilizando la herramienta subreporte (Figura 2), ubicada en la barra
de herramientas lateral del editor, junto a las otros elementos de diseo, se agrega en la seccin donde se
desee que aparezca el subreporte una caja que contendr el reporte hijo.

Figura 2

Tras ubicar el subreporte en el area donde queremos que se vea, seleccionamos el contenedor, y en el
panel de propiedades, veremos una llamada ReportName, all pondremos el nombre del reporte hijo.

Guardamos el reporte, y generamos la clase. Con los cambios aplicados, al ejecutar el reporte padre
con cualquiera de los mecanismos existentes para generarlos, se incrustar en el mismo el hijo.

Nota: Al definir que un reporte actua como subreporte, el mismo no ser listado como una opcin para
los usuarios, aunque ser visible en los editores de clases, mtodos y reportes mientras se configuren.

FlexABSCI: Manual de Configurador 189


v62 207-SCI-SP (Configuracion).pdf
EDITOR FQL

Nota: Cuando se trabaja desde una clase de tipo Mdulo, los Mtodos, FQLs y Reportes, al estar en
edicin y ejecutar el comando Guardar, quedan almacenados definitivamente.
Ejemplo: si se est realizando un Reporte dentro de un mtodo y se guarda, el Reporte queda almacenado
aunque se cancele la edicin del mtodo.
Cuando se trabaja desde el Editor de Clases, esto es diferente. Los cambios quedan almacenados
definitivamente al Generar la clase. El Editor de Help trabaja nicamente en este ltimo modo.

El comportamiento de los objetos se describe mediante la definicin de mtodos asociados a la ocurrencia


de determinados eventos. Dichos mtodos llevan a cabo operaciones sobre la base de datos y pueden
utilizar informacin del objeto sobre el cual se ejecutan. Por lo tanto, la definicin de un mtodo necesita
contar con herramientas de acceso a la base de datos as como tambin a la informacin interna del objeto.
Ocurre lo mismo con la emisin de reportes, donde es necesario acceder a la base de datos para obtener
informacin.

Para esto, FlexAB provee un lenguaje que combina caractersticas del lenguaje SQL con el lenguaje XQL,
denominado FlexAB Query Language (FQL).

El Editor FQL o FQL Editor, puede ser utilizado desde diferentes lugares del FlexAB-SCI. Por ejemplo al
crear un mtodo, o cuando se crea un reporte. (Ver Clases Reales, Solapa Report, campo Data)

La barra de herramientas del FQL Editor, est formada por los siguientes iconos

1) New. Nuevo FQL.


2) Search. Busca las consultas existentes pertenecientes a la clase. Se puede observar que cada consulta
posee un icono con el significado que se detalla a continuacin

La consulta no es utilizada por la clase. Puede ser eliminada.


La consulta est siendo utilizada por la clase en un solo lugar.
La consulta est siendo utilizada por la clase en varias situaciones.

3) Delete. Elimina la consulta FQL.


4) Edit. Para editar la consulta.
5) Save . Guarda la consulta.
6) Undo. Deshace los cambios realizados.

FlexABSCI: Manual de Configurador 190


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Solapa Info

Es la solapa que muestra informacin acerca de la sentencia FQL.

Figura 93: Editor FQL, solapa Info

Name: Nombre de la consulta FQL


Description: Descripcin de la consulta
User: Indica el usuario que cre la consulta FQL
Source: Informa desde que editor fue creada la consulta. No implementado en la versin.

FlexABSCI: Manual de Configurador 191


v62 207-SCI-SP (Configuracion).pdf
Solapa FQL EDITOR

Nos encontramos, con una pantalla que presenta varios paneles.

Figura 94: Editor FQL, solapa FQL Editor

Panel para elegir las clases de la consulta, haciendo clic sobre la clase correspondiente.

Panel que mostrar las clases elegidas con sus correspondientes atributos y sus relaciones

Grilla donde irn apareciendo los campos seleccionados para ver en la consulta. Tambin aqu se
definen los criterios de seleccin, ordenamiento, etc.

Panel inferior que mostrar la sentencia SQL generada

En el panel superior de la derecha, nos encontramos con un rbol que muestra las tablas/vistas existentes.
Haciendo clic sobre la tabla/s o vista/s elegida, despliega en el panel central, una pequea ventana con los
atributos de la tabla/vista.
Dependiendo de los atributos que se quieran mostrar en la consulta, se tilda la casilla correspondiente al
atributo.

Debajo de este panel, aparece una grilla donde podemos realizar el filtrado de los datos, el ordenamiento
de los mismos, etc.

Por ejemplo, para establecer un criterio de seleccin, se escribe directamente la condicin sobre la columna
Criteria.

En el panel inferior, se va generando la sentencia FQL.

FlexABSCI: Manual de Configurador 192


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 95: Editor FQL, generacin de consulta FQL

Clic sobre la tabla o vista elegida

Se abre la ventana con los atributos de la tabla/vista donde cliceamos sobre los check box de los
campos que deseamos mostrar

Especificamos la clusula WHERE en el campo idState, escribiendo directamente sobre la columna


Criteria

Se va generando automticamente la consulta en el panel inferior

Tambin es posible ingresar texto manualmente. Para ingresar una tabulacin, se deben presionar las
teclas Ctrl + Tab.

En el panel central podemos generar las relaciones (JOIN) por medio de las cuales queremos vincular las
diferentes tablas/vistas.

Esto es muy sencillo de hacer (Drag and Drop), ya que hay que ubicarse con el puntero del mouse sobre el
atributo origen, presionar botn izquierdo, mantener presionado, arrastrar hasta el atributo destino de la
relacin, y soltar.

FlexABSCI: Manual de Configurador 193


v62 207-SCI-SP (Configuracion).pdf
Figura 96: Editor FQL, generacin de relaciones

Tambin se pueden editar los JOIN generados, haciendo clic con botn derecho sobre la lnea de relacin.
Eligiendo la opcin Edit, se puede acceder a la ventana de Link Properties, como podemos ver en la
figura que sigue

Haciendo clic con botn derecho sobre la lnea de link (relacin), con la opcin Edit podemos
editar las propiedades de la misma.

En el panel inferior se van generando los JOIN correspondientes a las relaciones generadas
grficamente.

FlexABSCI: Manual de Configurador 194


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Haciendo clic sobre el botn Search (Buscar) se despliega un panel a la izquierda de la ventana, que
nos presenta una grilla con la columna Name, que contiene las sentencias FQL existentes de la clase que
se est editando.

Haciendo clic sobre cualquiera de ellos, los dems paneles toman la informacin de la sentencia elegida.
Esto se puede ver en la figura a continuacin

Figura 97: Editor FQL, seleccin de consulta existente

Clic sobre la sentencia

Los dems paneles toman la informacin de la sentencia elegida

Solapa XQL Editor


FlexABSCI: Manual de Configurador 195
v62 207-SCI-SP (Configuracion).pdf
Esta solapa es un prctico constructor de XQL, que sirve de auxiliar a la hora de crear los FQL. (Ver
Utilizacin de XQL en las consultas SQL de FlexAB)

La utilizacin de una aplicacin FlexAB supone que en todo momento se tiene un objeto en edicin, sobre
el cual se est operando. Toda la informacin respecto de este objeto se mantiene en memoria mediante
una estructura XML.
La estructura de un documento XML que encapsula la informacin de un objeto FlexAB, se compone de las
siguientes partes

Atributos comunes(idInternal, idApplication, idObject, tag, isClass, idState, idGroup)


Atributos definidos por el usuario
Mtodos
Relaciones de inclusin
Relaciones estructurales
Reglas de seguridad

Estas partes se estructuran con la siguiente sintaxis:

FlexABSCI: Manual de Configurador 196


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 98: Editor XQL

FlexABSCI: Manual de Configurador 197


v62 207-SCI-SP (Configuracion).pdf
La finalidad de este constructor de XQL, es lograr que por medio de la seleccin en el panel Object XML
del valor que necesitemos, se cree en la caja de texto inferior derecha, la estructura correspondiente de
acceso a dicho valor, y poder crear con ella la sintaxis correspondiente a la instruccin XQL, para poder
insertarla en la sentencia FQL.
Tambin podemos ingresar una sentencia XQL en la caja de texto del campo XQL, y presionando el Botn
de Ejecucin , se obtiene el resultado de la misma en el panel XQL Result.

Como se puede observar en la Figura 98, existen dos paneles (Object XML y Xql Result) un campo
XQL que puede tambin editarse a mano, un combo Function de donde seleccionar las funciones
disponibles en XQL, y una caja de texto no editable donde se compone la sentencia XQL.

FlexABSCI: Manual de Configurador 198


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
P ANEL OB JECT XM L
En este panel, nos encontramos con la definicin del XML. Es una forma ms legible de lectura del XML,
donde no se incorporan los valores de los atributos de los nodos con el fin de obtener una lectura ms
sencilla.

Para comprender el significado de los distintos renglones del panel, descomponemos a continuacin un
sector del mismo.

Las palabras en mayscula y color azul corresponden a NODOS


Las palabras entre corchetes y de color verde corresponden a ATRIBUTOS DE NODOS
Las palabras o nmeros entre parntesis y de color rojo corresponden a VALORES DE NODOS

Ejemplo

Descomponiendo el segundo rengln obtenemos

Descomponiendo el tercer rengln obtenemos

FlexABSCI: Manual de Configurador 199


v62 207-SCI-SP (Configuracion).pdf
P ANEL XQ L RESULT
En este panel encontramos el XML con sus valores respectivos
En la figura siguiente encontramos el XML correspondiente a los tres renglones que utilizamos en el
ejemplo del Panel Object XML.

Como se puede observar, los atributos del nodo IDINTERNAL aparecen con sus respectivos valores.

Como se ha especificado anteriormente, para obtener valores del XML debemos acceder a los mismos
recorriendo su estructura.

Ejemplo

Se tiene la siguiente consulta FQL, por medio de la cual se obtiene el CUIT y el Telefono de los clientes

SELECT classCLIENTE.CUIT,
classCLIENTE.Telefono
FROM classCLIENTE

Lo que se desea es obtener dichos datos pero solamente para el cliente actual, el cliente con el que se est
operando y cuyo XML es el que est en memoria actualmente. El cliente actual, es un dato que se
encuentra en el XML del objeto cliente, en el valor del nodo IDINTERNAL. Se debe pasar esa informacin al
FQL para que acte como filtro.
Lo haremos creando una sentencia XQL de la siguiente manera

Figura 99: Panel Object XML del Editor XQL

FlexABSCI: Manual de Configurador 200


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Clic sobre el nodo VALUE

En la caja de texto, se completa automticamente la ruta de acceso a la estructura del valor del nodo
VALUE

El paso siguiente es copiar el resultado de la caja de texto e incluirlo en la sentencia FQL (en el panel FQL
Editor) tal como se muestra a continuacin

SELECT classCLIENTE.CUIT,
classCLIENTE.Telefono
FROM classCLIENTE
WHERE classCLIENTE.idInternal =
'XQL:FIRST(//OBJECT/ATTRIBUTES/IDINTERNAL/VALUE)'

Descomponiendo entonces la sentencia FQL se tiene

XQL includo en la sentencia FQL

Como se mencion anteriormente es posible ingresar una sentencia XQL en la caja de texto, y presionando
el Botn de Ejecucin, se obtiene el resultado de la misma en el Panel XQL Result. La figura a continuacin
ilustra el ejemplo

FlexABSCI: Manual de Configurador 201


v62 207-SCI-SP (Configuracion).pdf
Se escribe la consulta XQL en la caja de texto

Clic sobre el botn de ejecucin

El panel devuelve el resultado correspondiente a la consulta XQL

Solapa Results

Presionando la tecla F5 se ejecuta la sentencia FQL y el resultado devuelto por la misma se puede observar
en la solapa Results

FlexABSCI: Manual de Configurador 202


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 100: Resultado devuelto por una consulta

Grabacin de la consulta

Para grabar la consulta hacemos clic sobre el botn Save

Al grabar, se realizan una serie de validaciones. Si algo est incorrecto, se despliega un panel de Error
Messages en la parte inferior de la ventana. En l se indican los errores por los cuales no se pudo grabar.
En el ejemplo siguiente, el mensaje que nos muestra es Name: Null value not allowed. Haciendo clic
sobre esta lnea de detalle del error, el foco va hacia el control que tiene el error, aunque est en otra
solapa.

Para este ejemplo el error est en la casilla de texto Name de la solapa Info, que est vaca.

FlexABSCI: Manual de Configurador 203


v62 207-SCI-SP (Configuracion).pdf
Figura 101: Manejo de errores en panel Error Messages

Panel de Error

Clic sobre el Error

El cursor se focaliza en el control que tiene el error

Barra de Menes del Editor

FlexABSCI: Manual de Configurador 204


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Cada opcin contiene el grupo de funciones que se detalla a continuacin:

Men File:

Save and Close: Graba la consulta y sale del Editor.


Save to Disk: Carga la consulta en un archivo de texto.
Load from Disk: Carga la consulta desde un archivo de texto.
Reload: Borra la sentencia SQL generada en el panel inferior del XQL Editor
Exit: Sale del Editor

Men Query:

Run: Ejecuta la consulta y muestra los resultados en el panel Results


Select Test Object: Selecciona un objeto de prueba
Resolve XQL: Muestra como queda el Sql una vez resuelto el XQL. Es necesario tener
seleccionado un objeto de prueba
View text XML: Muestra el Xml del objeto de prueba. Esto lo hace en el segundo panel del
XQL Editor
Clear
o Query: Borra la sentencia SQL generada en el panel inferior del XQL Editor
o Result: Borra los resultados de la ejecucin de la consulta SQL de la solapa Results
o Both: Ejecuta las dos opciones anteriores

Men Preferences:

Options: Abre la ventana de propiedades del control del Editor de FQL. No disponible para algunas
versiones de FlexAB.
FlexABSCI: Manual de Configurador 205
v62 207-SCI-SP (Configuracion).pdf
Figura 102: Ventana de propiedades del Editor FQL

FlexABSCI: Manual de Configurador 206


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
UTILIZACIN DE XQL EN LAS CONSULTAS SQL DE FLEXA B
(Ver Solapa XQL Editor)

Con los XQL podemos obtener los valores desde el XML que conforma el objeto sobre el cual estamos
trabajando.

Los XQL que devuelvan una lista de valores, deben utilizarse junto con las funciones provistas
por XQL.

Se debe respetar el uso de maysculas y minsculas.

Nota: SIEMPRE, tanto los XQL como las VAR deben ir OBLIGATORIAMENTE entre comillas simples.
Los datos tipo string, tendrn comillas simples porque el sistema se encarga de administrarlas.

Funciones de XQL

Las funciones que brinda el XQL son las siguientes:

SUM: Calcula la suma del campo seleccionado.


AVG: Retorna el valor promedio de una columna.
MIN: Retorna el valor mnimo de una columna.
MAX: Retorna el valor mximo de una columna.
COUNT: Retorna el nmero de celdas seleccionadas.
FIRST: Retorna el valor del primer registro en un campo especfico.
LAST: Retorna el ltimo valor de una columna.
ALL: Retorna todos los valores que existan
SUBSTR: Devuelve parte de una expresin de caracteres

Para los siguientes ejemplos se toma un objeto de la clase DATABASE que contiene tres objetos de la
clase HISTORIA includos. Este objeto ser utilizado para retornar los valores de las consultas.

FlexABSCI: Manual de Configurador 207


v62 207-SCI-SP (Configuracion).pdf
Figura 103: Objeto DATABASE con tres objetos HISTORIA incluidos

Tres objetos HISTORIA includos

Ejemplo

XQL:FUNCTION(strXQL) o XQL:SUBSTR(strXQL, initial, length)

Podemos recorrer la estructura y obtener los valores almacenados en el XML.

strXQL puede ser, como ejemplo:

//IDINTERNAL/VALUE
Retorna el valor de idInternal que posee el XML del objeto. Segn el caso, debe utilizarse con la funcin
correspondiente

Sentencia: SELECT 'XQL:FIRST(//IDINTERNAL/VALUE)'


Devuelve el primer IDINTERNAL de la estructura XML del objeto. En este caso del objeto de la clase
DATABASE (raiz)
Resultado: 120020100000001

Sentencia: SELECT 'XQL:ALL(//IDINTERNAL/VALUE)'


Devuelve el IDINTERNAL del objeto, ms los IDINTERNAL de los objetos includos
FlexABSCI: Manual de Configurador 208
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Resultado: 120020100000001, 120020100000002, 120020100000003, 120020100000004

Sentencia: SELECT 'XQL:COUNT(//IDINTERNAL/VALUE)'


Devuelve la cantidad de valores existentes para IDINTERNAL en el XML del objeto. Son el del objeto raiz
ms los tres includos.
Resultado: 4

ATTRIBUTES/IDINTERNAL/VALUE
Retorna el valor del idInternal del objeto que est en el XML, en este caso solo del objeto raiz y no de
sus objetos includos.

Sentencia: SELECT 'XQL:(ATTRIBUTES/IDINTERNAL/VALUE)'


Resultado: 120020100000001

//DESCRIPCION/VALUE
Retorna el valor de DESCRIPCION que posee el XML del objeto. Segn el caso, debe utilizarse con la
funcin correspondiente. (Ver //IDINTERNAL/VALUE)

//OBJECTINCLUDE/OBJECT[@idCLASS=CLASENOMBRE']/ATTRIBUTES/IDINTERNAL/
VALUE

FlexABSCI: Manual de Configurador 209


v62 207-SCI-SP (Configuracion).pdf
Retorna los IDINTERNAL de los objetos incluidos que sean de la clase que hayamos indicado en
CLASENOMBRE . Se debe usar la funcin correspondiente

Sentencia:SELECT
'XQL:ALL(//OBJECTINCLUDE/OBJECT[@idCLASS='HISTORIA']/ATTRIBUTES/IDINTERNAL/VA
LUE)'
Devuelve todos los IDINTERNAL de los objetos de la clase HISTORIA que estn includos en el XML del
objeto
Resultado: 120020100000002, 120020100000003, 120020100000004

Sentencia: SELECT
'XQL:FIRST(//OBJECTINCLUDE/OBJECT[@idCLASS='HISTORIA']/ATTRIBUTES/IDINTERNAL/
VALUE)'
Devuelve el IDINTERNAL del primer objeto de la clase HISTORIA que est includo en el XML del objeto
Resultado: 120020100000002

ATTRIBUTES/NN/LISTVALUES/VALUE
Retorna la lista de todos los valores del atributo NN. En este caso para listar todos los valores posibles debe
tratarse de un atributo de tipo COMBO o LIST, los cuales enumeran una lista de valores.
Para este ejemplo, se tiene una clase TAREAS la cual posee un atributo llamado Importancia que es de
tipo Combo y que tiene cargados la lista de valores que muestra la figura

FlexABSCI: Manual de Configurador 210


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Lista de valores del combo del atributo Importancia

Vista del sector del XML del objeto de la clase TAREAS donde est el atributo Importancia

Lista de valores del combo del atributo Importancia

Sentencia: SELECT 'XQL:ALL(ATTRIBUTES/IMPORTANCIA/LISTVALUES/VALUE)'


Devuelve la lista completa de valores que contiene el atributo Importancia
Resultado: 'Urgente', 'Alta', 'Media', 'Baja'

//VALUE[@idInternal=119990100000004]
FlexABSCI: Manual de Configurador 211
v62 207-SCI-SP (Configuracion).pdf
Sentencia: SELECT 'XQL:(//VALUE[@idInternal=119990100000004] )'
Devuelve el valor de texto que representa al idInternal 119990100000004 para un atributo tipo
RELATION
Resultado: 'Gerardo Diaz'

//OBJECT/OBJECTINCLUDE/OBJECT[@idCLASS='MAQUETA']/ATTRIBUTES/COLOR/VA
LUE

Caso planteado: Dentro de la clase A, estn incluidas las clases Detalle, Maqueta y Ubicacion. Todas
estas clases tienen un atributo llamado color.
Como se referencia por ejemplo, al atributo color de la clase incluida Maqueta?

Sentencia: SELECT
'XQL:FIRST(//OBJECT/OBJECTINCLUDE/OBJECT[@idCLASS='MAQUETA']/ATTRIBUTES/COLO
R/VALUE)'

Devuelve el valor Resultado: 'Azul'

FlexABSCI: Manual de Configurador 212


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
VARIABLES DE ENTORNO
Nota: Estas variables devuelven texto plano, no confundir con las variables de sistema
(Ver Solapa Help)

Tenemos diferentes variables de las cuales podemos obtener datos, la utilizacin es de la siguiente manera:

VAR:NOMBREVARIABLE

A continuacin se enumeran las distintas variables a utilizar y se ejemplifican algunas

IDAPPLICATION
Identificador numrico de la aplicacin actual
Sentencia: SELECT 'VAR:IDAPPLICATION'
Resultado: 3

IDUSER
Identificador de usuario actual
Sentencia: SELECT 'VAR:IDUSER'
Resultado: 'alopez'

IDSYSTEM
Identificador de sistema actual
Sentencia: SELECT 'VAR:IDSYSTEM'
Resultado: 'COM'

IDSESSION
Identificador de sesin actual

IDLANG
Identificador de lenguaje activo
Sentencia: SELECT 'VAR:IDLANG'
Resultado: 'SPA'

IDAPPLICATIONDESCRIPTION
Descripcin de la aplicacin actual
Sentencia: SELECT 'VAR:IDAPPLICATIONDESCRIPTION'
Resultado: 'Ventas'

IDSYSTEMDESCRIPTION
Descripcin del sistema actual

IDSPACE
Identificador el espacio de trabajo actual

TEMPDIR
Identificador el directorio de trabajo temporal
Sentencia: SELECT 'VAR:TEMPDIR'
Resultado: 'D:\Appliware\FlexAB\temp\'

FlexABSCI: Manual de Configurador 213


v62 207-SCI-SP (Configuracion).pdf
EDITOR DE METODOS METHOD EDITOR

Nota: Para la ejecucin de los mtodos de FlexAB es necesario tener instalado Microsoft Office 2000 o
superior. Para la ejecucin de mtodos de tipo Project, es necesario tener instalado Microsoft Project 2000
o superior.

Nota: Cuando se trabaja desde una clase de tipo Mdulo, los Mtodos, FQLs y Reportes, al estar en
edicin y ejecutar el comando Guardar, quedan almacenados definitivamente.
Ejemplo: si se est realizando un Reporte dentro de un mtodo y se guarda, el Reporte queda almacenado
aunque se cancele la edicin del mtodo.
Cuando se trabaja desde el Editor de Clases, esto es diferente. Los cambios quedan almacenados
definitivamente al Generar la clase. El Editor de Help trabaja nicamente en este ltimo modo.

Los mtodos son aquellas funciones que permite efectuar el objeto, y que nos rinden algn tipo de
servicio durante el transcurso del programa. Determinan a su vez como va a responder el objeto cuando
recibe un mensaje.
Un mtodo es un programa asociado a un objeto (o a una clase de objetos), cuya ejecucin se
desencadena mediante un "mensaje". De esta forma el objeto se activa y responde al evento segn lo
determinado en el mtodo.

Existen mtodos que son GLOBALES y mtodos que son propios de cada clase. Los mtodos GLOBALES
pueden ser utilizados por las clases, pero no pueden ser modificados desde las mismas. Deben modificarse
directamente desde el Editor de Mtodos.
Estos mtodos GLOBALES se encuentran contenidos en el mdulo SHAREDMETHODS.

Mtodos Globales Acceso desde Editor de Mtodos


Mtodos pertenecientes a Clases Acceso desde el Editor de la Clase

Para ingresar al Editor de Mtodos, debemos presionar el botn correspondiente al mismo en la Barra
de Herramientas de FlexAB-SCI. De esta forma accedemos al Editor de Mtodos para trabajar
nicamente con Mtodos globales (contenidos en Mdulos).
A los Mtodos pertenecientes a las clases se accede desde el Editor de Clases.

Clic sobre botn Method Editor en la Barra de Herramientas del FlexAB-SCI

La barra de herramientas del Editor de Mtodos, est formada por los siguientes iconos

1 - New Method: crea un nuevo mtodo.


2 - Search Method: permite buscar un mtodo existente desplegando una grilla de bsqueda. Se puede
observar que cada mtodo posee un icono con el significado que se detalla a continuacin

FlexABSCI: Manual de Configurador 214


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Desde un mdulo indica que el mtodo no est siendo utilizado por ninguna clase. Desde una
clase indica que la clase no est utilizando el mtodo. Puede ser eliminado.

Desde un mdulo indica que el mtodo est siendo utilizado por una clase. Desde una clase
indica que la clase utiliza en un lugar al mtodo.
Desde un mdulo indica que el mtodo est siendo utilizado por varias clases. Desde una clase
indica que la clase est utilizando el mtodo en varias situaciones.

3 - Delete Method: permite borrar un mtodo contenido en un mdulo.


4 Edit Method: permite editar un mtodo.
5 Save Method: permite grabar un mtodo.
6 Undo Unlock: permite desbloquear un mtodo y lo vuelve al estado de su ltima grabacin.
7 Copy Method: permite copiar un mtodo.
- No se copian los FQL que contenga el mtodo
8 Pastes a Method: permite pegar un mtodo.
- Cuando se pega el mtodo en el destino (una clase o directamente en el mdulo
SHAREDMETHODS en modo directo), se pega como nuevo, por lo que tendr un nuevo Method Id.

La ventana del Editor de Mtodos, contiene dos sectores. Un sector con la grilla que contiene los

mtodos del mdulo SHAREDMETHODS, y otro sector con la descripcin del mtodo seleccionado de
la grilla.

El mdulo SHAREDMETHODS es aquel que contiene los mtodos que son globales. Esto significa que
pueden ser utilizados por todas las clases, pero solamente modificados desde el Editor de Mtodos. Una
clase tambin puede utilizar mtodos que sean privados. Estos mtodos, son propios de la clase y no
pueden ser utilizados por otra clase, y se accede a los mismos desde el Editor de Clases.

FlexABSCI: Manual de Configurador 215


v62 207-SCI-SP (Configuracion).pdf
Lista de Mtodos de la clase de tipo Mdulo SHAREDMETHODS

Detalle del Mtodo 162 de la clase SHAREDMETHODS, el cual est seleccionado

El sector contiene dos partes. La parte superior corresponde al mdulo al cual pertenecen todos
los mtodos listados en la grilla.
Cuando se edita una clase, en el combo tambin aparece la clase. Y si se selecciona la clase se listan los
mtodos de la misma. Cuando se edita una clase, no se pueden editar los mtodos pertenecientes a
mdulos, solo es posible seleccionarlos.

La parte inferior corresponde a la lista de estos mtodos.


En la imagen de ejemplo, se tiene un mdulo SHAREDMETHODS, con los mtodos que lo integran listados
en la grilla.

El sector , contiene dos sectores. Un sector superior con informacin comn para todos los

mtodos, y un sector inferior , con la informacin particular referente al tipo de mtodo (Type) que se
est utilizando.

FlexABSCI: Manual de Configurador 216


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 104: Ventana del Editor de Mtodos

Seccin superior

Seccin inferior

Campos de la Seccin superior

Identifier: identificador del mtodo.


Class: indica la clase a la que pertenece el mtodo. Puede pertenecer a una clase en particular, o
como en este caso, al mdulo SHAREDMETHODS.
Visibility: No implementado an. Corresponde al tipo de ejecucin del mtodo. Puede ser
Internal, External o All:

- Internal: cuando el mtodo slo puede ser ejecutado desde la clase (privado).
- External: cuando el mtodo puede ser ejecutado desde afuera (pblico).
- All: puede ser ejecutado de modo interno y externo.

Type: seleccionar el tipo de mtodo de la lista. De acuerdo al tipo de mtodo se activan los campos
correspondientes en la seccin inferior. Cada tipo de mtodo tiene un icono que lo identifica.

FlexABSCI: Manual de Configurador 217


v62 207-SCI-SP (Configuracion).pdf
Figura 105: Tipos de Mtodos

Descripcin: denominacin del mtodo.

Seccin inferior
Esta seccin es diferente para cada tipo de mtodo, dependiendo de las caractersticas del mismo.

A CERCA DE LOS NOMBRES DE LOS MTODOS PERTENECIENTES A CLASES

Varios mtodos de una clase pueden tener el mismo nombre.

Los mtodos se definen por estado. Dependiendo del estado en que se encuentra el objeto, se ejecutan los
mtodos correspondientes a ese estado.

Podrian haber varios mtodos definidos para el evento UserEvent con el mismo nombre en un estado.
Desde la interfaz de usuario, al hacer clic con botn derecho sobre el objeto, el usuario solo vera el
nombre del mtodo una vez, pero en caso de ejecutarlo, estaria disparndolos a todos.

De esta manera, se ejecutan todos los mtodos respetando el orden que tienen en el estado. (Tambin
entran en juego los mtodos definidos en el estado INITIAL) . Por lo tanto el orden de ejecucin de los
mtodos es el que aparece en la solapa All Methods de la Solapa Flow, en el editor de la clase.

La excepcin a esta regla, son los mtodos UPDATE. Estos son los primeros en ejecutarse, y luego sigue el
resto.

(Ver Clases Reales, Solapa Flow, Visualizacin y Orden de Ejecucin de los mtodos)

Los mtodos GLOBALES, no tienen nombre.

FlexABSCI: Manual de Configurador 218


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Nombre del mtodo, en columna Method Name

Lista de los mtodos que tiene la clase, y el orden de ejecucin de los mismos.

FlexABSCI: Manual de Configurador 219


v62 207-SCI-SP (Configuracion).pdf
TIPOS DE MTODOS

OPERATI ON
Mtodo para realizar operaciones. Este mtodo genera un cambio de valor del XML activo. Lo que
hace es, mediante una consulta SQL, traer las n columnas del resultado, y la columna correspondiente
(indicada por Fql Field) la copia en el atributo deseado.

Figura 106: Ventana de Mtodo Operation

Data Source: Los mtodos deben poseer un FQL asociado. Se puede crear un FQL o levantar uno
existente. Al presionar el botn SQL, se activa la ventana del Editor FQL (Ver Editor FQL).
Object: referencia dentro del XML al objeto en s (OBJECT), a los objetos includos (INCLUDE),
al padre del objeto (FATHER), a la clase abstracta que contenga el objeto (ABSTRACT) , y al primer valor
que encuentre en el XML del objeto (ABSOLUTE VALUE)

Attribute: nombre del atributo al que se asignar el resultado devuelto por la consulta FQL. Este
atributo es en relacin valor elegido en campo Object.
FlexABSCI: Manual de Configurador 220
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Si en columna Object se selecciona OBJECT, la columna Attribute muestra un combo con la lista de
atributos del objeto en s

Fql Field: como el resultado del FQL tiene n columnas, se especifica cual es la columna que se
desea copiar como valor correspondiente al campo de la columna Attribute.
Por ejemplo, en la siguiente consulta tenemos siete campos en la proyeccin

SELECT FlexABTST.dbo.classBUG.idApplication,
FlexABTST.dbo.classBUG.idObject,
FlexABTST.dbo.classBUG.tag,
FlexABTST.dbo.classBUG.idState,
FlexABTST.dbo.classBUG.Title,
FlexABTST.dbo.classBUG.[ID Area],
FlexABTST.dbo.classBUG.Area
FROM FlexABTST.dbo.classBUG

La columna Fql Field, contiene un combo con los siete campos que la consulta contiene, de los cuales se
debe seleccionar el campo que sea necesario.

Type: indica si la consulta FQL, devolver un valor (VALUE) , devolver una lista de valores
(LISTVALUE) o se aplicar sobre el nivel de seguridad del atributo (SECURITY). Ver ejemplo de seguridad
del atributo.

If its Empty: Significa que solo se ejecutar cuando el atributo no contenga un valor, o sea
siempre que est en blanco.
FlexABSCI: Manual de Configurador 221
v62 207-SCI-SP (Configuracion).pdf
Allows Null: indica si acepta valores nulos

Constant : Si existe un valor en esta columna, se tomar el mismo en vez del valor devuelto por el
FQL. En este caso no es necesario ingresar una consulta FQL. Si la columna Constant est en blanco, se
exigir una consulta FQL. El valor de la columna es cualquiera que el usuario defina.

EJEMPLO 1:
En este ejemplo definiremos un mtodo de tipo Operation.

El caso prctico es querer asignar un nmero de identificacin (Tag) a la nueva Tarea que se carga en el
sistema.
Este nmero debe ser el siguiente al mayor existente en los objetos de dicha clase.

El resultado que obtendremos, ser que el objeto que se guarda, obtendr su Tag por medio de un
mtodo, sin que el usuario lo deba ingresar.

Como vemos en la siguiente figura, el mtodo definido se ejecutar en el estado INITIAL del objeto.

Figura 107: Editor de clases, solapa Flow, creacin del Mtodo

Entonces en nuestra clase TAREA definimos el mtodo 133 y su evento disparador ser BeforeSave (Ver
Solapa Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
o Group = *
En todos los sistemas
o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

FlexABSCI: Manual de Configurador 222


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 108: Creacin del Mtodo Operation

Aqu ingresaremos la informacin

En Data Source, haciendo clic en el botn SQL accederemos al Editor FQL, donde crearemos la
consulta FQL asociada al mtodo que nos devolver el valor que necesitamos para el Tag.

Como podemos observar, el nombre de la consulta es NROTareaDefecto y es la siguiente:

SELECT NroSiguiente
FROM (SELECT CONVERT(CHAR(6),(MAX(CONVERT(INTEGER,TAG))+1)) AS NroSiguiente
FROM OBJECT
WHERE IDCLASS IN('TAREA') )
TABLA

Como podemos observar arriba, esta consulta devolver un solo campo.

Nuestro mtodo tiene como funcin modificar el atributo Tag, por lo tanto debemos ingresar el
identificador del atributo a modificar.
Para poder modificar un atributo, debemos llegar a l, atravesando la jerarqua que XML asigna a un
atributo para poder llegar al dato. Como Tag, es un atributo, debemos indicar en los ATRIBUTOS (indicado
como ATTRIBUTE), el atributo Tag .
FlexABSCI: Manual de Configurador 223
v62 207-SCI-SP (Configuracion).pdf
Object = OBJECT
o Significa que el atributo corresponde al objeto (no a su padre o sus includos)
Attribute = TAG
o Significa que el valor modificar el atributo TAG
Fql Field =1
o Significa que tomar el valor de la columna 1 del resultado de la consulta
Type = VALUE
o Significa que devolver solo un valor (y no una lista de valores)
If its empty = SI
o Significa que solo se ejecutar cuando el atributo no contenga un valor .
Allows Null = SI
o Significa que permitir valores nulos

EJEMPLO 2:
En este ejemplo definiremos otro mtodo de tipo Operation.

El caso prctico es que tenemos un atributo con un tipo de control combo, donde al elegir una de las
opciones, se carga a travs del mtodo otro atributo tambin de tipo combo con las opciones
correspondientes a lo elegido en el primero.

En el caso presentado, se presume una clase de tipo FACTURA donde se elige en el primer atributo la
Forma de Pago, y dependiendo de la elegida, la consulta FQL carga en otro atributo llamado TIPO las
opciones correspondientes a la Forma de Pago elegida.

El resultado que obtendremos, ser que para cada opcin elegida en el primer combo, se desplegarn una
serie de opciones en el segundo.

Entonces en nuestra clase FACTURA definimos un mtodo cuyo evento disparador ser FieldChange (Ver
Solapa Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
Se especifica el atributo, ya que cada vez que cambie el mismo (Forma de Pago), cambian las
opciones del atributo TIPO
o Attribute = FormaPago
No importa el grupo a que pertenezca
o Group = *
En todos los sistemas
o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

FlexABSCI: Manual de Configurador 224


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 109: Creacin del Mtodo Operation

Aqu ingresaremos la informacin

En Data Source, haciendo clic en el botn SQL accederemos al Editor FQL, donde crearemos la
consulta FQL asociada al mtodo que nos devolver el valor que necesitamos para llenar el combo del
atributo TIPO.

Como podemos observar, el nombre de la consulta es (MET)TraeDetalleFormaPago y es la siguiente:

SELECT classTIPO.Detalle As VALUE


FROM classFACTURA
INNER Join classFORMAPAGO
On classFACTURA.[ID FORMAPAGO] = classFORMAPAGO.idInternal
INNER Join OBJECTrelaInclude
On classFORMAPAGO.idInternal = OBJECTrelaInclude.idFather
INNER Join classTIPO
On OBJECTrelaInclude.idChild = classTIPO.idInternal
WHERE classFACTURA.[ID FORMAPAGO]
='XQL:FIRST(//OBJECT/ATTRIBUTES/FORMAPAGO/VALUE/@idInternal)'

Como podemos observar arriba, esta consulta devolver un solo campo y en algunos casos es posible que
devuelva mltiples valores, por eso en Type elegimos la opcin LISTVALUE .

FlexABSCI: Manual de Configurador 225


v62 207-SCI-SP (Configuracion).pdf
Nuestro mtodo tiene como funcin llenar con las opciones de la Forma de Pago elegida, el atributo TIPO,
por lo tanto debemos ingresar el identificador del atributo a modificar.
Para poder modificar un atributo, debemos llegar a l, atravesando la jerarqua que XML asigna a un
atributo para poder llegar al dato.
La diferencia con el Ejemplo 1, es que este mtodo, devuelve una lista de valores y no un valor nico.

Object = OBJECT
o Significa que el atributo corresponde al objeto (no a su padre o sus includos)
Attribute = TIPO
o Significa que el valor/es se cargar en el campo TIPO
Fql Field =1
o Significa que tomar el valor de la columna 1 del resultado de la consulta
Type = LISTVALUE
o Significa que devolver una lista de valores
If its empty = NO
o Significa que se ejecutar siempre
Allows Null = SI
o Significa que permitir valores nulos

EJEMPLO 3:

Modificar la Seguridad de un atributo

En este ejemplo definiremos otro mtodo de tipo Operation que modifique la seguridad de un atributo.

El caso prctico es la realizacin de la carga de Pedidos de una empresa. Por cada artculo que integra el
Pedido, se crea un objeto includo de la clase PEDITEM. Al editar los objetos de la clase PEDITEM, el Precio
Unitario de los articulos solamamente permitiremos que sea modificado por los usuarios pertenecientes al
grupo Administradores.

Definimos entonces en el estado INITIAL (para que corra en todos los estados) de la clase PEDITEM un
mtodo que se ejecutar en el evento Edit, con las caractersticas que se indican en las figuras siguientes

FlexABSCI: Manual de Configurador 226


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Mtodo creado en el evento Edit

Se indica el nombre del atributo sobre el cual se aplicar el mtodo

Se indica que el mtodo afectar la seguridad del atributo

FlexABSCI: Manual de Configurador 227


v62 207-SCI-SP (Configuracion).pdf
En el FQL del mtodo, indicamos que si el usuario (Ver Variables de Entorno) no pertenece al UserGroup
Administradores, se aplique la seguridad 4 (solo lectura) . De lo contrario, que se aplique la seguridad
2147483646 (full control).

Seguridad 4, correspondiente a solo lectura.

Seguridad 2147483646, correspondiente a full control.

La imagen a continuacin, corresponde a la Interfaz de Usuario (FlexAB SUI).


Esta imagen muestra un sector del Editor de Objetos, tal como la vera un usuario que no integre el
UserGroup Administradores de FlexAB. Como se observa, el campo Precio Unitario, est en modo solo
lectura.

FlexABSCI: Manual de Configurador 228


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Atributo en modo solo lectura, del objeto de la clase PEDITEM, que se encuentra incluido en PEDIDO.

FlexABSCI: Manual de Configurador 229


v62 207-SCI-SP (Configuracion).pdf
UPD ATE
Este mtodo es el nico que modifica directamente los datos en la Base de Datos. No se utiliza el XML
de los objetos. Obligatoriamenta cambia de estado al objeto.

Restricciones
Cuando la clase tiene mtodos update, en el estado INITIAL no pueden existir
mtodos
En el estado al que pasar el objeto, solo puede haber mtodos Update
No se puede definir en SHAREDMETHODS; siempre este mtodo debe pertenecer
a una clase
Es un mtodo pblico, por lo cual est visible para otras clases
Este mtodo solamente puede ser invocado por eventos onMessage y UserEvent
Cuando es por UserEvent, se ejecuta solo el mtodo update que corresponde al
objeto que dispara el UserEvent. Este mtodo conoce el IdInternal del objeto que
lo est disparando
Cuando es por OnMessage, puede ser para una lista de objetos. Por lo tanto se
ejecutan los mtodos Update de cada uno de los objetos de la lista
No se puede modificar el IdObject de los objetos

FlexABSCI: Manual de Configurador 230


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Lista de Objetos de la clase, sobre los que se realizar el Update (esto depende si el evento que lo
dispara es OnMessage o UserEvent). La sentencia SQL debe contener obligatoriamente IdInternal. No
puede contener XQL, ya que no se utiliza el XML de los objetos.

Estado al que pasar el objeto. Este estado solamente puede contener mtodos de tipo Update,
ningn otro. Esto se debe a que no tiene el XML del objeto para ejecutar cualquier otro mtodo. En Initial
tampoco puede haber mtodos que no sean Update.

Al tildar esta opcin, los objetos sern actualizados en conjunto, de una sola vez. De lo contrario, se
realizarn actualizaciones individuales por cada objeto.

Ejemplo: Tenemos el caso de querer asignar a una serie de comprobantes, la numeracin correspondiente
a cada uno. Esa numeracin, ser la del mximo nmero asignado al tipo de comprobante, ms uno.

En el caso de tener tildada la opcin, se aplicar el nmero devuelto por la consulta SQL (por ejemplo 212)
a todos los objetos que existieran en la lista. Entonces todos los comprobantes de la lista se actualizaran
con el nmero 212. En caso contrario, sin tildar la opcin, se lo har uno por uno. Se pondr el nmero
correspondiente al primer objeto, luego se ejecutar otra vez el mtodo para el segundo objeto con el
nmero del ltimo objeto asignado ms uno , y as sucesivamente. De esta forma el primer comprobante
tendr el nmero 212, el segundo 213, el tercero 214, etc.

Al tildar esta opcin, se indica que se actualicen los atributos virtuales que dependan de la grabacin
del objeto sobre el cual corre el mtodo. Al actualizar un objeto que estuviera referenciado en otro de otra
clase (por medio de un atributo relation) y esta ltima clase tuviese un atributo virtual que se modifica con
la grabacin del objeto relacionado, solo se realizar esto si se tilda la opcin.

Atributo que ser modificado

Campo de la sentencia SQL que modificar el campo.

Consideraciones
Seleccin por Estado
La ejecucin de un mtodo Update, es posible dividirla en dos partes:
durante la primera etapa se cambia el estado de los objeto/s que sern afectados
durante la segunda etapa se realiza la modificacin indicada en el mtodo sobre dichos
objeto/s

Cuando la sentencia SQL del mtodo, tiene una seleccion por estado (en el WHERE existe una
condicin que filtra por el estado del objeto), luego de la ejecucin del mtodo la interfaz de
usuario puede informar que no se devuelven registros.

La causa ms probable de esto, es que solo se haya realizado la primera etapa de la ejecucin. Al
querer realizar la etapa siguiente, la consulta SQL intenta traer los mismos objetos pero no lo
consigue, ya que el estado les ha sido cambiado.

FlexABSCI: Manual de Configurador 231


v62 207-SCI-SP (Configuracion).pdf
Ejemplo

En este ejemplo a travs de un evento UserEvent, se dispara un mtodo Update que pone la fecha de
cierre a una conciliacin bancaria, en caso que no posea dicha fecha.
Esta conciliacin, es un objeto.

Se define en la clase Conciliacion, en el evento UserEvent, un mtodo cuyo nombre ser Conciliar
Periodo.
Este evento est definido para cuando el objeto tenga el estado Iniciada.

Mtodo definido para el evento UserEvent, cuyo nombre es Conciliar Periodo.

Estado para el cual se define el mtodo. En este caso para el estado Iniciada.

FlexABSCI: Manual de Configurador 232


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Nombre del mtodo o una descripcin del mismo.

Consulta SQL que devuelve el objeto u objetos sobre los cuales se aplicarn los cambios, y los valores
que se aplicarn. Debe contener obligatoriamente el campo IdInternal.

FlexABSCI: Manual de Configurador 233


v62 207-SCI-SP (Configuracion).pdf
Estado al que pasar obligatoriamente el objeto al correr el mtodo.

Nombre del Atributo a modificar.

Numero de campo que devuelve la consulta SQL, y que modificar al atributo. Ej. 1, 2, 3, etc.

FlexABSCI: Manual de Configurador 234


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
El atributo que se modificar es FechaCierreCB.

El campo 3 que devuelve la consulta SQL del punto 5 anterior (fechaCierre) ser el nuevo valor del
atributo.

Como resultado de la configuracin realizada, vemos en la FlexAB SUI, la forma de ejecutar el mtodo

FlexABSCI: Manual de Configurador 235


v62 207-SCI-SP (Configuracion).pdf
Objeto de la clase Conciliacion (2007/07/24), sobre el cual al hacer clic con botn derecho se
despliega la opcin de ejecutar los eventos UserEvent definidos.

Mtodo Update definido. Haciendo clic sobre el mismo se dispara la actualizacin de la fecha.

Dado que los eventos UserEvent se pueden ejecutar para varios objetos seleccionados, este mtodo tiene
la ventaja de poder actualizar muchos objetos rpidamente, como se ejemplifica a continuacin

FlexABSCI: Manual de Configurador 236


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
El Estado de los objetos es Iniciada

Varios objetos CONCILIACION seleccionados

Se aplica el mtodo para todos ellos

FlexABSCI: Manual de Configurador 237


v62 207-SCI-SP (Configuracion).pdf
Luego de la ejecucin del mtodo, el Estado de los objetos ha cambiado, y si algn objeto no tena
fecha de cierre, la misma fue completada.

FlexABSCI: Manual de Configurador 238


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
MS G (MESSAGE)
Este mtodo invoca mtodos de otras clases.

En la versin actual, la nica restriccin, es que los mtodos invocados sean de tipo UPDATE.

Nombre de la clase que tiene el mtodo Update a invocar

Nombre del mtodo Update invocado

FQL que devuelve una lista de objetos para los cuales se invocar el mtodo. Se debe indicar el
IdInternal y el IdClass

Para la explicacin del mtodo, haremos un ejemplo prctico de su utilizacin

En el caso presentado, se presumen una clase SEGUIMIENTO y una clase TAREA (padre de la anterior).

La finalidad del mtodo es que luego de la grabacin de un objeto SEGUIMIENTO, si el mismo est
100% completo, se invoque a un mtodo UPDATE de la clase TAREA (que es la clase padre de
SEGUIMIENTO).

Este mtodo cambiar el estado de la tarea a Cerrada.


FlexABSCI: Manual de Configurador 239
v62 207-SCI-SP (Configuracion).pdf
La clase SEGUIMIENTO tiene definido un mtodo Message, para todos los estados (por lo tanto se
define en INITIAL) que se dispara cuando ocurre el evento AfterSave.

Este mtodo se llama Cierra las Tareas.

El mtodo invocado en TAREA, se llama Cambiar Estado, y es disparado por el evento OnMessage, en
cualquier estado de la tarea (INITIAL).

Los eventos OnMessage, capturan los mtodos Message que se ejecutan para la clase.

FlexABSCI: Manual de Configurador 240


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
El mtodo correr en cualquier estado

El evento que disparar al mtodo Message ser AfterSave

El nombre del mtodo Message que invocar al mtodo Update de la tarea es Cierra las Tareas

FlexABSCI: Manual de Configurador 241


v62 207-SCI-SP (Configuracion).pdf
Clase destino del mtodo Message

Mtodo Update de la clase destino que se invoca.

Sentencia FQL que indica el o los objetos que se sern los alcanzados por el mtodo Update de la
clase destino. Se indica el IdInternal de estos objetos (en este ejemplo el padre del objeto actual) y la clase
a la que pertenecen. Adems aqu est indicado que el campo PORCCOMPLETADO=100 en los objetos.

SELECT PAD.idFather AS IDINTERNAL,


'TAREA' AS idCLASS
FROM classSEGUIMIENTO S INNER JOIN
class_OBJECTfather1 PAD ON S.idInternal = PAD.idChild
WHERE S.IDINTERNAL = 'XQL:FIRST(//IDINTERNAL/VALUE)' AND
'XQL:FIRST(//PORCCOMPLETADO/VALUE)' = 100

Nota: Los objetos alcanzados por el mtodo, surgirn de la interseccin de los devueltos en este SQL y el
SQL del mtodo UPDATE invocado.

FlexABSCI: Manual de Configurador 242


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Mtodo Cambio Estado definido en clase TAREA.

El mtodo correr cuando la tarea tenga el estado PENDIENTE

El evento que captura al mtodo Message enviado desde el objeto Seguimiento es OnMessage

El nombre del mtodo Update que cambiar el estado de la tarea es Cambio Estado

Ingresando al Editor de Mtodos, configuramos el mtodo UPDATE de la clase TAREA.

FlexABSCI: Manual de Configurador 243


v62 207-SCI-SP (Configuracion).pdf
Consulta SQL que devuelve el objeto u objetos sobre los cuales se podrn aplicar los cambios. (Ver
Mtodo Update).

En este caso, al ejecutarse el mtodo Update, para responder a un Message, de toda la lista que presenta
el actual FQL, los cambios se harn sobre los objetos que resulten de la interseccin del FQL del mtodo
Message con este FQL.

Aqu se trae la lista de objetos que sean padres de objetos de la clase SEGUIMIENTO

SELECT PAD.idFather AS IDINTERNAL


FROM classSEGUIMIENTO S INNER JOIN
class_OBJECTfather1 PAD ON S.idInternal = PAD.idChild

Estado al que pasar el objeto cuando se corra el mtodo. (Ver Mtodo Update)

y Sin valores porque en este caso el mtodo solo cambiar el estado del objeto, cosa indicada
en el punto 2 (Next State).

FlexABSCI: Manual de Configurador 244


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
VALID ATE
Este tipo de mtodos es utilizado para realizar validaciones.

Figura 110: Ventana del Mtodo Validate

EJEMPLO 1:
En este ejemplo definiremos un mtodo de tipo Validate.

El caso prctico es que tenemos un atributo llamado Numero de Factura y queremos controlar que al
grabar la factura, el campo no est vaco.

En el caso presentado, se presume una clase de tipo FACTURA.

El resultado que obtendremos, ser que si la validacin no se cumple, el objeto no podr guardarse.

Entonces en nuestra clase FACTURA definimos un mtodo cuyo evento disparador ser BeforeSave (Ver
Solapa Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
o Group = *
En todos los sistemas
o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

FlexABSCI: Manual de Configurador 245


v62 207-SCI-SP (Configuracion).pdf
Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

Figura 111: Creacin del Mtodo Validate

Aqu ingresaremos la informacin

En Data Source, haciendo clic en el botn SQL accederemos al Editor FQL, donde crearemos la
consulta FQL asociada al mtodo que nos devolver el valor que necesitamos para realizar la validacin.

Como podemos observar, el nombre de la consulta es (MET)NroFactura y es la siguiente:

SELECT 'XQL:FIRST(ATTRIBUTES/NROFACTURA/VALUE)' As VALUE

Como podemos observar arriba, esta consulta devolver un solo campo.


El punto a resaltar aqu, es que la consulta est siendo realizada ntegramente sobre el XML del objeto, sin
consultar la Base de Datos.

Ingresamos la informacin para la configuracin del mtodo


FlexABSCI: Manual de Configurador 246
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Fql Field =1
o Significa que tomar el valor de la columna 1 del resultado de la consulta
Type = TXT
o El Type determina si lo que va a validar es:
 Cantidad de Registros (REC)
 Comparacin del resultado con un valor numrico (NUM)
 Comparacin del resultado con un valor de texto (TXT)
Sign = <>
o Es el signo de comparacin: =, <, >, <>, <=, >= utilizado en la validacin
Value= en blanco
o Significa una cadena de texto vaca

De esta manera, cuando el usuario deje el campo en blanco e intente grabar.

obtendr un mensaje como el siguiente :

Figura 112: Mensaje de Error del sistema al no cumplirse la validacin

EJEMPLO 2:
En este ejemplo definiremos otro mtodo de tipo Validate.

El caso prctico es que tenemos un atributo llamado Codigo de Cliente y queremos controlar que al
grabar una factura, el cliente ya existiera en el sistema anteriormente.

En el caso presentado, se presume una clase de tipo FACTURA.

El resultado que obtendremos, ser que si la validacin no se cumple, el objeto no podr guardarse.

Entonces en nuestra clase FACTURA definimos un mtodo cuyo evento disparador ser BeforeSave (Ver
Solapa Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
FlexABSCI: Manual de Configurador 247
v62 207-SCI-SP (Configuracion).pdf
o Group = *
En todos los sistemas
o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

Figura 113: Creacin del Mtodo Validate

Aqu ingresaremos la informacin

En Data Source, haciendo clic en el botn SQL accederemos al Editor FQL, donde crearemos la
consulta FQL asociada al mtodo que nos devolver el valor que necesitamos para realizar la validacin.
Como podemos observar, el nombre de la consulta es (MET)ExisteCliente y es la siguiente:

SELECT classCLIENTE.Codigo
FROM classCLIENTE
WHERE classCLIENTE.Codigo = 'XQL:FIRST(//OBJECT/ATTRIBUTES/CODCLIENTE/VALUE)'

Ingresamos la informacin para la configuracin del mtodo


Fql Field =1
o Significa que tomar el valor de la columna 1 del resultado de la consulta
Type = REC
FlexABSCI: Manual de Configurador 248
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
o El Type determina si lo que va a validar es:
 Cantidad de Registros (REC)
 Comparacin del resultado con un valor numrico (NUM)
 Comparacin del resultado con un valor de texto (TXT)
Sign = >
o Es el signo de comparacin: =, <, >, <>, <=, >= utilizado en la validacin
Value= 0
o Cero

Entonces el mtodo, realizar la consulta buscando un cliente con el CodCliente indicado. Si la cantidad de
registros que devuelve la misma es mayor a 0 (cero), indica que el cliente existe.

En caso que el cliente no exista, se obtendr un mensaje como el siguiente :

Figura 114: Mensaje de Error del sistema al no cumplirse la validacin

FlexABSCI: Manual de Configurador 249


v62 207-SCI-SP (Configuracion).pdf
MACRO
Los mtodos MACRO permiten ejecutar una secuencia de funciones COM de FlexAB sobre el resultado de
una consulta FQL. Estos mtodos permiten llevar a cabo operaciones tales como modificar las relaciones
con otros objetos, bloqueo, versionado y empaquetado de objetos, entre otras.
Estas operaciones permiten modificar atributos del XML de un objeto que no pueden modificarse desde un
mtodo operacin
- con las macros puedo modificar el objeto (includos, relaciones, etc)
- con los mtodos operacin puedo modificar atributos del objeto (cambiar un valor de atributo).
Para esto, el mtodo MACRO mantiene un XML de trabajo (XML auxiliar) sobre el cual se llevan a cabo
modificaciones intermedias.
Todas las funciones de la MACRO se ejecutan sobre un XML auxiliar. Por lo tanto, si se desea hacer una
operacin con otro objeto (por ejemplo crear otro objeto en otro espacio), es necesario poner en el XML
auxiliar el otro objeto para ejecutarle funciones.
El esquema resultante de la consulta FQL debe incluir los campos requeridos en la primera funcin que se
utilice. Es decir que si la funcin f tiene una lista de parmetros (nom1,, nomk) entonces el esquema de
la consulta FQL debe incluir al menos los campos nom1 nomk.

Figura 115: Mtodo Macro

Data Source: consulta FQL, que se utiliza para obtener los parmetros requeridos en las
funciones que utiliza la Macro.

Macro: funciones que ejecuta la Macro.

FlexABSCI: Manual de Configurador 250


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Las funciones disponibles son

Nombre: actualOBJECTToXML
Descripcin: Copia el XML del objeto actual , al XML auxiliar
Parmetros: --

Nombre: actualXMLtoOBJECT
Descripcin: Copia el XML auxiliar, al XML del objeto actual
Parmetros: --

Nombre: OBJECTlock
Descripcin: Bloquea un objeto cualquiera
Parmetros: idInternal

Nombre: OBJECTunlock
Descripcin: Desbloquea un objeto
Parmetros: idInternal

Nombre: objectErase
Descripcin: Elimina un objeto
Parmetros: idInternal, idFather

Nombre: objectRevision
Descripcin: Crea una revisin de un objeto
Parmetros: idInternal, idFather, Version, Description, datemake, ExecutedBy, CheckedBy,
ApprovedBy

Nombre: OBJECTpacking
Descripcin: Crea un paquete
Parmetros: idInternal

Nombre: OBJECTpackingUp
Descripcin: Restaura el paquete indicado con ruta completa Ej: C:\paquete.zip
Parmetros: Filename

Nombre: OBJECTtoXMLatt
Descripcin: Trae el XML de un objeto existente al XML auxiliar
Parmetros: idInternal, idFather

Nombre: OBJECTtoXMLnew
Descripcin: Traer el XML de un objeto nuevo al XML auxiliar
Parmetros: idClass, idFather

Nombre: OBJECTtoXMLcopy
Descripcin: Trae una copia de un objeto existente al XML auxiliar
Parmetros: idInternal, idFather

Nombre: SpaceChange
Descripcin: Cambia el espacio actual
Parmetro: NewIdSpace

Nombre: XMLtoOBJECT
Descripcin: Guarda el XML auxiliar como un objeto. Si existe el objeto lo pisa, sin lo crea.
Parmetros: --

Nombre: XMLtoXMLadd
Descripcin: Agrega un objeto incluido al XML auxiliar
FlexABSCI: Manual de Configurador 251
v62 207-SCI-SP (Configuracion).pdf
Parmetros: idCLASS, idFather

Nombre: XMLtoXMLdel
Descripcin: Elimina objeto incluido del XML auxiliar
Parmetros: idInternal

Nombre: XMLtoXMLchgFather
Descripcin: Cambia un padre de un objeto. El cambio lo hace sobre el XML auxiliar
Parmetros: idOldFather, idNewFather

Nombre: XMLtoXMLnewLink
Descripcin: Crea un nuevo Link a un objeto. Lo hace sobre el XML auxiliar
Parmetros: idNewFather, idnewSpace

EJEMPLO 1:
En este ejemplo definiremos un mtodo de tipo Macro.

Se trata de un NewLink.

El caso prctico es querer que al crear un CLIENTE, automticamente se cree en otro espacio de trabajo un
Link al CLIENTE creado. Esto se nos hace necesario para poder ingresar en este nuevo espacio de trabajo,
la documentacin de las operaciones con el CLIENTE.

El espacio donde se crea el CLIENTE es el 201 (llamado REAL), y el espacio donde se quiere crear el Link
es el 202 (llamado DOCUMENTACION).

En el caso presentado, se presume una clase de tipo CLIENTE.

El resultado que obtendremos, ser que al grabar el nuevo CLIENTE, automticamente se crear un Link al
mismo en el espacio DOCUMENTACION .

Entonces en nuestra clase CLIENTE definimos un mtodo cuyo evento disparador ser BeforeSave (Ver
Solapa Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
o Group = *
En todos los sistemas
o System = *

En todas las aplicaciones que utilicen esta clase


o Application = 0

Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

FlexABSCI: Manual de Configurador 252


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 116: Funciones para el Mtodo Macro

Debido a que la funcin XMLtoXMLnewLink requiere los parmetros idNewFather y idnewSpace, la


consulta contenida en el Data Source es la siguiente

SELECT 1 As idNewFather, 202 As idNewSpace

donde 1 es el ID del Nuevo padre, y 202 es el espacio donde se crear el Link

El resultado entonces sera el siguiente visto desde la Interfaz de Usuario (FlexAB-SUI):


Al grabar el nuevo cliente Alejandro Martnez en el espacio REAL, automticamente se crea un Link al
mismo, en el espacio DOCUMENTACION.

FlexABSCI: Manual de Configurador 253


v62 207-SCI-SP (Configuracion).pdf
Nuevo Cliente en el espacio REAL
Link creado en Espacio DOCUMENTACION

Figura 117: Link creado en el espacio indicado

Link del nuevo Cliente en el espacio DOCUMENTACION

FlexABSCI: Manual de Configurador 254


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
P RO GR AM
Mtodo que permite la ejecucin de un programa externo.

Figura 118: Mtodo Program

EJEMPLO 1:
En este ejemplo definiremos un mtodo de tipo Program.

El caso prctico es querer ejecutar un programa externo al momento de poner el objeto en Edicin.

En el caso presentado, se presume una clase de tipo FACTURA.

El resultado que obtendremos, ser la ejecucin del programa externo cuando el objeto se ponga en
edicin.

El programa se encuentra en la ruta C:\ y su nombre es EjemploManual.exe. Asimismo se le pasan dos


parmetros (Parametro1 y Parametro2).

Entonces en nuestra clase FACTURA definimos un mtodo cuyo evento disparador ser Edit (Ver Solapa
Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
o Group = *

En todos los sistemas


o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

FlexABSCI: Manual de Configurador 255


v62 207-SCI-SP (Configuracion).pdf
Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

Figura 119: Creacin del mtodo program

Aqu ingresaremos la informacin

Ingresamos la informacin para la configuracin del mtodo

Program Name =EjemploManual.exe


o Corresponde al nombre del programa que se desea ejecutar
File Path = c:\
o Corresponde a la ruta donde se encuentra el programa
Parameters = Parametro1, Parametro2

FlexABSCI: Manual de Configurador 256


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
o Corresponde a los parmetros que se le pasan al programa

Entonces el mtodo, al momento en que el objeto FACTURA se ponga en Edicin, ejecutar el programa.

A modo ilustrativo, en la pantalla siguiente se imprimen en la pantalla del programa ejecutado, los
parmetros pasados desde el mtodo.

Figura 120: Vista del programa externo con los parmetros recibidos

EJEMPLO 2:
En este ejemplo definiremos otro mtodo de tipo Program.

El caso prctico es querer ejecutar un programa externo de procesamiento por lotes(.bat) al momento
imprimir el objeto. Dicho programa se utiliza en este caso para copiar archivos.

En el caso presentado, se presume una clase de tipo FACTURA.

El resultado que obtendremos, ser la ejecucin del programa externo cuando el objeto se imprima.

El programa se encuentra en la ruta \\srvFlexAB\Ejemplo y su nombre es script.bat.

Entonces en nuestra clase FACTURA definimos un mtodo cuyo evento disparador ser Print (Ver Solapa
Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
o Group = *
En todos los sistemas
o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

FlexABSCI: Manual de Configurador 257


v62 207-SCI-SP (Configuracion).pdf
Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

Figura 121: Creacin del mtodo sin parmetros

Aqu ingresaremos la informacin

Ingresamos la informacin para la configuracin del mtodo

Program Name =script.bat


o Corresponde al nombre del programa que se desea ejecutar
File Path = \\srvFlexAB\Ejemplo
o Corresponde a la ruta donde se encuentra el programa. Algunas veces esta ruta cuando
est en una red, debe ser indicada mapeando la unidad.
Parameters = en blanco
o Corresponde a los parmetros que se le pasan al programa. En este caso no se pasan
parmetros

Entonces el mtodo, al momento en que el objeto FACTURA se imprima, ejecutar el programa.

FlexABSCI: Manual de Configurador 258


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
MSEXCEL
Mtodo que permite abrir un archivo Excel y cargarle el contenido con los datos que se le indiquen

Figura 122: Mtodo Excel

Source Filename: determina el nombre del archivo origen, con qu nombre se abrir el archivo
para trabajar. Si por ejemplo indicamos SELECT Liquidaciones.xls, tomar un archivo origen llamado
Liquidaciones.xls, que por defecto debe encontrarse en el directorio temporal
(.../Appliware/FlexAB/temp/Liquidaciones.xls) (Ver Source Filename en Metodo Word)

Target Filename: determina el nombre del archivo destino, con qu nombre ser guardado el
archivo.

Edit file after finish: abre el archivo despus de la ejecucin del mtodo

Nota: Cuando configuramos un evento Revision y trabajamos sobre un atributo FileLink, el checkbox de
Edit File Alter Finish, debe estar destildado. De lo contrario se abre el archivo en pleno proceso y se
produce un error en el revisionado.

FlexABSCI: Manual de Configurador 259


v62 207-SCI-SP (Configuracion).pdf
Panel Superior Data

Data Source: permite n consultas FQL asociadas. Data Source es el nombre de las consultas

Por ejemplo:
- (MET)TraeClientes
- (MET)FacturacionCliente

Figura 123: Panel Data del mtodo Excel

Cada una de estas consultas asociadas, tendr sus propios parmetros en el panel inferior Excel. Por
ejemplo, el resultado de la primer consulta, se cargar a partir de la fila 11 (Row) desde la columna 1
(Column) en una hoja llamada FACTURACION; el resultado de la segunda a partir de la fila 12 desde la
columna 2 en una hoja llamada INSTALACIONES, y as sucesivamente. Tambin podran varias consultas
cargarse en la misma hoja. (Ver Ejemplo 1)

Figura 124: Panel inferior Excel del mtodo Excel

Panel inferior Excel

Action Type: define si en la planilla Excel, los datos van a ser insertados o copiados.
o Copy copia desde la fila indicada, sobrescribiendo las restantes.
o Insert inserta las filas a partir de donde se le indique, pero desplaza las que hubiera
ms abajo, en caso de que hubiera.

Create Field Number: se utiliza conjuntamente con Create Sheet. Es un valor numrico que
representa el nmero de columna devuelto en el FQL del Data Source. Por ejemplo, tenemos la siguiente
consulta FQL
SELECT Nombre, Direccion FROM classPersonal

FlexABSCI: Manual de Configurador 260


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Si en Create Field Number indicamos 1, tomar los valores que devuelva el campo Nombre. Si se indica 2,
tomar los valores correspondientes a la columna 2, que es la correspondiente a Direccion.

Model Sheet: Nombre de la hoja de la planilla en la que trabajar.


Row: nmero de fila en la cual comenzarn a insertarse o copiarse los datos.
Column: nmero de columna en la cual comenzarn a insertarse o copiarse los datos.
Create Sheet: se utiliza conjuntamente con Create Field Number. Crea una hoja en la planilla por
cada valor devuelto en la columna elegida en Create Field Number. En cada hoja, pone el valor
correspondiente a cada registro devuelto, y nombra a la hoja con el valor que existe en el campo
correspondiente al Create Field Number elegido.
Por ejemplo, supongamos que la consulta SELECT Nombre, Direccion FROM classPersonal
devuelve los siguientes valores

Pedro Ramirez, Nogoy 1574


Luis Altamirano, Suipacha 46
Andres Repetto, Paran 1466
Luis Fernandez, Libertad 789

Si en el campo Create Field Number indicamos que tome la columna 1, crear una hoja en la planilla
llamada Pedro Ramirez, otra llamada Luis Altamirano y as sucesivamente, ya que son los valores
correspondientes a la columna 1.
En la hoja llamada Pedro Ramirez, pondr los datos del registro correspondiente, o sea Pedro Ramirez,
Nogoy 1574, en la hoja llamada Luis Altamirano pondr los datos Luis Altamirano, Suipacha 46 y as
sucesivamente por cada hoja creada.

Figura 125: Ejemplo de Create Sheet y Create Field Number

Model Hide: oculta la hoja de trabajo en la planilla despus que se realice la insercin o copia.
Invert: invierte los datos que vuelca en la planilla. Por ejemplo, si se indica que tiene que dejar los
datos a partir de la fila 11 (Row = 11), el sistema volcar el registro nmero 1 en la fila 11, el nmero 2 en
la fila 12, el nmero 3 en la fila nmero 13 y as sucesivamente. Si se tilda la casilla Invert, volcar el
registro nmero 1 en la fila 11, el nmero 2 en la fila 10, el nmero 3 en la fila 9 y as sucesivamente.

EJEMPLO 1:
En este ejemplo definiremos un caso tomando como referencia los datos de la imagen anterior.

En el caso presentado, se presume una clase de tipo CLIENTE.

El caso prctico es tener un archivo de MSEXCEL llamado Liquidaciones.xls, que acta como plantilla. En
dicha plantilla, tenemos un ttulo Listado de clientes activos y dos encabezados de columna: Razon
Social y Telfono, referentes a los datos de clientes.

FlexABSCI: Manual de Configurador 261


v62 207-SCI-SP (Configuracion).pdf
Figura 126: Archivo de Excel que se utilizar como plantilla

La funcionalidad en este caso, consiste en que despus de grabar un objeto de tipo CLIENTE, se ejecute
el mtodo y llene la plantilla con la Razon Social y los Telefonos de los clientes, en la hoja llamada
FACTURACION.

Entonces en nuestra clase CLIENTE definimos un mtodo cuyo evento disparador ser AfterSave (Ver
Solapa Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
o Group = *
En todos los sistemas
o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

FlexABSCI: Manual de Configurador 262


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

Figura 127: Creacin del mtodo Excel

Como podemos observar, el Data Source (MET)TraeClientes, tiene definidos en la solapa inferior Excel
los parmetros a los que hacemos referencia para nuestro ejemplo. Tambin se observa que existe otro
Data Source llamado (MET)FacturacionCliente cuyos parmetros no estn visibles, porque el mismo no
est seleccionado en la grilla. Este (MET)FacturacionCliente podra ejecutar una accin parecida a la de
nuestro ejemplo y tendra sus parmetros propios.

Entonces, el resultado obtenido para nuestro ejemplo sera el siguiente

FlexABSCI: Manual de Configurador 263


v62 207-SCI-SP (Configuracion).pdf
Figura 128: Resultado de la ejecucin del mtodo Excel

Uno de los errores ms comunes que suceden durante la ejecucin del mtodo es el de Permiso
Denegado, que sucede porque la aplicacin MSExcel se encuentra ejecutndose.

MSWORD
Permite abrir un archivo Word y cargarle el contenido con los datos que se le indiquen.
FlexABSCI: Manual de Configurador 264
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 129: Mtodo Word

Source Filename: determina el nombre del archivo origen, con qu nombre se abrir el archivo
para trabajar.

Cuando se quiere ejecutar el mtodo sobre un archivo contenido en un atributo FileLink del objeto, la
consulta del Source Filename debe ser de la siguiente manera (ver Nota)

SELECT REPLACE('XQL:FIRST(//IDAPPLICATION/VALUE)', '.', '_') +


'XQL:FIRST(//IDOBJECT/VALUE)' + 'ARCHIVO.DOC'

Donde Archivo.Doc corresponde a un atributo de tipo FileLink llamado Archivo, y que es el que
contiene al documento.

Si el nombre del atributo FileLink que contiene el documento fuera por ejemplo Informe, la consulta
debera ser de la siguiente manera

SELECT REPLACE('XQL:FIRST(//IDAPPLICATION/VALUE)', '.', '_') +


'XQL:FIRST(//IDOBJECT/VALUE)' + 'INFORME.DOC'
FlexABSCI: Manual de Configurador 265
v62 207-SCI-SP (Configuracion).pdf
Si un FileLink contiene el documento, y el evento que dispara el mtodo no es Revisin, debe primero
abrirse el documento desde el FilelLink y cerrarse enseguida. Esto es para que el documento baje al
directorio temporal de la mquina, desde donde lo toma el sistema para ejecutar el mtodo.

El campo Target Filename en este caso en que trabajamos con un FileLink, es igual que el Source
Filename.

Si el objeto tuviera ms de un atributo FileLink y se quisiera modificar varios de ellos, se debera hacer un
mtodo por cada uno de los atributos FileLink sobre los que quisiera actuar, indicando en el Source
Filename y en el Target Filename el nombre correspondiente.

Nota: Existe una regla de nomenclatura con la cual el FileLink es bajado al temporal desde el FileServer y
luego vuelto a subir.

Dicha regla es la siguiente: Aplicacin + IdObject +NombreAtributo.DOC.

NombreAtributo es el nombre del atributo FileLink que contiene el documento.

Por lo tanto en la consulta se cumple con dicha regla de la siguiente manera

SELECT REPLACE('XQL:FIRST(//IDAPPLICATION/VALUE)', '.', '_') +


'XQL:FIRST(//IDOBJECT/VALUE)' + ' NOMBREATRIBUTO.DOC'

Si el mtodo se quisiera ejecutar sobre un archivo que no est dentro de un atributo FileLink, debe
indicarse de la siguiente manera:

por ejemplo si creamos el siguiente Source Filename


SELECT Liquidaciones.doc

y creamos el siguiente Target Filename


SELECT Vacantes.doc

El mtodo tomar el archivo Liquidaciones.doc en la ruta por defecto de la carpeta temporal de trabajo
(.../Appliware/FlexAB/temp/Liquidaciones.doc), lo usar como plantilla, y crear un archivo llamado
Vacantes.doc donde estar el resultado de la aplicacin del mtodo. Siempre el directorio de trabajo ser
el de la carpeta temporal.

Target Filename: determina el nombre del archivo destino, con qu nombre ser guardado el
archivo.

Edit file after finish: abre el archivo despus de la ejecucin del mtodo

Nota: Cuando configuramos un evento Revision y trabajamos sobre un atributo FileLink, el checkbox de
Edit File Alter Finish, debe estar destildado. De lo contrario se abre el archivo en pleno proceso y se
produce un error en el revisionado.

Panel Superior Data

FlexABSCI: Manual de Configurador 266


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Data Source: permite n FQLs asociados. Data Source es el nombre de la consulta.

Por ejemplo:
-(MET)TraeRevisiones

Figura 130: Panel Data del Mtodo Word

Cada una de estas consultas asociadas, tendr sus propias etiquetas en el panel inferior Word a las que
llenar con datos.

Panel Inferior Word

Fql Field: la consulta SQL puede devolver n nmero de columnas. En este campo se especifica cual
de las columnas del FQL es la que va a copiar en la marca incorporada en el Word.
Text: marca o etiqueta incorporada en el archivo de Word, en donde se copiar el valor obtenido de
la consulta SQL. Esta marca, es la que ser reemplazada con el texto que devuelva la consulta en la
columna indicada en Fql Field.
Como vemos en la imagen, tenemos etiquetas como #A@ y #500@.
Las etiquetas que contienen una letra (#A@) se utilizan cuando un campo de la consulta devuelve varios
registros distintos. Luego en el archivo donde se cargan las etiquetas, se numera cada etiqueta indicando
con cual de los registros devueltos quiere ser reemplazada. Por ejemplo para una determinada consulta
que trae datos de clientes, la etiqueta #A@ contendr los nombres de clientes, por lo tanto #A1@
contendr el nombre del primer cliente que trae la consulta, #A2@ contendr el nombre del segundo, y as
sucesivamente. (Ver Ejemplo 1)
Las etiquetas que contienen un nmero se utilizan cuando el valor es nico #500@, o sea cuando en el
conjunto de valores que devuelve la consulta, el valor del campo indicado no cambia. (Ver Ejemplo 1)
List: nmero mximo de registros que utilizar del resultado de la consulta. Por ejemplo en la fila 1,
solo leer 3 registros y en la fila 8 solo leer 1.

FlexABSCI: Manual de Configurador 267


v62 207-SCI-SP (Configuracion).pdf
Figura 131: Panel Word del Mtodo Word

Al documento debemos pensarlo como dividido en dos partes. Una parte ser la que utilicen los usuarios
para trabajar en el documento, o sea, la parte editable del documento. La otra parte ser la que se
cargue dinmicamente por los datos que retorne el mtodo aplicado. Tambin puede darse el caso de un
documento que sea puramente dinmico, donde al ejecutarse un mtodo se complete el documento entero
con datos trados desde la base de datos.

EJEMPLO 1:
En este ejemplo definiremos un mtodo de tipo WORD.

El caso prctico es que al momento de efectuar una Revision, el archivo de Word contenido en el atributo
ARCHIVO de tipo FileLink del objeto DOCUMENTO, complete su cartula con datos trados desde la base
de datos, referidos a las revisiones anteriores y dems datos formales correspondientes al tipo de
documento.

En el caso presentado, se presume una clase de tipo DOCUMENTO. Dicha clase tiene un atributo de tipo
FileLink llamado ARCHIVO.

El resultado que obtendremos, ser que en el objeto revisionado, el archivo de Word contenido en el
FileLink del objeto, tendr su cartula completa con datos trados desde la base de datos.

Entonces en nuestra clase DOCUMENTO definimos un mtodo cuyo evento disparador ser Revision (Ver
Solapa Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
o Group = *
En todos los sistemas
o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

FlexABSCI: Manual de Configurador 268


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

Figura 132: Creacin del Mtodo Word

La consulta que contiene (MET)TraeRevisiones podra ser de la siguiente manera

SELECT (classDOCUMENTO.Descripcion) AS A,
(classDOCUMENTO.DescripcionLarga) as B,
(convert(varchar(10),OBJECTver.DateMake,103)) AS C,
FlexABSCI: Manual de Configurador 269
v62 207-SCI-SP (Configuracion).pdf
OBJECTver.Description AS D,
(select username from sysuser where iduser in(OBJECTver.ApprovedBy))AS F,
(select username from sysuser where iduser in(OBJECTver.ExecutedBy)) AS G,
(select username from sysuser where iduser in(OBJECTver.CheckedBy ))AS H,
(classDOCUMENTO.tag) as M,
OBJECTver.Version AS Z
FROM OBJECTver
INNER JOIN classDOCUMENTO ON OBJECTver.idInternal = classDOCUMENTO.idInternal
WHERE
classDOCUMENTO.idInternal = 'XQL:FIRST(//OBJECT/ATTRIBUTES/IDINTERNAL/VALUE)'

Los campos Source Filename y Target Filename, al trabajar con un archivo contenido en un atributo
FileLink, son iguales. La consulta es de la siguiente manera

SELECT REPLACE('XQL:FIRST(//IDAPPLICATION/VALUE)', '.', '_') +


'XQL:FIRST(//IDOBJECT/VALUE)' + 'ARCHIVO.DOC'

El archivo de Word debe tener definidos los campos que trabajarn con el mtodo asociado (parte dinmica
del documento). Estos campos se definen por medio de etiquetas que luego sern reemplazadas.
La imagen a continuacin, muestra la cartula del archivo de Word, con las etiquetas correspondientes.
Vemos que existe una etiqueta que contiene un nmero (#500@). Esa etiqueta es la que contendr el
cdigo del documento. Debido a que dicho cdigo es uno solo, se utiliza la etiqueta numrica.

FlexABSCI: Manual de Configurador 270


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 133: Archivo de Word contenido en el FileLink con las etiquetas definidas

A continuacin se muestra como quedara la cartula con los datos reemplazando a las etiquetas

FlexABSCI: Manual de Configurador 271


v62 207-SCI-SP (Configuracion).pdf
Figura 134: Vista de la cartula del archivo de Word luego de la ejecucin del mtodo

Una de las ventajas de trabajar de esta manera, radica en que definiendo modelos de documentos, la
presentacin de los mismos ser siempre uniforme y de acuerdo a los estndares definidos para el tipo de
documentacin. El usuario se olvida de todo este trabajo de suma precisin que insume a veces
demasiado tiempo, y solamente se concentra en la redaccin pertinente al contenido del mismo dejando de
lado la presentacin formal.

MSPROJECT
Permite abrir un archivo Project y cargarle el contenido indicado en la consulta FQL.

FlexABSCI: Manual de Configurador 272


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 135: Ventana mtodos de la clase. Tipo de Mtodo: MsProject.

Data Source: consulta FQL que ser la que obtenga los datos para volcar al archivo de MsProject.
En el panel inferior, se indican los campos que son obligatorios para la consulta FQL a realizar.
Ellos son : Name, Duration, Start, Completed, Predecessors, Resource Names y Group. (Ver
Editor FQL)

Source Filename: determina el nombre del archivo origen, con qu nombre se abrir el archivo
para trabajar. (Ver Source Filename en Metodos Word)

Target Filename: determina el nombre del archivo destino, con qu nombre ser guardado el
archivo.

Edit file after finish: abre el archivo despus de la ejecucin del mtodo

FlexABSCI: Manual de Configurador 273


v62 207-SCI-SP (Configuracion).pdf
EJEMPLO 1:
En este ejemplo definiremos un mtodo de tipo PROJECT.

El caso prctico es crear un evento de tipo USERevent llamado BaseCalendario, que ejecutar el
mtodo en el momento en que el usuario lo desee. Dicho mtodo completar un archivo llamado
BaseCalendario.mpp con la lista de TAREAS correspondientes a una determinada versin del trabajo que
se est realizando.

En el caso presentado, se presume una clase de tipo VERSION y una clase de tipo TAREAS.

Entonces en nuestra clase VERSION definimos un mtodo cuyo evento disparador ser USERevent y se
llamar BaseCalendario (Ver Solapa Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
o Group = *
En todos los sistemas
o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

FlexABSCI: Manual de Configurador 274


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 136: Ventana mtodos de la clase. Tipo de Mtodo: MsProject.

La consulta FQL que contiene el campo Data Source (Metodo) Base Calendario podra ser de la siguiente
manera

SELECT classTarea.DescripcionCorta As Nombre,


classTarea.HorasEstimadas As Duracion,
'' As Inicio,
'' As Completado,
'' As Predecesor,
classTarea.Responsable As Recurso,
classTarea.subtematarea As Grupo
FROM classTarea
WHERE "ID Version" = 117900100000047
ORDER BY subtematarea

En esta consulta, se agrupa por el ltimo campo de la proyeccin (subtematarea), por lo cual se debe
hacer un ORDER BY del mismo.

Los campos Source Filename y Target Filename, trabajarn los dos con el mismo archivo y la consulta es la
sguiente

SELECT 'BaseCalendario.mpp'

Por lo que se indica que se tomar el archivo llamado BaseCalendario.mpp que se encuentra en el
directorio temporal del sistema (\Appliware\FlexAB\temp).
FlexABSCI: Manual de Configurador 275
v62 207-SCI-SP (Configuracion).pdf
Por utilizarse un evento de tipo USERevent, el usuario desde la Interfaz Estndar de Usuario (FlexAB-SUI)
ser el que dispare el mtodo, posicionndose sobre la versin indicada, haciendo clic con botn derecho
sobre la misma, y eligiendo el USERevent que corresponda.

A continuacin se visualiza la interfaz mencionada

Figura 137: Eventos USERevent de la clase VERSION. Interfaz Estndar de Usuario

Resultado de la ejecucin del mtodo en el archivo BaseCalendario.mpp.


Se puede observar el agrupamiento de las Tareas en el campo Nombre de tarea

FlexABSCI: Manual de Configurador 276


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 138: Archivo de MSProject luego de la ejecucin del mtodo

FlexABSCI: Manual de Configurador 277


v62 207-SCI-SP (Configuracion).pdf
EM AIL
Permite el envo de un correo electrnico a partir de una consulta FQL.

Figura 139: Mtodo Email

Los siguientes son los campos necesarios que deben formar parte de nuestra consulta FQL.

eName: nombre del email. Se enviar un email por cada eName. Esto significa que si la consulta FQL,
contiene varios registros con sus respectivos destinatarios (eTO,eCC,eCCo), el email ser enviado a todos
ellos mientras que en el campo eName del registro, tengan el mismo valor. Ms abajo como ejemplo se
detalla el envo de un email a los integrantes de un grupo de usuarios. (Ver Envo de eMails a un Grupo de
Usuarios)
eTO: direccin de email del destinatario. En caso de haber varios eTO repetidos para un mismo email,
sern unificados en uno solo.
eCC: Copia del email. Direccin de email del destinatario que recibir la copia. En caso de haber varios
eCC repetidos para un mismo email, sern unificados en uno solo.
eCCo: Copia oculta. Direccin de email del destinatario que recibir la copia oculta. En caso de haber
varios eCC repetidos para un mismo email, sern unificados en uno solo.
eSubject: Asunto del mail. En caso de haber un eName que tenga varios eSubject, sern unificados los
Subject en un solo email.
eBody: cuerpo del email
eAttachs: archivos adjuntos al email. Si son varios, separados por coma.

La consulta deber tener un formato similar al siguiente:

SELECT 'Aviso de Transferencia' AS eName,


'direccionDestino@mail.com' AS eTO,
'direccionCopia@gmail.com' AS eCC,
'direccionCopiaOculta@hotmail.com' AS eCCo,
'Asunto ' AS eSubject,
'Este texto formar parte del cuerpo de nuestro mail' AS eBody,
'Archivos que adjuntemos' as eAttachs
FROM classEJEMPLO
WHERE classEJEMPLO.idInternal = 'XQL:FIRST(//IDINTERNAL/VALUE)'

FlexABSCI: Manual de Configurador 278


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Nota:
La configuracin SMTP que toma el componente de FlexAB, es la que est definida para el usuario.
Pueden existir dificultades en el envo de emails, debido a la configuracin del antivirus, por lo que se
deber configurar el mismo de manera que lo permita.

EJEMPLO 1:
En este ejemplo definiremos un mtodo de tipo Email.

El caso prctico es querer enviar un mail a los clientes con las promociones de productos.

En el caso presentado, se presume una clase de tipo PROMOCION, una clase de tipo OFERTA (hija de
PROMOCION) y una clase de tipo CLIENTE.
La clase OFERTA corresponde a los productos que integran una promocin dada.

El resultado que obtendremos, ser el envo de un mail con las promociones de productos del mes para
todos los clientes.

Entonces en nuestra clase PROMOCION definimos un mtodo cuyo evento disparador ser AfterSave (Ver
Solapa Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
o Group = *
En todos los sistemas
o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

FlexABSCI: Manual de Configurador 279


v62 207-SCI-SP (Configuracion).pdf
Figura 140: Creacin del Mtodo Email

En Data Source, haciendo clic en el botn SQL accederemos al Editor FQL, donde crearemos la
consulta FQL asociada al mtodo, que nos devolver los valores que necesitamos para el email.

Podemos observar que el nombre de la consulta es Promociones y es la siguiente:

SELECT 'Promocion de Octubre' as eName,


classCliente.email as eTO,
'miempresa@miservidor.com' as eCC,
'miempresa@miservidor.com' as eCCo,
'Les hacemos llegar las promociones del mes ' as eSubject,
'Producto ' + classOFERTA.Nombre + ' Precio '+
convert(varchar(8),classOFERTA.Precio) as eBody,
'' as eAttachs
FROM classPROMOCION
INNER JOIN
class_OBJECTfather1 ON classPROMOCION.idInternal =
class_OBJECTfather1.idFather
INNER JOIN
classOFERTA ON class_OBJECTfather1.idChild = classOFERTA.idInternal
CROSS JOIN
classCLIENTE
WHERE classPROMOCION.idinternal =
'XQL:FIRST(//OBJECT/ATTRIBUTES/IDINTERNAL/VALUE)'

Como podemos observar, el campo eAttachs, contiene (comillas simples), con lo cual indicamos que est
vaco, porque no se envan archivos adjuntos.

FlexABSCI: Manual de Configurador 280


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Mensajes de Correo Electrnico a Celulares

Cambiando solamente en nuestra consulta el eName y el eTO, desde nuestro sistema podemos enviar
mensajes de correo a telfonos celulares. En determinados casos podra el usuario recibir como SMS dicho
mensaje de correo, pero pura y exclusivamente por una implementacin de la empresa de telefona que
presta el servicio.

Ejemplo

SELECT 'MENSAJE' as eName,


'1556415355@sms.empresatelefonia.com.ar' as eTO,

De esta manera estaramos enviando un correo electrnico que sera derivado por el proveedor de servicios
de telefona, al telfono indicado.

Nota: esta funcionalidad depende de la prestacin brindada por su compaa de telefona mvil, la cual
debe implementar el servicio de Mail to SMS.

FlexABSCI: Manual de Configurador 281


v62 207-SCI-SP (Configuracion).pdf
Envo de eMails a un Grupo de Usuarios

En este ejemplo, se enviar un mail a varios destinatarios. El caso de ejemplo ilustra como el rea de
Atencin al Cliente de Appliware, informa al grupo de usuarios encargados de la planificacin del producto
(Program Management)de FlexAB, acerca de una nueva sugerencia tcnica para la prxima version,
proveniente desde un cliente.
Con esta informacin, el rea de Atencin al Cliente, d de alta un objeto INCIDENTE. El objeto queda en
estado NUEVO, y luego al ser derivado pasa al estado PLANIFICACION.

Nota: Este mtodo est definido en el estado PLANIFICACION de la clase INCIDENTE. Se ejecuta en el
evento AFTER SAVE.

Desarrollo
1) Se realiza el FQL con los campos obligatorios

SELECT 'Sugerencia para la nueva Version' AS eName,


a.emailAddress eTO,
'Nueva Sugerencia - ' + ' Incidente Asociado:' +
CONVERT(VARCHAR(8),'XQL:FIRST(//OBJECT/ATTRIBUTES/TAG/VALUE)') AS
eSubject,
'' AS eCC,
'' AS eCCo,
'Descripcion: ' + 'XQL:FIRST(//OBJECT/ATTRIBUTES/DESCRIPTION/VALUE)' AS
eBody,
'' AS eAttachs
FROM sysUser a,
sysUserGroupRela b
WHERE a.idUser = b.idUser AND
b.idUsergroup = 'Program Management'

2) 'Sugerencia para nueva Version' es el contenido del campo eName, por lo tanto, todos las direcciones de
correo (eTO,eCC,eCCo) de los registros que tengan ese eName, sern destinatarias del email.

3) En este caso, la consulta FQL devuelve 3 registros, correspondientes a los 3 usuarios pertenecientes al
grupo de usuarios Program Management

FlexABSCI: Manual de Configurador 282


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Campo eName, que agrupa en un mismo email, todos los registros con el mismo valor en dicho
campo

Campo eTO, direcciones de correo donde ser enviado el email. En este ejemplo, no se envan copias
ni copias ocultas, ya que ambos campos estn vacos en la consulta FQL ().

Los usuarios del grupo Program Management, reciben entonces el email con la nueva sugerencia.

FlexABSCI: Manual de Configurador 283


v62 207-SCI-SP (Configuracion).pdf
REPORT
Mtodo que permite la creacin de un reporte.

Figura 141: Mtodo Report

Data: consulta FQL que ser la que obtenga los datos para volcar al reporte.
Target Filename: FQL que contiene ruta y nombre del archivo destino del reporte.

Ejemplo de Target Filename:

SELECT 'C:\Reportes\' + REPLACE('XQL:FIRST(//IDAPPLICATION/VALUE)','.','_') +


REPLACE('XQL:FIRST(//IDOBJECT/VALUE)','.','_') + 'ARCHIVO.PDF'.

Esta sentencia colocara el reporte en el directorio C:\Reportes, y el nombre del mismo estara
compuesto por el nmero de aplicacin + el idObject del objeto + Archivo.PDF . (Ver Source Filename en
Mtodos Word)
Algo as como

FlexABSCI: Manual de Configurador 284


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
En este FQL, podemos usar la variable del sistema TEMPDIR para indicar el directorio temporal .
La extensin PDF se debe a que se quiere que el Style sea a PDF.

STYLE: formato de salida que tendr el reporte. Si se quisiera que directamente se imprima, se debe
seleccionar la opcin Printer.

Report Name: nombre del reporte original, que se crea desde el Editor de Reportes.

EJEMPLO 1:
En este ejemplo definiremos un mtodo de tipo Report.

El caso prctico es querer que cada vez que se grabe un objeto de tipo Envo que tiene un atributo
FileDown, crear un reporte con la lista de archivos que se obtuvieron en ese FileDown.
Esto sera prctico para llevar un control de los archivos que son bajados del servidor.

En el caso presentado, se presume una clase de tipo ENVIOS.

El resultado que obtendremos, ser un reporte con la lista de archivos que se obtuvieron del servidor,
cuando el objeto se grabe.

Entonces en nuestra clase ENVIOS definimos un mtodo cuyo evento disparador ser BeforeSave (Ver
Solapa Flow Agregar un Mtodo a un Estado), en las siguientes condiciones

No importa cual sea su clase padre


o Class Father = *
No se especifica el atributo, ya que solo se utiliza para los eventos Field Change
No importa el grupo a que pertenezca
o Group = *
En todos los sistemas
o System = *
En todas las aplicaciones que utilicen esta clase
o Application = 0

Haciendo clic en la celda de Method Id, pasamos al Editor de Mtodos.

FlexABSCI: Manual de Configurador 285


v62 207-SCI-SP (Configuracion).pdf
Figura 142: Creacin del Mtodo Report

En Data ingresamos la consulta que llenar los datos del reporte, y que en este caso consiste en la lista de
archivos bajados con el atributo FileDown.

En Target Filename , se debe ingresar la ruta y nombre del reporte, tal cual se describe ms arriba. En el
caso de

En Style definimos que formato de archivo queremos obtener, en este caso PDF.

En Report Name, creamos el reporte desde el Editor de Reportes.(Ver Editor de Clases, Solapa Report)

INTERPHASE
Este mtodo permite la ejecucin de Insert, Update, Delete. Puede modificar bases de datos externas al
sistema con datos provenientes de FlexAB. Se puede utilizar como interfase con otros sistemas.

FlexABSCI: Manual de Configurador 286


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Botn para ingresar el FQL del mtodo

FlexABSCI: Manual de Configurador 287


v62 207-SCI-SP (Configuracion).pdf
FILELINK_DOWN
Mtodo que permite bajar a disco el archivo contenido en un atributo Filelink.

Mtodo Filelink_Down

Description: Nombre descriptivo del mtodo.

SQL Source: FQL que contiene los datos necesarios para la identificacin del archivo a bajar, y del
destino de guardado del mismo.

El FQLde los mtodos FileLink_Down debe tener obligatoriamente el siguiente formato :


- IDINTERNAL del objeto que posee el archivo
- IDATTRIBUTE nombre del atributo Filelink entre comillas simples
- VERSION si se trata de un archivo contenido en una revision, la version de la misma. Si no
pertenece a una revision, indicar (comilla comilla) para dejar en blanco el valor
- FILENAME ruta y nombre con el cual quedar almacenado en el disco el archivo
descargado del objeto.

Ejemplo 1

Se crea un mtodo Filelink_Down, llamado BajarDoc para descargar un archivo contenido en el atributo
Filelink llamado PlantillaFactura de la clase DOCVENTA. Dicho mtodo se ejecutar en el evento
BeforeSave, o sea, antes de grabar el objeto.
Desde la solapa Flow de la clase DOCVENTA, creamos entonces el mtodo

Clic para acceder al editor de FQL donde se deber ingresar la siguiente consulta

FlexABSCI: Manual de Configurador 288


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
1) SELECT idInternal as IdInternal,
2) PlantillaFactura as IdAttribute,
3) as Version,
4) VAR:TEMPDIR + Descargado as Filename
5) FROM classDOCVENTA
6) WHERE idInternal ='XQL:FIRST(//IDOBJECT/ATTRIBUTES/IDINTERNAL/VALUE)'

1) SELECT idInternal as IdInternal: idinternal del objeto que posee el archivo a descargar
2) PlantillaFactura as IdAttribute: nombre del atributo Filelink, que posee el archivo. En este
caso el atributo se llama PlantillaFactura
3) as Version: como en este caso no es una revision el objeto que contiene el archivo , se deja
en blanco
4) VAR:TEMPDIR + Descargado as Filename: Ruta de descarga y nombre que tomar el
archivo. VAR:TEMPDIR indica el directorio temporal del universo, y Descargado es el nombre
que tendr el archivo.
5) FROM classDOCVENTA: el objeto contenedor pertenece a la clase DOCVENTA
6) WHERE idInternal ='XQL:FIRST(//IDOBJECT/ATTRIBUTES/IDINTERNAL/VALUE)': el
idinternal del objeto, debe ser igual al del objeto en edicin

Esta sentencia colocara el archivo en el directorio temporal definido para el universo


C:\Inetpub\wwwroot\FlexAB WEB\intStd Web\temp, y el nombre del mismo Descargado

FlexABSCI: Manual de Configurador 289


v62 207-SCI-SP (Configuracion).pdf
EDITOR DE H ELP

(Ver Clases Reales, Solapa Help)

Nota: Cuando se trabaja desde una clase de tipo Mdulo, los Mtodos, FQLs y Reportes, al estar en
edicin y ejecutar el comando Guardar, quedan almacenados definitivamente.
Ejemplo: si se est realizando un Reporte dentro de un mtodo y se guarda, el Reporte queda almacenado
aunque se cancele la edicin del mtodo.
Cuando se trabaja desde el Editor de Clases, esto es diferente. Los cambios quedan almacenados
definitivamente al Generar la clase. El Editor de Help trabaja nicamente en este ltimo modo.

Barra de Herramientas del Editor de Help

1 New help: permite crear una nueva ayuda


2 Search help: lista los Help que pertenecen a la clase, y los Help existentes que no estn siendo
utilizados por alguna clase. No es posible que las clases compartan un Help. Se puede observar que cada
Help posee un icono con el significado que se detalla a continuacin

La clase no est utilizando el Help. Puede ser eliminado.


La clase utiliza el Help en un solo lugar.
La clase utiliza el Help en varias situaciones.

3 Delete help: permite eliminar un Help


4 Edit help: permite editar un Help
5 Save help: graba el Help (no genera). Trabajando en el modo Editor de Clases, los cambios se aplican
al generar la clase.
6 Undo Edit: deshace los cambios en el Help y los vuelve al estado de la ltima grabacin (no al de la
ltima generacin).

Para ingresar una ayuda, hacemos clic sobre el botn New Help

FlexABSCI: Manual de Configurador 290


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 143: Ventana del Editor de Help.

Botn New Help

Agregar Section

Cargar contenido de Section

FlexABSCI: Manual de Configurador 291


v62 207-SCI-SP (Configuracion).pdf
Nombre de la ayuda

Titulo

Content Section

Botn New Section

Botn Delete Section

La ayuda ingresada de esta forma, es la que se visualizar desde la interfaz del usuario (FlexAB-SUI),
cuando se invoque la ayuda por REFERENCIA.

El usuario visualizar la ayuda en el lenguaje que tenga el propio usuario configurado. Si no existe ayuda
cargada en ese lenguaje, no ver ayuda.

Para obtener la ayuda de una clase, desde FlexAB-SUI, debemos posicionarnos en el rbol de objetos,
sobre el objeto del cual se desea la ayuda.

El ejemplo a continuacin, muestra un sector de la pantalla Help System que se visualiza cuando se invoca
la ayuda de una clase, con los Title y Content Sections bien detallados para una clara comprensin de
cmo vera el usuario final lo ingresado en el Editor de Help.

FlexABSCI: Manual de Configurador 292


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 144: Sector de la ventana de Help System en FlexAB-SUI

Campo Subject. Titulo principal que aparece en el Help

Title

Content Section

FlexABSCI: Manual de Configurador 293


v62 207-SCI-SP (Configuracion).pdf
Figura 145: Ventana de Help System, en FlexAB-SUI.

Tambin es posible cargar un contenido de ayuda ya existente. Para eso hacemos clic sobre el botn

Search , y se despliega una grilla con los helps que se encuentran ya cargados.

FlexABSCI: Manual de Configurador 294


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 146: Editor de Help, lista de Helps existentes.

Helps existentes

Haciendo clic sobre una de estas filas de ayuda, y tildando el lenguaje en el que est la ayuda (puede estar
cargada para uno, o en varios lenguajes) desde el men Language, aparecen en el panel Sections (grilla
de la derecha), en las columnas Title y Content Section, los tems cargados en cada sector de la ayuda
correspondiente. Si no tiene ayuda cargada para el lenguaje elegido, no se carga la grilla de Sections

FlexABSCI: Manual de Configurador 295


v62 207-SCI-SP (Configuracion).pdf
Figura 147: Visualizacin de la ayuda cargada para el idioma elegido.

Seleccionar ayuda

Seleccionar idioma

Items correspondientes

Haciendo clic sobre una fila del panel Sections, se pone el contenido del tem cargado, en los paneles de
edicin (Title y Content), donde se los puede modificar.

FlexABSCI: Manual de Configurador 296


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 148: Edicin de la ayuda.

Clic sobre la fila

Se puede editar la fila

En el men Variables, se despliega una lista de Variables del Sistema (no confundir con variables de
entorno. Ver Utilizacin de XQL en las consultas SQL de FlexAB) , que se pueden intercalar con el texto de
la ayuda. Los textos de las mismas, son reemplazados luego por el sistema, que pone en su lugar
diferentes contenidos html segn la variable elegida.

FlexABSCI: Manual de Configurador 297


v62 207-SCI-SP (Configuracion).pdf
Figura 149: Lista de variables del sistema.

Variables del sistema

En el ejemplo, la variable de sistema %FIELDLIST%, ser reemplazada por el sistema, que pondr en su
lugar la lista de campos de la clase, porque ese es el significado de la variable. Eso es lo que ver el
usuario al invocar la ayuda

Figura 150: Variable del sistema.

Variable que ser reemplazada

FlexABSCI: Manual de Configurador 298


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Variables del Sistema

IDCLASS: Nombre de la clase


IDCLASSFATHER: Nombre de la clase padre
IDATTRIBUTE: Nombre del atributo desde el cual se abri la ayuda contextualmente
IDAPPLICATION: Nmero de aplicacin actual
IDAPPDESCRIPTION: Descripcin de la aplicacin actual
IDSYSTEM: System ID del sistema actual
IDSYSTEMDESCRIPTION: Descripcin del sistema actual
IDLANG: Lenguaje con el que est logueado el usuario
IDSPACE: Espacio activo en FlexAB-SUI
IDUNIVERSE: Devuelve concatenados Servidor de Base de datos + Base datos
UNIVDESCRIPTION: Nombre asignado en el servidor al Universo
TEMPDIR: Directorio temporal local
INIFILE: Ruta completa al archivo flexconfig.ini
SESSIONENTER: Hora de inicio de la sesin actual
FIELDLIST: Lista de campos de la clase
FATHERFIELDLIST: Lista de campos de la clase padre

FlexABSCI: Manual de Configurador 299


v62 207-SCI-SP (Configuracion).pdf
EDITOR HTML

El HTML Editor es una herramienta que permite realizar modificaciones a los formularios de las clases.

Esta herramienta presenta dos modos de trabajo: una solapa con una parte de diseo grfica, con las
opciones de formateo ms comunes de los editores estndar, y una solapa que contiene el cdigo HTML
del formulario.

A CERCA DE LA PLANTILLA DE ESTILO O TEMPLATE


Los formularios HTML de las clases, tienen definida por defecto para todos, una plantilla de estilo llamada
OEgeneral.css.
La misma se encuentra un directorio ms arriba que el directorio Temp (directorio temporal). Este
directorio lo podemos obtener, abriendo la aplicacin Universe Config Interface (UCI).
Esta plantilla define atributos del formulario tales como el color de fondo de las tablas, el color
de la tipografa, etc.
Es posible que haya modificaciones que se hagan con el Editor HTML que no se reflejen en el formulario,
justamente porque el formulario toma los valores de la plantilla.
En estos casos, es necesario modificar la plantilla de estilo para poder visualizar las modificaciones hechas
con el editor.
Si la Plantilla de Estilo es modificada, recin al generar la clase actualizar la misma. De no generar la
clase, los cambios no tendrn efecto.

Es posible para cada clase particular, definir tambien una plantilla de estilos propia, y hacer que la tome
como predeterminada.

A CERCA DE LA GEN ERACIN DE LA CLASE

Solapa Design , con las opciones estndar de edicin.

Figura 151: Solapa de diseo

Solapa Source, con el cdigo HTML.

FlexABSCI: Manual de Configurador 300


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 152: Solapa de cdigo HTML

La vista Source (del cdigo HTML) es de mucha utilidad para aquellas personas que tengan conocimiento
del lenguaje HTML, y directamente desde el cdigo realicen modificaciones o una depuracin del mismo.

Presionar botn de Bordes Visibles para poder ver las tablas, columnas, filas y celdas.

Figura 153: Solapa de diseo, bordes de tabla

Botn Bordes Visibles

I N S E R T AR UNA COLUM NA
FlexABSCI: Manual de Configurador 301
v62 207-SCI-SP (Configuracion).pdf
Se debe situar sobre la columna de la derecha a la nueva columna que se desea insertar. Presionar botn
de Insertar Columna
Tener en cuenta que cuando hay celdas combinadas, ingresar la nueva columna a la izquierda de donde
termina la combinacin de las celdas.

Figura 154: Solapa de diseo, insertar columna

Situarse en una celda

Clic sobre botn de Insertar Columna

Se crea una nueva columna a la izquierda

Para eliminar una columna, situarse dentro de alguna celda de la columna y presionar el botn Eliminar
Columna

I N S E R T AR UNA NUE VA FILA

Se debe situar sobre la fila que quedar debajo de la nueva.


Presionar botn Insertar Fila

FlexABSCI: Manual de Configurador 302


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 155: Solapa de diseo, insertar fila

Situarse con el cursor en la fila sobre la cual insertaremos la nueva fila

Clic sobre botn Insertar Fila

Se inserta la nueva fila

Para eliminar una fila, situarse con el cursor sobre la fila a eliminar y presionar botn Eliminar Fila

I N S E R T AR UNA CELD A

Situarse con el cursor en la celda que se encuentra a la izquierda de la celda que queremos agregar.
Presionar botn Agregar Celda

FlexABSCI: Manual de Configurador 303


v62 207-SCI-SP (Configuracion).pdf
Figura 156: Solapa de diseo, insertar celda

Situarse en la fila donde se quiere agregar la celda

Clic sobre botn Agregar Celda

Se crea la nueva Celda

Para borrar una celda, situarse dentro de la celda y presionar botn Eliminar Celda

C OMBINAR C ELDAS
Para combinar celdas es necesario que cada celda tenga contenido.
En el ejemplo siguiente, queremos lograr que el texto Object Attributes se combine en las dos celdas y
sea el ttulo de la tabla.

FlexABSCI: Manual de Configurador 304


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
A tal efecto ingresamos en la celda de la derecha (que est vaca) cualquier carcter, para que exista un
valor dentro de la misma.
Vemos tambin, que el botn de Combinar Celdas se encuentra deshabilitado

Botn Combinar Celdas

Seleccionamos las celdas que queremos combinar, y se habilita el botn Combinar Celdas.

Botn Combinar Celdas Habilitado

Presionamos el botn de combinacin, y borramos el carcter a que utilizamos en la celda de la derecha


para que la misma tuviera un valor.
Se obtiene el siguiente resultado

FlexABSCI: Manual de Configurador 305


v62 207-SCI-SP (Configuracion).pdf
Figura 157: Solapa de diseo, celdas combinadas

Botn Separar Celdas

Celda combinada

Para separar las celdas, seleccionar el contenido y presionar botn Separar Celdas

Se vuelve al estado anterior de celdas sin combinar.

Celdas sin combinar

I N S E R T AR U N A I M AG E N
FlexABSCI: Manual de Configurador 306
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Para insertar una imagen, debemos situarnos en la celda donde queremos poner la imagen y presionar
botn Insertar Imagen

Posicionarse en la celda donde queremos ingresar la imagen

Clic sobre botn Insertar Imagen

Seleccionar la imagen

El resultado obtenido es la imagen en la celda elegida

Figura 158: Solapa de diseo, insercin de una imagen

FORM ATO DE CELDAS

FlexABSCI: Manual de Configurador 307


v62 207-SCI-SP (Configuracion).pdf
Haciendo clic con botn derecho sobre la celda, se despliega un men contextual donde seleccionamos la
opcin Table Cell Properties

Se despliega la ventana de Propiedades de la celda, y desde aqu configuramos lo que creamos


necesario, como por ejemplo el color de fondo de la celda, la alineacin, el color del borde, etc.

Como se explic anteriormente, estas opciones de configuracin tambin pueden ser accedidas y
modificadas desde el cdigo en la solapa Source, para aquellas personas familiarizadas con el lenguaje
HTML.

FlexABSCI: Manual de Configurador 308


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 159: Ventana de propiedades de la celda

Vemos el resultado en la celda seleccionada

Figura 160: Ventana Celda modificada

En el siguiente ejemplo, vemos la configuracin de la fuente y el color de la misma.

FlexABSCI: Manual de Configurador 309


v62 207-SCI-SP (Configuracion).pdf
Figura 161: Configuracin de la fuente

Seleccionar el texto a formatear

Seleccionar Tipo de fuente

Seleccionar tamao de fuente

Presionar botn de color de fuente y elegir de la paleta

FlexABSCI: Manual de Configurador 310


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
I N S E R T AR UN HIPERVNCULO
Para insertar un Hipervnculo en una celda, seleccionamos el texto y presionamos el botn de Hipervnculo

Aparece la ventana de propiedades de hipervnculo, donde ingresamos el URL (direccin web).

Podemos observar que el resto de los controles de la pantalla se encuentran deshabilitados.


Presionar botn OK

Figura 162: Creacin de un hipervnculo

Ingresamos la direccin Web

Controles deshabilitados

Luego de esto, debemos ingresar nuevamente al hipervnculo, y encontraremos ahora todos los controles
habilitados.

Elegir del combo Frame Target, la opcin NewWindow y presionar botn OK.

FlexABSCI: Manual de Configurador 311


v62 207-SCI-SP (Configuracion).pdf
Figura 163: Creacin de un hipervnculo

Controles habilitados

Seleccionar New Window

El hipervnculo ahora queda listo para ser utilizado desde la interfaz de usuario (FlexAB-SUI)

Para grabar los cambios ir al men File, opcin Save

Aparece la pantalla de confirmacin de grabacin del formulario

FlexABSCI: Manual de Configurador 312


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
MOVER CONTROLES DE TIPO FECHA

Cuando se est personalizando un formulario, y se desea cambiar de lugar un control de tipo fecha, se
debe tener en cuenta que este tipo de control se acompaa de un Script. Este Script debe moverse junto
con el control a la nueva ubicacin, porque de lo contrario el control no funcionar correctamente, ya que
se ocasiona un error en el cdigo Html.

Para poder visualizar la imagen que representa al Script, se debe presionar el botn Show Details como
se muestra a continuacin

Botn Show Details

Control tipo fecha

De esta forma, se hace visible la imagen representativa del Script

FlexABSCI: Manual de Configurador 313


v62 207-SCI-SP (Configuracion).pdf
Botn Show Details presionado

Script del control Fecha

Al ubicar el control Fecha en la nueva fila, cortamos y pegamos tambien la imagen del Script

FlexABSCI: Manual de Configurador 314


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
El Script del control Fecha tambien debe moverse junto con el control

De esta forma, el control funcionar correctamente.

FlexABSCI: Manual de Configurador 315


v62 207-SCI-SP (Configuracion).pdf
P ROPIEDADES DE LA TABLA

Haciendo clic con botn derecho sobre la tabla, podemos ingresar a las propiedades de la misma, desde la
opcin Table Properties del men contextual.

En el ejemplo siguiente cambiamos el color de fondo de la tabla, modificando la propiedad Background


Color.

Figura 164: Ventana de propiedades de la tabla

FlexABSCI: Manual de Configurador 316


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Figura 165: Tabla con la propiedad background modificada

REFEREN CIA BREVE DE HTML Y CSS


Qu es el HTML?

El HTML (Hyper Text Markup Language) es un sistema para estructurar documentos. Estos documentos
pueden ser mostrados por los visores de pginas Web en Internet, como Netscape, Mosaic o Microsoft
Explorer. Por el momento no existe un estndar de HTML ya que tanto Netscape como Microsoft se
empean en incluir directivas que solo funcionan con sus respectivos navegadores. De cualquier manera
existen diferentes revisiones o niveles de estandarizacin, el 1.0, el 2.0 y el 3.0, lo que produce que
algunos visores no "comprendan" en su totalidad el contenido de un documento. En este manual se ha
utilizado la revisin 3.0 de HTML. Esto quiere decir que algunas de las rdenes de HTML que aqu se
indican puede que no sean reconocidas por algunos visores de pginas Web. Netscape 2.x y Microsoft
Explorer 3.x reconocen prcticamente todas las rdenes HTML vistas en este manual.
Bsicamente, el HTML consta de una serie de rdenes o directivas, que indican al visor que estemos
utilizando, la forma de representar los elementos (texto, grficos, etc...) que contenga el documento. En
este manual nos referiremos a estas rdenes con la palabra "directiva".
Las directivas de HTML pueden ser de dos tipos, cerradas o abiertas. Las directivas cerradas son aquellas
que tienen una palabra clave que indica el principio de la directiva y otra que indica el final. Entre la
directiva inicial y la final se pueden encontrar otras directivas. Las directivas abiertas constan de una sola
palabra clave. Para diferenciar las directivas del resto del texto del documento se encierran entre los
smbolos < y >. Las directivas cerradas incluyen el carcter / antes de la palabra clave para indicar el final
de la misma. Una directiva puede contener "parmetros". Estos parmetros se indican a continuacin de la
palabra clave de la directiva.
Ejemplos:
Directiva cerrada
<CENTER> Mi pgina Web </CENTER>
Directiva abierta
<HR>
Directiva con parmetros
<BODY bgcolor="#FFFFFF"> </BODY>
Los ficheros que contienen documentos HTML suelen tener la extensin .html o .htm. En este manual se
han fijado los siguientes criterios a la hora de escribir la sintaxis de las directivas de HTML:
1) Las directivas se indican en letra mayscula y en negrilla.
2) Los parmetros de las directivas se indican en letra minscula y negrilla.
3) El resto de elementos se indican en letra normal.
4) Las palabras a resaltar en el texto se indican en cursiva y negrilla.

Estructura bsica de un documento HTML

FlexABSCI: Manual de Configurador 317


v62 207-SCI-SP (Configuracion).pdf
Un documento escrito en HTML contendra bsicamente las siguientes directivas:

<HTML> Indica el inicio del documento.


<HEAD> Inicio de la cabecera.
<TITLE> Inicio del ttulo del documento.
</TITLE> Final del ttulo del documento.
</HEAD> Final de la cabecera del documento.
<BODY> Inicio del cuerpo del documento.
</BODY> Final del cuerpo del documento.
</HTML> Final del documento.

El documento se hallar situado en algn ordenador al que se pueda acceder a travs de Internet. Para
indicar la situacin del documento en Internet se utiliza la URL (Uniform Resource Locator). La URL es el
camino que ha de seguir nuestro visor a travs de Internet para acceder a un determinado recurso, bien
sea una pgina Web, un fichero, un grupo de noticias, etc. Es decir, lo que el visor de pginas Web hace es
acceder a un fichero situado en un ordenador que est conectado a la red Internet. La estructura de una
URL para una pgina Web suele ser del tipo http://dominio/directorio/fichero. El dominio indica el nombre
del ordenador al que accedemos, el directorio es el nombre del directorio de ese ordenador y fichero el
nombre del fichero que contiene la pgina Web escrita en HTML. Por ejemplo:
http://www.server.com/cine/corunha2.html
Donde....
http:// es el indicador de pagina Web
www.server.com es el Dominio (nombre) del ordenador
/cine/ es el Directorio dentro del ordenador
corunha2.html es el Fichero que contiene la pgina Web

Cabecera del documento

La directiva <HEAD></HEAD> delimita la cabecera del documento. Dentro de la cabecera es importante


definir el ttulo de la pgina por medio de la directiva <TITLE></TITLE>. Este ttulo ser el que aparezca
en la barra de nuestro visor de pginas Web.
Ejemplo:
<TITLE>La pgina Web de AcMark</TITLE>
Dentro de la cabecera de nuestro documento podemos incluir otras directivas adicionales. La directiva
<META> indica al visor de Internet las palabras clave y contenido de nuestra pgina Web. Muchos de los
buscadores de pginas Web de Internet (Yahoo, Lycos, etc...) utilizan el contenido de esta directiva para
incluir la pgina en sus bases de datos. La directiva <META> lleva generalmente dos parmetros, name y
content.
Ejemplos:
<META name = "Pagina de Jos" content = "Mi pagina personal, Msica y Pelculas">
Indica al visor el nombre de la pgina y sus contenidos principales.
<META name = "keywords" content = "Jos msica pelculas links Argentina">
Indica al visor las palabras clave para los buscadores de Internet.
Otro uso de la directiva <META> es la de indicar documentos con "refresco automtico". Si se indica una
URL se sustituir el documento por el indicado una vez transcurridos el nmero de segundos especificados.
Si no se incluye ninguna URL se volver a cargar en el visor el documento en uso transcurridos los
segundos indicados. Esto es til para pginas que cambian de contenido con mucha frecuencia o para

FlexABSCI: Manual de Configurador 318


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
redireccionar a la persona que visita nuestra pagina Web a una nueva direccin donde se encuentra una
versin actualizada de nuestra pagina Web.
Ejemplo:
<META http-equiv="refresh" content = "15;URL=http://www.microsoft.com">
Transcurridos 15 segundos se acceder a la pgina Web de Microsoft.
La directiva <BASE> indica la localizacin de los ficheros, grficos, sonidos, etc.; a los que se hace
referencia en nuestra pgina Web. Si no se incluye esta directiva el visor entiende que dichos elementos se
encuentran en el mismo lugar donde se encuentra nuestra pgina Web.
Ejemplo:
<BASE href = "http://www.server.com/jose /">

Cuerpo del documento

La directiva <BODY></BODY> indica el inicio y final de nuestra pagina Web. Ser entre el inicio y el final
de esta directiva donde pongamos los contenidos de nuestra pgina, textos, grficos, enlaces, etc. Esta
directiva tiene una serie de parmetros opcionales que nos permiten indicar la "apariencia" global del
documento:
background= "nombre de fichero grafico"
Indica el nombre de un fichero grfico que servir como "fondo" de nuestra pgina. Si la imagen no rellena
todo el fondo del documento, esta ser reproducida tantas veces como sea necesario.
bgcolor = "cdigo de color"
Indica un color para el fondo de nuestro documento. Se ignora si se ha usado el parmetro background.
text = "cdigo de color"
Indica un color para el texto que incluyamos en nuestro documento. Por defecto es negro.
link = "cdigo de color"
Indica el color de los textos que dan acceso a un Hiperenlace. Por defecto es azul.
vlink = "cdigo de color"
Indica el color de los textos que dan acceso a un Hiperenlace que ya hemos visitado con nuestro visor. Por
defecto es prpura.
El cdigo de color es un nmero compuesto por tres pares de cifras hexadecimales que indican la
proporcin de los colores "primarios", rojo, verde y azul. El cdigo de color se antecede del smbolo #.
Ejemplos:
#000000 Color Negro
#FF0000 Color Rojo
#00FF00 Color Verde
#0000FF Color Azul
#FFFFFF Color Blanco
El primer par de cifras indican la proporcin de color Rojo, el segundo par de cifras la proporcin de color
Verde y las dos ultimas la proporcin de color Azul. Cada par de cifras hexadecimales nos permiten un
rango de 0 a 255. Combinando las proporciones de cada color primario obtendremos diferentes colores.
De cualquier forma la mayora de los editores de HTML nos permiten obtener el cdigo de color
correspondiente escogiendo directamente el color de una paleta.

Juego de caracteres del documento

Todos los visores de pginas Web actuales soportan todos los caracteres grficos del la especificacin ISO
8859-1, que permiten escribir textos en la mayora de los pases occidentales.
De cualquier forma y como muchos sistemas tienen distintos juegos de caracteres ASCII, se han definido
dos formas de representar caracteres especiales usando solamente el cdigo ASCII de 7 bits. Para hacer
referencia a estos caracteres se les asigna un cdigo numrico o un nombre de "entidad". Asimismo hay
caracteres que se utilizan para las directivas de HTML, por ejemplo < y >. Estos caracteres pueden ser
representados por un cdigo numrico o una entidad cuando deseemos que aparezcan en el documento
"tal cual". Las entidades comienzan por el smbolo & (ampersand) y terminan con el smbolo ; (punto y
coma).
FlexABSCI: Manual de Configurador 319
v62 207-SCI-SP (Configuracion).pdf
A continuacin veamos una tabla con las principales entidades:

Carcter Cdigo Entidad Carcter Cdigo Entidad


! &#33; -- " &#34; --
# &#35; -- $ &#36; --
% &#37; -- & &#38; --
' &#39; -- ( &#40; --
) &#41; -- * &#42; --
+ &#43; -- , &#44; --
- &#45; -- . &#46; --
/ &#47; -- : &#58; --
; &#59; -- < &#60; --
= &#61; -- > &#62; --
? &#63; -- @ &#64; --
[ &#91; -- \ &#92; --
] &#93; -- ^ &#94; --
_ &#95; -- ` &#96; --
{ &#123; -- | &#124; --
} &#125; -- ~ &#126; --
&#160; nbsp &#161; iexcl
&#162; cent &#163; pound
&#164; curren &#165; yen
&#166; brvbar &#167; sect
&#168; uml &#169; copy
&#170; ordf &#171; laquo
&#172; not &#173; shy
&#174; reg &#175; macr
&#176; deg &#177; plusmn
&#178; sup2 &#179; sup3
&#180; acute &#181; micro
&#182; para &#183; middot
&#184; cedil &#185; sup1
&#186; ordm &#187; raquo
&#188; frac14 &#189; frac12
&#190; frac34 &#191; iquest
&#192; Agrave &#193; Aacute
&#194; Acirc &#195; Atilde
&#196; Auml &#197; Aring
&#198; AElig &#199; Ccedil
&#200; Egrave &#201; Eacute
&#202; Ecirc &#203; Euml
&#204; Igrave &#205; Iacute
&#206; Icirc &#207; Iuml
&#208; ETH &#209; Ntilde
&#210; Ograve &#211; Oacute
&#212; Ocirc &#213; Otilde
&#214; Ouml &#215; times
&#216; Oslash &#217; Ugrave
&#218; Uacute &#219; Ucirc
&#220; Uuml &#221; Yacute
&#222; THORN &#223; szlig
&#224; agrave &#225; aacute
FlexABSCI: Manual de Configurador 320
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
&#226; acirc &#227; atilde
&#228; auml &#229; aring
&#230; aelig &#231; ccedil
&#232; egrave &#233; eacute
&#234; ecirc &#235; euml
&#236; igrave &#237; iacute
&#238; icirc &#239; iuml
&#240; eth &#241; ntilde
&#242; ograve &#243; oacute
&#244; ocirc &#245; otilde
&#246; ouml &#247; divide
&#248; oslash &#249; ugrave
&#250; uacute &#251; ucirc
&#252; uuml &#253; yacute
&#254; thorn &#255; yuml

Por lo tanto la palabra pgina la podramos escribir como:


pgina
p&aacute;gina
p&#225;gina
Es por ello que si deseamos que cualquier visor de pginas Web pueda visualizar las letras acentuadas de
nuestro documento debemos utilizar sus correspondientes entidades o cdigos para representarlas.

Espaciados y saltos de lnea

En HTML solo se reconoce un espacio entre palabra y palabra, el resto de los espacios sern ignorados por
el visor.
Ejemplo Se vera como
Esto es una frase Esto es una frase
Asimismo tampoco se respetan las tabulaciones, retornos de carro etc... Para ello existen una serie de
directivas que indican estos cdigos. La directiva <PRE></PRE> obliga al visor a visualizar el texto tal y
como ha sido escrito, respetando tabulaciones, espacios, retornos de carro, etc.
Ejemplo Se vera como
<PRE>
Este texto ha sido Este texto ha sido

preformateado . preformateado .
</PRE>
Para indicar un salto de lnea se utiliza la directiva <BR> y para un cambio de prrafo (deja una lnea en
blanco en medio) se utiliza la directiva <P>.
Ejemplo Se vera como
Este texto tiene
Este texto tiene<BR>saltos de lnea y <P> de prrafo. saltos de lnea y
de prrafo.
La directiva <P> puede usarse tambin como directiva "cerrada" <P></P> indicando de esta manera los
atributos de un prrafo en concreto. Cuando se usa de esta manera tiene el parmetro align que indica al
visor la forma de "justificar" el prrafo. Los valores posibles de este parmetro son LEFT, RIGHT y CENTER,
estando aun en estudio el valor JUSTIFY.
Ejemplo Se vera como
<P Align=right>Este es un ejemplo de un prrafo de texto Este es un ejemplo de prrafo de texto
justificado a la derecha.</P> justificado a la derecha
<P Align=center>Este es un ejemplo de prrafo de texto Este es un ejemplo de prrafo de texto
centrado.</P> centrado
La directiva <HR> muestra una lnea horizontal de tamao determinable. Tiene los siguientes parmetros
opcionales:
FlexABSCI: Manual de Configurador 321
v62 207-SCI-SP (Configuracion).pdf
align = posicin
Alinea la lnea a la izquierda (left), a la derecha (right) o la centra (center).
noshade
No muestra sombra, evitando el efecto en tres dimensiones.
size = nmero
Indica el grosor de la lnea en pxeles.
width = num / %
Indica el ancho de la lnea en tanto por ciento en funcin del ancho de la ventana del visor. Tambin se
puede especificar un nmero que indicara el ancho de la lnea en pxeles.
Ejemplo:
<HR align= center size= 20 width= 50%>

La directiva <HR> sin ningn parmetro mostrara una lnea horizontal que ocupara todo el ancho de la
pgina. Estas lneas sencillas son las que ves en este manual para separar las diferentes secciones

Cabeceras

En un documento de HTML se pueden indicar seis tipos de cabeceras (tamaos de letra) por medio de las
directivas <H1><H2><H3><H4><H5> y <H6>. El texto que escribamos entre el inicio y el fin de la
directiva ser el afectado por las cabeceras. La cabecera <H1> ser la que muestre el texto en mayor
tamao.
Ejemplo Se vera como
<H1>Texto de Prueba</H1> Texto de prueba
<H2>Texto de Prueba</H2> Texto de Prueba
<H3>Texto de Prueba</H3> Texto de Prueba
<H4>Texto de Prueba</H4> Texto de Prueba
<H5>Texto de Prueba</H5> Texto de Prueba
<H6>Texto de Prueba</H6> Texto de Prueba
Los textos marcados como "cabeceras" provocan automticamente un retorno de carro sin necesidad de
incluir la directiva <BR>. Por ejemplo
Ejemplo Se vera como
Pagina de Jose
<H3>Pagina de Jose</H3>Esta es mi pagina personal.
Esta es mi pagina personal

Atributos del texto

Para indicar atributos del texto (negrilla, subrayado, etc...) tenemos varias directivas. Algunas de ellas no
son reconocidas por determinados visores de Internet, es por ello que segn el visor que est ud.
utilizando, ver el resultado correctamente o no.

Atributo Directiva Ejemplo Resultado


Negrita <B></B> <B>Texto de prueba</B> Texto de prueba
Cursiva <I></I> <I>Texto de prueba</I> Texto de prueba
Teletype <TT></TT> <TT>Texto de prueba</TT> Texto de prueba
Subrayado <U></U> <U>Texto de prueba</U> Texto de prueba
Tachado <S></S> <S>Texto de prueba</S> Texto de prueba
Parpadeo <BLINK></BLINK> <BLINK>Texto de prueba</BLINK> Texto de prueba
Superndice <SUP></SUP> <SUP>Texto de prueba</SUP> Texto de prueba

Subndice <SUB></SUB> <SUB>Texto de prueba</SUB> Texto de prueba


Centrado <CENTER></CENTER> <CENTER>Texto de prueba</CENTER> Texto de prueba
Por otro lado la directiva <FONT></FONT> nos permite variar el tamao, el color, y el tipo de letra de un
texto determinado. Utiliza para ello los parmetros size, bgcolor y face.
size = valor
Da al texto un tamao en puntos determinado.
FlexABSCI: Manual de Configurador 322
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
size = +/- valor
Da al texto un tamao tantas veces superior (+) o inferior (-) como indique el valor.
color = "cdigo de color"
Escribe el texto en el color cuyo cdigo se especifica.
face = "nombre de font"
Escribe el texto en el tipo de letra especificado. Si este tipo de letra no existe en el ordenador que "lee" la
pgina se usara el font predeterminado del navegador.
Ejemplo Se vera como
<FONT size = +2 color = "#FF0000 face = "Arial"> Texto de prueba </FONT> Texto de prueba
Existen otras directivas que realizan las mismas operaciones que las antes vistas en los atributos del texto.
Directiva Hace lo mismo que
<STRONG></STRONG> <B></B>
<CITE></CITE> <I></I>
<STRIKE></STRIKE> <S></S>
Para incluir comentarios en la pgina Web se utiliza la directiva <!-- -->.
Ejemplo:
<!-- Esto es un comentario sobre mi pagina Web -->
Los comentarios no sern mostrados por el visor y son tiles para realizar anotaciones en el documento
HTML que nos indiquen lo que estamos haciendo en una determinada parte del documento. Asimismo
veremos mas adelante que la directiva de comentario nos ser de utilidad para incluir cdigo JavaScript en
nuestra pagina Web.

Listas de elementos

Existen tres tipos de listas, numeradas, sin numerar y de definicin. Las listas numeradas representarn los
elementos de la lista numerando cada uno de ellos segn el lugar que ocupan en la lista. Para este tipo de
lista se utiliza la directiva <OL></OL>. Cada uno de los elementos de la lista ir precedido de la directiva
<LI>. La directiva <OL> puede llevar los siguientes parmetros:
start = num
Indica que nmero ser el primero de la lista. Si no se indica se entiende que empezar por el nmero 1.
type = tipo
Indica el tipo de numeracin utilizada. Si no se indica se entiende que ser una lista ordenada
numricamente.
Los tipos posibles son:
1 = Numricamente. (1, 2, 3, 4, etc.)
a = Letras minsculas. (a, b, c, d, etc.)
A = Letras maysculas. (A, B, C, D, etc.)
i = Nmeros romanos en minsculas. (i. ii, iii, iv, v, etc.)
I = Nmeros romanos en maysculas. (I, II, III, IV, V, etc.)
Ejemplo Resultado
<OL>
<LI>Espaa Espaa
<LI>Francia Francia
<LI>Italia Italia
<LI>Portugal Portugal
</OL>
<OL type = A >
<LI>Espaa Espaa
<LI>Francia Francia
<LI>Italia Italia
<LI>Portugal Portugal
</OL>
Las listas sin numerar representan los elementos de la lista con un "topo" o marca que antecede a cada
uno de ellos. Se utiliza la directiva <UL></UL> para delimitar la lista, y <LI> para indicar cada uno de los
elementos. La directiva <UL> puede contener el parmetro type que indica la forma del "topo" o marca
FlexABSCI: Manual de Configurador 323
v62 207-SCI-SP (Configuracion).pdf
que antecede a cada elemento de la lista. Los valores de type pueden ser disk, circle o square, con lo que
el topo o marca puede ser un disco, un crculo o un cuadrado.
Ejemplo Resultado
<UL type = disk >
<LI>Espaa Espaa
<LI>Francia Francia
<LI>Italia Italia
<LI>Portugal Portugal
</UL>
<UL type = square>
<LI>Espaa Espaa
<LI>Francia Francia
<LI>Italia Italia
<LI>Portugal Portugal
</UL>
Las listas de definicin muestran los elementos tipo Diccionario, o sea, trmino y definicin. Se utiliza para
ellas la directiva <DL></DL>. El elemento marcado como trmino se antecede de la directiva <DT>, el
marcado como definicin se antecede de la directiva <DD>.
Ejemplo Resultado
<DL>
<DT>WWW WWW
<DD>Abreviatura de World Wide Web Abreviatura de World Wide Web
<DT>FTP FTP
<DD>Abreviatura de File Transfer Protocol Abreviatura de File Transfer Protocol
<DT>IRC IRC
<DD>Abreviatura de Internet Relay Chat Abreviatura de Internet Relay Chat
</DL>
Existen otros dos tipos de listas menos comunes. Las listas de Men o Directorio se comportan igual que las
listas sin numerar. La lista de Men utiliza la directiva <MENU></MENU> y los elementos se anteceden de
<LI> El resultado es una lista sin numerar mas "compacta" es decir, con menos espacio interlineal entre los
elementos. La lista de Directorio utiliza la directiva <DIR></DIR> y los elementos se anteceden de <LI>.
Los elementos tienen un lmite de 20 caracteres.
Todas las listas se pueden "anidar", es decir incluir una lista dentro de otra, con lo que se consigue una
estructura tipo "ndice de materias".
Ejemplo Resultado
<UL type= disk>
<LI>Buscadores
<UL>
<LI>Yahoo Buscadores
<LI>Ole Yahoo
<LI>Lycos Ole
</UL> Lycos
<LI>Links Links
<UL> Microsoft
<LI>Microsoft IBM
<LI>IBM
</UL>
</UL>

Imgenes

Hasta el momento hemos visto como se puede escribir texto en una pagina Web, as como sus posibles
formatos. Para incluir una imagen en nuestra pgina Web utilizaremos la directiva <IMG>. Hay dos
FlexABSCI: Manual de Configurador 324
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
formatos de imgenes que todos los navegadores modernos reconocen. Son las imgenes GIF y JPG.
Cualquier otro tipo de fichero grfico o de imagen (BMP, PCX, CDR, etc...) no ser mostrado por el visor, a
no ser que disponga de un programa externo que permita su visualizacin.
La directiva <IMG> tiene varios parmetros:
src = "imagen"
Indica el nombre del fichero grfico a mostrar.
alt = "Texto"
Mostrar el texto indicado en el caso de que el navegador utilizado para ver la pgina no sea capaz de
visualizar la imagen.
lowsrc ="imagen"
Muestra una segunda imagen "superpuesta" sobre la primera una vez se carga la pgina. Este parmetro
no es reconocido por la totalidad de los navegadores ya que esta en estudio su aplicacin, as que en la
mayora de los casos ser ignorado mostrndose solo la primera imagen (src). En algunos navegadores
muestra la imagen indicada por lowsrc en primer lugar, y posteriormente muestra la imagen indicada por
src. Si las imgenes son iguales pero tienen distinta "resolucin" se conseguir un efecto tipo "Fade". Si las
imgenes son de distinto tamao la imagen indicada en src se redimensionara al tamao indicado por la
imagen indicada en lowsrc
align = TOP / MIDDLE / BOTTOM
Indica como se alinear el texto que siga a la imagen. TOP alinea el texto con la parte superior de la
imagen, MIDDLE con la parte central, y BOTTOM con la parte inferior.
border = tamao
Indica el tamao del "borde" de la imagen. A toda imagen se le asigna un borde que ser visible cuando la
imagen forme parte de un Hiperenlace.
height = tamao
Indica el alto de la imagen en puntos o en porcentaje. Se usa para variar el tamao de la imagen original.
width = tamao
Indica el ancho de la imagen en puntos o en porcentaje. Se usa para variar el tamao de la imagen
original.
hspace = margen
Indica el nmero de espacios horizontales, en puntos, que separarn la imagen del texto que la siga y la
anteceda.
vspace = margen
Indica el nmero de puntos verticales que separaran la imagen del texto que le siga y la anteceda.
ismap / usemap
Indica que la imagen es un MAPA. Veremos estos parmetros ms adelante en este manual.
Ejemplo Se vera como

<IMG src="caution.gif" alt= "Cuidado !!" >

Si el visor no pudiese visualizar el grfico.....


La imagen a mostrar puede encontrase en el mismo lugar (URL) que la pagina Web. Si este no fuera el
caso, el nombre de la imagen ha de contener la URL donde se encuentre la imagen.
Ejemplo
<IMG src= "http://www.microsoft.com/iexplorer.gif">
Veamos varios ejemplos "jugando" con los tamaos de la imagen, as como comprobando la alineacin de
los textos. (Recuerde que en funcin del visor que ud. utilice pueden verse o no los efectos de cada
parmetro).
Ejemplo Se vera como

<IMG src="caution.gif"
width=100 >

FlexABSCI: Manual de Configurador 325


v62 207-SCI-SP (Configuracion).pdf
<IMG src="caution.gif"
height=20 >

<IMG src="caution.gif"
align=TOP>Atencion !!!
Atencion !!!

<IMG src="caution.gif"
align=MIDDLE>Atencion !!!
Atencion !!!

<IMG src="caution.gif"
align=BOTTOM>Atencion !!!
Atencion !!!

Tenga en cuenta<IMG src="caution.gif"


hspace=20>esta indicacion.
Tenga en cuenta esta indicacion

Tenga en cuenta<IMG src="caution.gif"


vspace=40>esta indicacion.
Tenga en cuenta esta indicacion.

Hiperlinks

La caracterstica principal de una pgina Web es que podemos incluir Hiperenlaces. Un Hiperenlace es un
elemento de la pgina que hace que el navegador acceda a otro recurso, otra pgina Web, un archivo, etc.
Para incluir un Hiperenlace se utiliza la directiva <A></A>. El texto o imagen que se encuentre dentro de
los lmites de esta directiva ser sensible, esto quiere decir que si pulsamos con el ratn sobre el, se
realzar la funcin de Hiperenlace indicada por la directiva <A></A>. Si el Hiperenlace est indicado por
un texto, este aparecer subrayado y en distinto color, si se trata de una imagen, esta aparecer con un
borde rodendola. Esta directiva tiene el parmetro href que indica el lugar a donde nos llevar el
Hiperenlace si lo pulsamos.
Ejemplo Se vera como
<A href = "http://www.microsoft.com/"> Pulse para ir a la pgina de Pulse para ir a la pgina de
Microsoft</A> Microsoft
Si situamos el ratn encima de la frase y pulsamos, el navegador acceder a la pgina Web indicada por el
parmetro href, es decir, acceder a la pgina situada en http://www.microsoft.com/
Lo mismo podramos hacer con un grfico.
Ejemplo Se vera como
Para buscar en Internet :
Para buscar en Internet :
<A href = "http://www.yahoo.com/" >
http://www.yahoo.com/
<IMG src = "yahoo.gif"></A>
Pulsando sobre la imagen se accedera a la pgina situada en http://www.yahoo.com/.
Un Hiperenlace tambin puede llevarnos a una zona de nuestra pgina. Para ello debemos marcar en
nuestra pgina las diferentes secciones en las que se divide. Lo haremos con el parmetro name.

Campos del formulario

Para la introduccin de las variables se utiliza la directiva <INPUT>. Esta directiva tiene el parmetro type
que indica el tipo de variable a introducir y name que indica el nombre que se le dar al campo. Cada tipo
de variable tiene sus propios parmetros.
type= text name = campo
Indica que el campo a introducir ser un texto. Sus parmetros son:
FlexABSCI: Manual de Configurador 326
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Maxlength = numero
Numero mximo de caracteres a introducir en el campo.
size = numero
Tamao en caracteres que se mostrar en pantalla.
value = "texto"
Valor inicial del campo. Normalmente ser " ", o sea, vaco.
type = password name = campo
Indica que el campo ser una palabra de paso. Mostrar asteriscos (*) en lugar de las letras escritas. Sus
parmetros opcionales son los mismos que para text.
type = checkbox name = campo
El campo se elegir marcando una casilla. Se permite marcar varias casillas. Los valores de las casillas
sern indicados por:
value = "valor"
checked
La casilla aparecer marcada por defecto.
type = radio name = campo
El campo se elegir marcando una casilla. Solo permite marcar una sola de las casillas. Los valores de las
casillas sern indicados por:
value = "valor"
type = image name = campo
El campo contendr el valor de las coordenadas del punto de la imagen pinchado. Debe indicarse la imagen
con el parmetro:
src = "fichero de imagen".
type = hidden name = campo
El usuario no puede modificar su valor, ya que el campo no es visible se manda siempre con el valor
indicado por el parmetro:
value = "valor"
type = submit
Representa un botn. Al pulsar este botn la informacin de todos los campos se enva al programa
indicado en <FORM>. Tiene el parmetro value = "texto" que indica el texto que aparecer en el botn.
type = reset
Representa un botn. Al pulsar este botn se borra el contenido de todos los campos. El parmetro value =
"texto" indica el texto que aparecer en el botn.
Campos de Seleccin
Este tipo de campos despliegan una lista de opciones, entre las que debemos escoger una o varias. Se
utiliza para ellos la directiva <SELECT> </SELECT> . Sus parmetros son:
name = campo
Nombre del campo
size = num
Numero de opciones visibles. Si se indica 1 se presenta como un men desplegable, se indica mas de uno
se presenta como una lista con barra de desplazamiento.
multiple
Permite seleccionar ms de un valor para el campo.
Las diferentes opciones de la lista se indican con la directiva <OPTION>. Esta directiva puede incluir el
parmetro selected para indicar cual es la opcin por defecto. En caso de que no se especifique, se tomara
por defecto la primera opcin de la lista.
reas de texto.
Representa un campo de texto de mltiples lneas. Normalmente se utiliza para que se incluyan en l
comentarios. La directiva usada es <TEXTAREA> </TEXTAREA>, y sus parmetros:
name = campo
Nombre del campo.
cols = num.
Numero de columnas de texto visibles.
rows = num.
Numero de filas de texto visibles.
wrap = VIRTUAL / PHYSICAL

FlexABSCI: Manual de Configurador 327


v62 207-SCI-SP (Configuracion).pdf
Justifica el texto automticamente en el interior de la caja. La opcin PHYSICAL enva las lneas de texto
separadas en lneas fsicas. La opcin VIRTUAL enva todo el texto seguido.
Veamos a continuacin un ejemplo de formulario utilizando todas las formas de introduccin de datos.

IMPORTANTE: La opcin mailto: en el parmetro action de la directiva FORM solo funciona correctamente
con Netscape. En Microsoft Explorer esta opcin da como resultado un correo en blanco. Para enviar un
formulario por e-mail sin importar el visor utilizado se ha de utilizar un programa externo que realize este
proceso o bien un lenguaje dinmico que procese el correo del lado del servidor.

Sonidos de fondo

Nuestra pgina Web puede tener un sonido que se active al entrar en la pgina. Esta caracterstica de MS
Explorer utiliza la directiva <BGSOUND> y tiene los siguientes parmetros:
src = "fichero"
Indica el nombre del fichero que contiene el sonido (.wav, .mid).
loop = num / infinite
Indica el nmero de veces que se reproducir el sonido. Si se indica infinite, el sonido se reproducir de
forma continua hasta que abandonemos la pgina.

Scripts de lado de cliente

Un Script es un programa escrito en un lenguaje distinto al HTML que se puede incluir en una pgina Web
"tal cual". Para incluir estos programas en una pgina Web se utiliza la directiva <SCRIPT> </SCRIPT>.
Esta directiva tiene el parmetro language para indicar el lenguaje de programacin utilizado para el Script.
El cdigo del programa debe "ocultarse" con las directivas de comentario de HTML <!-- --> con el objeto
de que no sean mostradas por los visores que no reconocen la directiva <SCRIPT>. Los scripts ms usados
suelen estar escritos en lenguaje JAVA. Este lenguaje desarrollado por Sun Microsystems permite realizar
operaciones de animacin y multimedia en una pgina Web. Asimismo se podrn incluir con esta directiva
programas escritos en C++, Perl o Visual Basic.

Imgenes de fondo transparente

Un Gif transparente es un grafico del tipo GIF 89a en el cual se define su color de fondo como
transparente. Con esto conseguimos el efecto de que el grfico se encuentre como "flotando" en nuestra
pgina. Para crear Gifs con el fondo transparente podemos utilizar un programa freeware llamado
GIFTRANS.EXE. Este programa permite cambiar uno de los colores del grfico a transparente. Para ello la
instruccin a teclear es:
giftrans -t codigo_de_color fichero_gif > nuevo_fichero
El cdigo de color que queremos que se transforme a transparente hay que darlo en formato #RRVVAA
que fue visto al principio de este manual. La instruccin:
giftrans -l fichero_gif
muestra una lista de los colores incluidos en el grfico con su cdigo de color correspondiente.
De cualquier forma, los programas grficos recientes, como CorelDraw 6 y LviewPro, permiten crear Gifs
con colores transparentes de una manera muy sencilla.

Preguntas ms frecuentes sobre HTML

Como poner un sonido de fondo en mi pgina?


Para poner un sonido de fondo en una pgina Web se utiliza la directiva <EMBED>. Para que se escuche el
fichero "cancion.mid" al cargar tu pgina Web incluye la siguiente instruccin:
<EMBED src= "cancion.mid" loop= true autostart= true volume=50 width=50 height=15
controls=smallconsole>
Para mas informacin, consulta el apartado "Extensiones del HTML" del Manual.

FlexABSCI: Manual de Configurador 328


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Hay alguna forma de evitar que los Hiperenlaces de texto aparezcan subrayados?
No, el navegador subraya automticamente los links de texto, al igual que pone un borde a las imgenes.
Sin embargo a las imgenes le podemos quitar este borde, cosa que no podemos hacer con los textos. La
nica forma de presentar un Hiperenlace de texto sin subrayar, es guardar el texto como imagen, y
presentar dicha imagen.

Como se puede cambiar el color de los Hiperenlaces de Texto?


Por defecto los Hiperenlaces sin visitar se presentan en color azul y los ya visitados (o sea que estn en la
cache) se presentan en prpura. Para variar estos colores se utilizan los parmetros vlink y link en la
directiva <BODY>. Consulta el apartado "Encabezado y Cuerpo" del Manual.

Como puedo poner en mi pagina Web una imagen de otra pgina?


Existen dos maneras. La primera es hacer referencia al "camino" completo de la imagen en la directiva
<IMG>, es decir, si la imagen esta en la pagina http://www.microsoft.com y se llama "ie.gif" puedes
escribir la directiva de la siguiente forma:
<IMG src="http://www.microsoft.com/ie.gif">
Tambin puedes copiar la imagen a tu disco duro y utilizarla directamente, para ello pulsa sobre la imagen
a copiar con el botn derecho del ratn y escoge la opcin "Guardar esta imagen como...." del men
emergente.

Se pueden poner todas las columnas de una tabla con el mismo ancho?
Si. El parmetro "width" se puede utilizar con la directiva <TD> indicando el valor del ancho de la columna
en puntos o en porcentaje. Si se indica el mismo valor para todas las columnas el ancho de estas ser
idntico independientemente del contenido de cada una de ellas. Ejemplo:
<TABLE>
<TD width=25%>Texto de la Primera columna
<TD width=25%>Texto de la Segunda columna
<TD width=25%>Texto de la Tercera columna
<TD width=25%>Texto de la Cuarta columna
</TABLE>

Cuando intento enviar un formulario por e-mail se presenta el programa de correo con una
pgina en blanco.

Esto se debe a que "Microsoft Explorer" no reconoce la opcin "action:mailto" en un formulario. Para que tu
formulario se enve a tu direccin de correo independientemente del visor de pginas Web utilizado, has de
usar un programa externo (CGI).

Como puedo incluir un video en mi pagina Web?


La directiva <EMBED> permite "incrustar" un objeto en una pagina Web. La podemos usar para incluir un
video en nuestra pagina Web. Los navegadores actuales solo reconocen "directamente" el formato .AVI, si
el fichero de video tiene otra extensin (.mov, .mpg, etc...) el navegador no ser capaz de reproducirlo
directamente, por lo que necesitara "lanzar" un programa externo que visualice el video. No es
recomendable incluir videos muy extensos en nuestra pagina Web debido a que este no empezara a
reproducirse hasta que se acabe de "leer" por el navegador. La directiva para incluir un video sera:
<EMBED src="fichero.avi" autostart=true>

Como puedo poner un color de fondo en una tabla distinto al de la pagina?


Las directivas <TABLE>, <TD> y <TH> permiten usar el parmetro bgcolor = cdigo de color para
especificar el color de fondo de la TABLA, o el elemento de la tabla correspondiente. El cdigo de color se
indica de igual manera que en la directiva <BODY>. Ejemplos:
<TABLE border=0 bgcolor=#FF0000>
<TD align=center bgcolor=#809010>

Modificar el estilo CSS del formulario en modo avanzado.

FlexABSCI: Manual de Configurador 329


v62 207-SCI-SP (Configuracion).pdf
Anteriormente hicimos mencin de la casilla de verificacin para activar el modo avanzado del formulario
para poder modificar el HTML como texto. Desde esta ubicacin es posible modificar la plantilla CSS que
utiliza el formulario de la clase que en forma predeterminada es oeGeneral.css.
Para poder realizar estas modificaciones se requiere conocimiento de Cascading Style Sheets (CSS) y se
debe tener en cuenta que si se aplican estilos de nivel global, estos afectarn tambin al HTML que
compone a los controles de FlexAB. Es decir, si se modifica a nivel global el tamao del tag IMG, las
imgenes que por ejemplo llevan los controles FileLink de FlexAB tambin adoptarn el valor impuesto en
la plantilla.

Para comenzar, el archivo oeGeneral.css est ubicado en el tempPack.zip que se encuentra en la


carpeta de los ejecutables de cliente de FlexAB. Este archivo ZIP se descomprimir a un nivel superior a la
carpeta temporal utilizada por el universo al que se est logueando. Supongamos que el universo en
cuestin, est configurado con carpeta temporal en c:\aplicacion1\temp\, con ello, el formulario de objeto
ser un archivo HTML temporal ubicado en c:\aplicacion1\temp\, el archivo oeGeneral.css se encontrar
en c:\aplicacion1 en el momento en que el usuario visualize un objeto en el editor de objetos.

Las maneras en que se pueden realizar modificaciones son muchas y escapan a la intencin de este
documento, pero para enumerar 2 casos prcticos, mencionaremos que puede hacerse el cambio
directamente sobre el archivo oeGeneral.css dentro del tempPack.zip o bien puede crearse un nuevo
archivo con extensin .css, e incluirse dentro del tempPack.zip. Este archivo luego puede referenciarse Comentario [E16]: Esto con la
desde el formulario con el tag LINK, tal como se referencia el predeterminado con la lnea: nueva funcionalidad de Updates
debe cambiar. Una vez completo el
<LINK href=../oeGeneral.css rel=Stylesheet> requerimiento hay que actualizar
este texto.
Podramos fcilmente modificar o incluir una plantilla css adicional con el siguiente tag: Comentario [A17R16]: Para
<LINK href=../miPlantilla.css rel=Stylesheet> esto necesito orientacin sobre el
nuevo tema de updates que no s
bien como funciona. Cuando
Para completar el proceso deberamos introducir el archivo miPlantilla.css en el tempPack.zip puedas lo vemos
Comentario [E18]: Mismo
Ahora bien, pasemos a una breve explicacin de cmo puede armarse una plantilla CSS bsica, para comentario que antes, debe
modificar el contenido de un documento HTML como lo es un formulario de objetos de FlexAB. cambiar con el nuevo Update

Que es CSS?

Siglas de "Cascading Style Sheets" (Hojas de Estilo en Cascada), es una tecnologa desarrollada con el fin
de separar la presentacin de la estructura del HTML. Funciona aplicando reglas de estilo a los elementos
HTML, entre las que incluyen, tamao, color de fondo, color del texto, posicin de los elementos,
mrgenes, tipos de letra, etc... Quedando de esta manera toda lo que tiene que ver con la parte grfica de
la web, separada completamente de la estructura del HTML.

Este lenguaje desarrollado por la W3C, ha venido hacindose cada vez ms importante entre los
diseadores, gracias a la facilidad de uso y a los ptimos y flexibles resultados.
Aprender a conocer CSS nos dar como resultado un mejor flujo de trabajo, mayor organizacin de nuestro
cdigo, menos peso en las pginas, y ms flexibilidad a los cambios. Adems una vez familiarizados con sus
capacidades, nos daremos cuenta de que es ms fcil y rpido disear con CSS que de la manera antigua.
Bien, empecemos por el principio. Aqu intentar ensear como hacer documentos vlidos y que sean bien
interpretados por la mayora de los navegadores actuales. Lograremos esto conociendo los tres principales
elementos en el desarrollo de CSS:

Atributos
Valores
Selectores

Atributos

Son las palabras que usaremos para indicar cual estilo queremos modificar, por ejemplo, si queremos
cambiar el tipo de letra, usamos el atributo "font", si es el fondo, el atributo "background", etc.
FlexABSCI: Manual de Configurador 330
v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
Valores

Son para definir como vamos a modificar el atributo, o la propiedad que le daremos. Por ejemplo, si
queremos que un tipo de letra sea rojo, usamos el atributo "font" y el valor "red".

Selectores

Se usan para definir sobre que elementos HTML vamos a aplicar los estilos, si queremos definir un estilo
para toda la pgina, debemos usar el selector "body" que se refiere a la etiqueta <body> del documento
HTML.

Hay tres tipos de selectores:

Los selectores de etiquetas HTML, se utilizan escribiendo el nombre de la etiqueta a la que le


aplicaremos el estilo.
Los selectores de identificador, se usan para aplicar estilos solo a las etiquetas identificadas con un
nombre.
El tercer selector es el de clase, se escribe en el documento CSS comenzando con un punto "."
seguido del nombre que le queramos poner a la clase, de esta forma:
.mi_clase.

La sintaxis:

Es muy simple, primero se coloca el selector, luego se abre una llave "{" y se empiezan a colocar los
atributos, seguidos de dos puntos ":" y luego el valor seguido de punto y coma ";", al final de todo se cierra
el estilo para el selector con el cierre de llave "}". Se pueden definir tantos atributos con sus respectivos
valores como se desee, separndolos con un espacio o un salto de lnea. En CSS se deben escribir los
atributos y valores con minusculas y los comentarios se encierran con "/*" para abrir y "*/" para cerrar,
como veremos en el siguiente ejemplo:

/*CSS sobre selector de etiquetas*/


body {
font-family: arial;
font-size: 12px;
color: black;
background-color: #cccccc;
}

Este tipo de selector no requiere de aplicacin en el documento HTML, las etiquetas a las que se les defina
un estilo de esta forma automticamente heredarn los estilos.

/*CSS sobre selector de identificador*/


#header {
background-color: #ff0000;
color: #ffffff;
font-size: 26px;
}

FlexABSCI: Manual de Configurador 331


v62 207-SCI-SP (Configuracion).pdf
En este caso, se lo aplicamos a la etiqueta con solo colocarle el identificador, como en este ejemplo:

<div id="header">Aqui el contenido</div>


/*CSS sobre selector de clase*/
.mi_clase {
margin: 5px;
height: 100px;
width: 200px;
}

En los selectores de clase, usamos el atributo "class" en las etiquetas HTML para darles el estilo. Ejemplo:

<div class="mi_clase">Aqui el contenido</div>

Ademas de esto, existen tres formas de aplicar estilos CSS a una pgina, la que recomiendo en primer
lugar, haciendo un archivo de texto plano guardado como archivo.css, separado del archivo HTML, y
vinculando la hoja HTML a l. Esto se hace colocando en la seccin head de la pgina:

<link href="archivo.css" rel="stylesheet" type="text/css">

sta forma es la ms recomendable porque as se puede vincular el archivo.css a todas las pginas del
sitio, es mucho ms liviano al ver la pgina y adems a la hora de modificar algo se hace solo una vez.

La segunda forma es aplicando los estilos directamente en la seccin <head> del documento HTML. Se
hace de la siguiente forma

<head>
<title>Pagina</title>
<style type="text/css">
<!--
body {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 12px;
color:#333333;
}
-->
</style>
</head>

Es buena idea colocarlos de esta forma si son estilos exclusivos para la pgina a la que se le aplica.

FlexABSCI: Manual de Configurador 332


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
El tercer mtodo no lo recomiendo, aunque algunas veces puede ser necesario. Consiste en aplicar el estilo
directamente sobre el elemento HTML, de esta forma:

<table style="background-color:#333333; padding:2px; width:300px;


height;100px;></table>

Como puede verse en algunos casos, los atributos pueden ser compuestos, como el atributo "font-family" o
"background-color", puede llevar adicionalmente caractersticas ms especficas, que van separadas por un
guin "-" como vimos en los ejemplos. Los valores tambien pueden ser de diferentes tipos, en los de
medida, se pueden usar pixeles "px" centmetros "cm" o relativos como "em", en los colores se puede usar
la notacin hexadecimal (#FF3300) o directamente el nombre del color en ingls.

De esta forma podemos aplicar estilos a todos y cada uno de los elementos HTML que constituyen una
pgina web, y poco a poco ir separando el contenido de la presentacin, ademas de lograr en un
documento completamente vlido cosas que solo el poder de CSS puede lograr, como cambiar
completamente la apariencia de una pgina sin tocar el archivo HTML.

nicamente con el uso, se va uno acostumbrando a lo que se puede hacer con CSS, al principio, es
conveniente usarlo para tareas sencillas como dar formato a los textos, tablas etc, pero luego uno va
conociendo como trabaja y va aadiendo elementos a los archivos CSS.

El punto ideal ser cuando logremos separar completamente el diseo del contenido, dominando las
tcnicas de posicionamiento con CSS, y eliminando el uso de tablas para diagramar el contenido.

Cuando se aplican estilos de varias maneras sobre el mismo componente, el orden de prioridad es de
adentro hacia fuera, siendo aplicado el CSS ms cercano al componente. Es decir, se aplica la plantilla css
externa, pero si hay style aplicado al header del documento HTML, este se aplica por sobre la plantilla. Y si
adems un tag en particular con css aplicado inline, este se aplica por sobre el del header. Cuando los
estilos se cruzan porque el diseo es muy complejo, hay un modo de intentar forzar la aplicacin de
determinados valores CSS y es con la sentencia !important luego del valor del atributo css.

A qu le llamamos posicionamiento?

El trmino no refiere a los buscadores como Google o Yahoo, posicionamiento en CSS consiste en ubicar los
elementos HTML en la pgina, el "layout" o distribucin de la pgina. Basicamente esto se logra
ordenndole desde CSS a los elementos que tengan cierto tamao y posicin, adems de obtener una
buena organizacin del cdigo HTML o XHTML.

El posicionamiento con CSS nos permite control total sobre los elementos de la pgina, adems con
documentos muy livianos y completamente vlidos ante W3C.

Los Divs

Antes de comenzar con el CSS exponemos aqu la importancia de usar los divs, un div es bsicamente un
contenedor, en el podemos meter cualquier clase de contenido, con la gran ventaja de que los podemos
manipular a nuestro antojo con CSS, colocarlo en cualquier parte de la pgina, de cualquier tamao, de
cualquier color, con bordes o sin ellos, con imgenes de fondo o sin ellas, a diferencia de las tablas, los divs
no se dividen por dentro, pero podemos anidarlos y organizarlos casi como las tablas (en caso de ser
necesario).

Para lograr que el posicionamiento no se vuelva complicado, debemos tener en cuenta que la organizacin
en el cdigo HTML es muy importante, tener bien estructurados los elementos nos facilitar el trabajo con
CSS, con esto quiero decir que debemos contar con un cdigo semntico.
FlexABSCI: Manual de Configurador 333
v62 207-SCI-SP (Configuracion).pdf
Semntica
Proviene del griego "semantikos", que quiere decir "significado relevante", derivada de "sema", lo que
significaba "signo") Se dedica al estudio del significado de los signos lingsticos y de sus combinaciones,
desde un punto de vista sincrnico o diacrnico. (Definicin de wikipedia)

Esto significa que a la hora de hacer el cdigo HTML, est bien organizado jerrquicamente, o sea anidar
los divs segun importancia, agrupados segun seccin, utilizar las etiquetas h1, h2, h3, etc para los ttulos,
las etiquetas <ul> y <li> para las listas, las etiquetas <p> en los prrafos, ayuda a organizar mejor el
contenido, ademas de que estn ahi para eso. La mayora se ha olvidado del uso de estas etiquetas por
trabajar en entornos grficos para disear, o porque solo le dan importancia a lo que se ve. Otras ventajas
son que los buscadores entienden el cdigo, por ejemplo google sabe que <h1>Titulo</h1> es un ttulo y
le da la importancia necesaria, si alguien usa Lynx para navegar, o cualquier navegador de texto, podra ver
un contenido ordenado y lgico y es mucho ms fcil de mantener/modificar. Un ejemplo de una estructura
sencilla:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<div id="contenedor">
<div id="encabezado">
<h1>Titulo de la Pagina</h1>
</div>
<div id="menu">
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div>
<div id="contenido">
<h2>Subtitulo 1 </h2>
<p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur
turpis purus, fringilla at, tristique vitae, venenatis vel, arcu. Lorem
ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus eget orci nec
risus posuere facilisis. Proin sit amet nisl. Curabitur lectus felis,

FlexABSCI: Manual de Configurador 334


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
interdum vitae, vestibulum ultrices, vehicula vitae, nibh. Aliquam augue mi,
viverra quis, fermentum id, mattis vitae, quam. In neque. Integer wisi
metus, tempor vitae, tempus vitae, luctus a, enim. Mauris justo. Nulla
rutrum sapien nec mi. Proin dolor neque, auctor ut, pulvinar ut, mattis eu,
erat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed commodo
facilisis arcu. Nunc semper. Donec in risus at tortor semper commodo.
Integer porttitor, mauris in tempor congue, nisl erat imperdiet mi, non
consequat wisi est in est. Aenean lobortis, wisi ac varius malesuada, lorem
est varius enim, sit amet ultrices quam risus sed quam. Maecenas euismod
adipiscing diam. Sed dui tortor, pellentesque at, vehicula et, gravida vel,
magna. Integer condimentum dignissim erat. </p>
<h3>Sub-subtitulo</h3>
<p> Praesent tincidunt. Nam quis quam at nunc pretium eleifend. Praesent
ipsum sapien, aliquam a, scelerisque sit amet, consectetuer in, arcu.
Maecenas at wisi in augue tempor tincidunt. Fusce viverra ante gravida quam.
Vestibulum varius lacus vitae lorem. Sed malesuada. Maecenas non urna vitae
metus elementum imperdiet. Donec justo enim, pulvinar ultricies, dapibus
aliquam, laoreet sed, libero. Ut odio purus, ultricies in, condimentum non,
tincidunt ac, odio. Nulla eget velit. Suspendisse massa. </p>
<div id="footer">Copyright2005 - Derechos reservados</div>
</div></div>
</body>
</html>

Figura 74: Un documento HTML sin estilo y su misma versin con estilo aplicado.

De aqu en adelante vamos con lo que nos interesa, lo primero que haremos ser centrar nuestro div
"contenedor" en la ventana del navegador, y darle un tamao especfico:

FlexABSCI: Manual de Configurador 335


v62 207-SCI-SP (Configuracion).pdf
/*empezamos por esto, para evitar resultados extraos en distintos
navegadores, y algo de estilo al texto*/

body {
font-family:Georgia, "Times New Roman", Times, serif;
font-size:12px;
color:#666666;
text-align:center; /*aqui mandamos a centrar todo el contenido*/
}

Y luego al div:

#contenedor {
width:600px; /*ancho total de la pagina*/
border:1px solid #333333; /*encadeno los 3 atributos claves del borde en
una sola linea, ahorrando codigo XD*/
background-color:#FFF8F0;
margin:10px auto; /*10px arriba y abajo, y auto a los lados, para los
navegadores nuevos es suficiente para centrar la pagina*/
text-align:left; /*aqui alineamos todo de nuevo a la izquierda, pero
dentro del contenedor*/
}

Bien, ya tenemos el div contenedor centrado en la pgina, ahora vamos con el "encabezado":

Aqu, veremos como funciona float. As como suena, float nos permite "flotar" elementos hacia la izquierda
o la derecha de la pgina, haciendo que los demas elementos fluyan alrededor

#encabezado {
margin:10px; /*para que no se pegue al borde*/
padding:10px; /*algo de relleno*/
width:224px; /*este ancho es para que cuadre con el texto*/
height:50px; /*idem*/
border:1px solid #333333; /*decoracion*/
background-color:#CC6600; /*more*/
float:left; /*lo flotamos a la izquierda*/
display:inline; /*(*)*/
}

FlexABSCI: Manual de Configurador 336


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
(*)display:inline: se usa en este caso para corregir un error en IE, en la interpretacin del margin y el
padding, si flotamos a la izquierda, y hay 10px de margin a la izquierda, IE sumara el doble de ese
margen. Con esta linea corregimos eso.

Ahora algo de estilo para el ttulo:

#encabezado h1 { /*encadenamos el identificador del div, con la etiqueta par


areferirnos solo al h1 dentro del div encabezado, asi no afectara otros h1
en el resto del documento.*/
font-size:18px;
font-weight:bold;
width:224px;
border-bottom:16px solid #FFFFFF;
color:#FFFFFF;
margin:0; /*los h1 vienen con margen, con esto se lo quito*/
text-transform:uppercase; /*convierte todas en mayusculas*/
padding-bottom:10px;
}

Seguimos con el men:

#menu {
float:left;
margin:10px 10px auto 0;
border:1px solid #333333;
width:320px;
height:24px;
}

Y luego con la lista. Las listas traen varios pre-formatos desde HTML, como las vietas, margen, saltos de
lnea a cada item, padding, etc... Aqu vamos a cambiar completamente el aspecto de una lista, con sus
vnculos dentro.

ul {
list-style-type:none; /*con esto quitamos las vietas*/
margin:0; /*le quitamos el margen a la lista*/
padding:0; /*y el relleno*/
}
li {
margin:0; /*le quito el margen al elemento de la lista*/

FlexABSCI: Manual de Configurador 337


v62 207-SCI-SP (Configuracion).pdf
float:left; /*y los floto a la izquierda para eliminar el salto de
linea*/
}
li a {
display:block; /*con esto el vinculo tendra un area rectangular, asi no
sera solo el texto*/
background-color:#CC3300; /*algo de color*/
color:#FFFFFF; /*mas*/
width:58px; /*defino el ancho del rectangulo del vinculo*/
padding:4px 0 5px 22px; /*sumamos el relleno al ancho y alto del
rectangulo para obtener el div #menu completamente ocupado con los tems del
men*/
text-decoration:none; /*elimino el subrayado del vnculo*/
font-weight:bold; /*decoracin*/
text-transform:uppercase; /*decorare los vinculos en mayusculas*/
}
li a:hover {
background-color:#999900; /*decoracin para el evento hover (mouse
encima)*/
}

Esto es suficiente para cambiar el aspecto de la lista, y los vnculos en el men. As podemos jugar con los
anchos y rellenos para lograr menes ms complejos, poniendole bordes, etc...

Ahora el contenido:

#contenido {
width:580px; /*el ancho mas el padding me da 600px de ancho que es loque
mide la pagina */
clear:both; /*con esto nos aseguramos de que no se ponga nada a los
lados*/
padding:10px;
}

Algo de estilo para los ttulos:

#contenido h2 {
font-size:16px;
color:#CC3300;
width:246px;

FlexABSCI: Manual de Configurador 338


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
text-transform:uppercase;
border-bottom:1px dotted #CC3300;
}
#contenido h3 {
width:246px;
font-size:14px;
color:#999900;
border-bottom:1px dotted #999900;
}

Y terminamos con el footer:

#footer {
width:560px; /*menos porque debemos sumar el padding del div contenido*/
text-align:right;
padding:10px;
font-size:80%; /*mas pequeo el texto*/
font-style:italic;
color:#999999;
}

Los comentarios en el cdigo explican lo que hace cada uno de los atributos clave usados en el ejemplo.

FlexABSCI: Manual de Configurador 339


v62 207-SCI-SP (Configuracion).pdf
Figura 75: Vista de un documento HTML sin formato, aplicado con plantilla de estilo CSS desde otro
archivo.

FlexABSCI: Manual de Configurador 340


v01.01.65 Revisin N1 207-SCI-SP (Configuracion).pdf
FlexABSCI: Manual de Configurador 341
v62 207-SCI-SP (Configuracion).pdf

También podría gustarte