You are on page 1of 6

INFOCOM S.A.

Tutorial Servoy Developer


Introduccin
Este documento es una gua inicial en idioma espaol para ser utilizada con Servoy eveloper versi!n ".# . Contiene una $reve descripci!n de las principales %unciones disponi$les e incluye un pe&ueo e'emplo (en el punto ") para crear una 'Solution' usando la $ase de datos e#ample*data &ue se instala 'unto con Servoy. +ara dudas o sugerencias contactar al autor , Andr-s Ac.iary , andres*ac.iary/in%ocomsa.com.ar

1. Crear una nueva Solucin


+ara crear una nueva soluci!n0 .acer clic derec.o so$re 'All Solutions' y luego clic so$re 1Create New Solution'. 2uego de eso0 saldr3 una ventana en la cual pide distintas opciones. +rimero0 el nom$re de la soluci!n0 segundo el tipo de soluci!n (si es un m!dulo para otra soluci!n0 normal0 solo 4e$ o solo smart client) y0 %inalmente0 de donde se desea &ue se sa&uen los recursos para la soluci!n (estilos0 seguridad0 etc. Es recomenda$le no tocar esta opci!n). 5na vez completado todo esto0 clic en el $ot!n 'Finish'. 5na vez creada la soluci!n0 se podr3 ver la misma como .a$ilitada en el 3r$ol de la iz&uierda la pantalla (si se tiene la perspectiva normal) 'usto de$a'o de 'All Solutions'. All se ver3n los distintos o$'etos correspondientes a la misma.

2. Definir las propiedades de la solucin


En la $arra de la derec.a se tienen las di%erentes opciones a nivel soluci!n Se dividen en eventos y propiedades. En los eventos0 se asocia un m-todo glo$al para e'ecutar en su momento correspondiente. Entre los eventos se pueden encontrar, i. 'onClose', al cerrar la soluci!n ii. 'onError': al producirse un error iii. 'onOpen: al a$rir la soluci!n 2as propiedades son, 'firstForm', %orm en el &ue comienza la soluci!n 'i18n table', ta$la para internacionalizaci!n Se puede con%igurar en el servidor autom3ticamente para todas las soluciones 'loginForm', %orm para login 'moduleNames', se eligen las soluciones &ue van a ser m!dulos de la soluci!n activa 'mustAuthenticate', se muestra el 'loginForm'. Si no esta tildado0 no se la muestra. 'solution !pe', tipo de soluci!n 'te"tOrientation', orientaci!n del te#to (dependiendo el lengua'e en el &ue se desarrolla) 'title e"t', titulo &ue va a llevar la aplicaci!n

Santa F- 678" 9 +iso : 9 (C:";<=>?) =uenos Aires 9 Argentina Email , andres*ac.iary/in%ocomsa.com.ar 9 444.in%ocomsa.com.ar 9 @el ,<"A::A"B6:AC8"C @utorial Servoy eveloper 9 documento versi!n :.C

INFOCOM S.A.
3. Objetos de una solucion
entro de la solucion0 se puede ver &ue .ay distintos o$'etos para poder desarrollarla. Estos o$'etos son, '#lobals'$ 'Forms'$ '%elations'$ '&aluelists'$ ''edia' y ''odules'( Se los puede encontrar en el 3r$ol de la iz&uierda de la pantalla0 un nivel m3s $a'o &ue la solucion activa.

3.1 Globals
Se de%inen todos los o$'etos glo$ales de la solucion0 es decir a&uellos o$'etos &ue pueden ser accedidos en toda la solucion. Entre estos o$'etos est3n m-todos0 'currentcontroller'$ ')ariables' y 'relations'. @odos se encuentran un nivel m3s $a'o en el 3r$ol de la iz&uierda salvo los m-todos a los &ue se los puede acceder seleccionando '#lobals'(
M-todos,

para crear u nuevo m-todo se de$e .acer clic derec.o so$re 'globals' y luego clic so$re 'create method'. 5na vez .ec.o esto0 se a$rir3 el editor para poder implementar el m-todo. +ara a$rir un m-todo e#istente0 simplemente se .ace clic so$re el nom$re del m-todo a a$rir en la lista. 'currentcontroller', son las %unciones integradas &ue Servoy nos o%rece para operar glo$almente0 es decir &ue lleva a ca$o su %uncion0 sin importar so$re &u- %orm se est3 operando. Entre ellas0 se pueden destacar, 'show*rint*re)iew' para mostrar la vista previa0 'print', para imprimir0 'get'a"%ecord+nde"' para sa$er la cantidad total de registros0 'new%ecord','delete%ecord' para mane'ar los registros0 entre otras. ')ariables', se crean varia$les para usar dentro de la solucion. Dan a mantener su valor por el resto de la sesi!n. +ara ello0 se .ace clic derec.o so$re 1varia$les1 y luego clic so$re 'create )ariable'. 2uego0 se a$rira una ventana en la &ue se pide nom$re0 tipo y valor por de%ecto de la misma. Al terminar0 clic so$re 'O-'. 1%elations1, se pueden ver las relaciones asociadas a varia$les glo$ales.

3.2 or!s
Son las pantallas con las &ue se va a interactuar con el usuario. entro de ella0 se ponen los elementos necesarios para llevar a ca$o su %uncionalidad. @am$ien podemos encontrar los o$'etos relacionadas a los 1%orms1 si $a'amos un nivel en el 3r$ol de la iz&uierda. Estos o$'etos se veran en detalle m3s adelante y son, 'controller'$ ')ariables'$ 'elements'$ 'selectedrecord' y 'relations'(

"uevo or!
Clic derec.o so$re el nom$re de la soluci!n activa y luego clic so$re 'Create New Form'. Saldr3 una ventana en donde se de$en llenar distintas opciones. +rimero0 el nom$re del %orm a crear0 segundo0 la ta$la asociada a este %orm (una vez elegida la ta$la0 si el nom$re esta en $lanco0 se lo llena autom3ticamente con el nom$re de la ta$la). 2uego pregunta si el %orm .ereda de algEn otro %orm ('E"tends'). espu-s0 pregunta por el estilo del %orm a usar y si se &uiere usar algEn %orm de e'emplo y0 %inalmente0 para &u- soluci!n se lo desea crear (por si tra$a'amos con varios m!dulos al mismo tiempo). 5na vez completado esto0 si se lo desea se pueden poner campos de la ta$la en el %orm. +ara esto0 .acer clic en 'Ne"t'. All se ira a otra pantalla en la &ue se pregunta &u- campos de la ta$la se desea ingresar al %orm. Se los de$e seleccionar (se puede usar la tecla Ctrl para seleccionar mas de un campo). e$a'o de eso0 se pueden elegir distintas opciones para los campos seleccionados, i. '*lace labels', pone las eti&uetas autom3ticamente para cada campo con su titulo correspondiente ii. '*lace .ori/ontal': pone los campos uno al lado del otro y no uno de$a'o del otro como lo .ace
Santa F- 678" 9 +iso : 9 (C:";<=>?) =uenos Aires 9 Argentina Email , andres*ac.iary/in%ocomsa.com.ar 9 444.in%ocomsa.com.ar 9 @el ,<"A::A"B6:AC8"C @utorial Servoy eveloper 9 documento versi!n :.C

INFOCOM S.A.
por de%ecto. iii. 'Fill te"t propert!', llena autom3ticamente la propiedad 'te"t' del elemento a crear con el titulo del campo. (recomenda$le siempre tenerlo seleccionado) iv. 'Fill name propert!', llena autom3ticamente la propiedad 'name' del elemento a crear con el titulo del campo para luego poder ser di%erenciado de los dem3s elementos al momento de escri$ir c!digo 5na vez terminado eso0 clic so$re el $ot!n 'Finish'.

#ropiedades de un or!
En la $arra de la derec.a se tienen las di%erentes opciones a nivel %orm. 2as propiedades de un %orm se dividen en 6, comandos0 eventos y propiedades. 2os comandos son acciones &ue pueden modi%icar al con'unto de registros &ue se esta mirando0 pero no as los datos. +or e'emplo, pr!#imo registro0 registro anterior0 alta0 $a'a0 entre otros. A los comandos se les puede asociar un m-todo para e'ecutar cuando ellos mismos se e'ecuten. 2os eventos est3n relacionados con el %orm en general y el registro &ue se esta viendo en particular. Se les puede asociar un m-todo a e'ecutar 'unto con ellos. Entre ellos se encuentran, 'on.ide', al salir del %orm 'on%ecordSelection', al elegir un registro 'onShow', al mostrar el %orm +or Eltimo0 est3n las propiedades0 entre las mas importantes se encuentran, 'na)igator', de%ine la parte iz&uierda de la pantalla del %orm. +uede ser ninguno0 el por de%ecto de Servoy (para navegar entre registros con una 'record&iew') o se puede .acer uno propio (se vera m3s adelante en detalle) 'scrollbars', de%ine cu3ndo se de$en poner $arras de desplazamiento0 tantos .orizontales como verticales 'st!leName', de%ine el estilo para este %orm 'title e"t', te#to para aparecer en el titulo de la aplicaci!n ')iew', de%ine como se desea ver los registros ya sea en ta$la0 registro Enico o en lista.

#esta$as en or!%
En la parte de a$a'o de un %orm0 se pueden encontrar distintas pestaas &ue nos dan opciones para con%igurar cada %orm. Ellas son, '0esign'$ '*arts'$ ' ab Se1uence' y 'Securit!'.
'0esign',

sirve para poner elementos dentro del %orm0 de%inir sus propiedades y su locaci!n dentro del

mismo. '*arts', se de%inen las partes del %orm. Se pueden agregar pies ('Footer' o 1 itlefooter')0 ca$eceras ('.eader' o ' itle.eader') y partes para cortes de control.
'

ab Se1uence', se de%ine la secuencia para pasar de elemento en elemento con la tecla ab 'Securit!': con%iguraci!n de la seguridad. Se de%ine &u- grupos de usuarios pueden ver cada elemento dentro del %orm y cu3les pueden acceder al mismo. Objetos de un or!
Santa F- 678" 9 +iso : 9 (C:";<=>?) =uenos Aires 9 Argentina Email , andres*ac.iary/in%ocomsa.com.ar 9 444.in%ocomsa.com.ar 9 @el ,<"A::A"B6:AC8"C @utorial Servoy eveloper 9 documento versi!n :.C

INFOCOM S.A.

'Controller':

son las %unciones integradas &ue Servoy nos o%rece para operar con este %orm. Entre ellas0 se pueden destacar, 'show' para mostrar el %orm0 'find','search', com$inacion para realizar una $us&ueda0 'sort' para de%inir como se desean ver los datos0 'new%ecord','delete%ecord' para mane'ar los registros0 entre otras. '&ariables', se crean varia$les para usar dentro de ese %orm. +ara ello0 se .ace clic derec.o so$re 1varia$les1 y luego clic so$re 'create )ariable'. 2uego0 se a$rira una ventana en la &ue se pide nom$re0 tipo y valor por de%ecto de la misma. Al terminar0 clic so$re 'O-'. 'Elements', se pueden ver los elementos &ue se de%inieron en el %orm si se $a'a un nivel m3s en el 3r$ol y0 al seleccionar uno de ellos0 se podr3n ver las %unciones asociadas al mismo. Sino0 si se selecciona 'elements'0 se puede tra$a'ar so$re el arreglo de todos los elementos. 'Selected%ecord', se pueden ver los registros0 calculaciones y agregaciones de la ta$la asociada al %orm y tra$a'ar so$re ellos. '%elations': se pueden ver las relaciones asociadas a la ta$la asociada al %orm.

&le!entos para un or!


+ara agregar un elemento en un %orm se de$e .acer clic en 'Elements' en la $arra de .erramientas y luego clic so$re el elemento &ue se &uiere agregar (as como tam$i-n .ay un ata'o en la $arra para cada elemento). 2os tipos de elementos a agregar son, (a) F+E20S, son los campos de la ta$la0 relaci!n o cual&uier otro proveedor de datos. Sirven para mostrar los datos. ($) 2A3E2S, son eti&uetas. Sirven para mostrar un te#to est3tico. (c) 34 ONS, son $otones. Cuando se los pulse se va a activar el evento onAction &ue de$era tener un evento asociado. (d) *O% A2S, muestran los registros de una relaci!n en %orma de ta$la. Se eligen las columnas &ue se desean mostrar y lo dem3s lo .ace autom3ticamente con el registro &ue se est3 viendo en el %orm activo (e) A3 *ANE2S, muestra un %orm adentro del elemento. Fste puede ser de una ta$la relacionada o no. Si es de una relaci!n0 tra$a'ara como el portal. Es una de las $ases del reuso &ue se puede .acer en Servoy. (%) 3EANS, son elementos de Gava &ue tienen cierta interacci!n con los datos (o no). +or e'emplo, gr3%icos de $arra0 c!digos de $arra o simplemente un relo'. (g) 'E0+A, un campo donde se muestra un arc.ivo multimedia importado a la soluci!n.

3.3 'elations
Muestra la lista de las relaciones de%inidas para esta solucion. +ara crear una relacion0 se de$e .acer clic derec.o so$re 'relations' y luego clic so$re 'create relation'. Alli0 se a$rira una ventana para poder con%igurar la relacion. En ella0 se pedira el nom$re de la relacion (se llena automaticamente cuando se eli'an las ta$las a relacionar)0 luego0 la ta$la de origen ('Source') y la ta$la de destino ('0estination') y despues los campos a relacionar. Estos pueden ser varios y por distintos operadores (iguales0 distintos0 mayor0 menor0 entre otros). Finalmente0 se tienen otras opciones como el tipo de 5oin &ue se desea .acer0 el ordenamiento ('sorting') y otras opciones so$re los registros de la relacion.

3.( )aluelists
Son listas de valores en los &ue se reemplaza un valor por otro0 s!lo en el sentido de la muestra de datos al
Santa F- 678" 9 +iso : 9 (C:";<=>?) =uenos Aires 9 Argentina Email , andres*ac.iary/in%ocomsa.com.ar 9 444.in%ocomsa.com.ar 9 @el ,<"A::A"B6:AC8"C @utorial Servoy eveloper 9 documento versi!n :.C

INFOCOM S.A.
usuario0 no en la ta$la en si. +ara crear una nueva0 clic derec.o so$re ')aluelists' y luego clic so$re 'clic )aluelist'. Alli0 se a$rira una ventana en las &ue se pedira el nom$re de la )aluelist y0 %inalmente0 se a$rira otra ventana en la &ue se con%igura la )aluelist( +ara una )aluelist0 se pueden tener ; tipos de valores0 unos determinados por valores de una ta$la y los otros0 %i'os determinados en tiempo de diseo. Dalores %i'os, para &ue una )aluelist tenga valores %i'os se de$e seleccionar 'custom &alues' y luego llenar el campo de te#to con los valores a mostrar. Si se desea retornar algun valor0 se lo puede especi%icar .aciendo H)alor a retornar 6 )alor a mostrar7( Dalores de ta$la, para &ue la )aluelist tome valores de una ta$la0 se de$e seleccionar '0atabase &alues'. A&u tam$ien se tienen ; opciones. 5na puede ser todos los valores de una ta$la y la otra es para valores de una relacion. +ara el primero0 se de$e seleccionar 'All )alues from' y elegir el servidor y la ta$la &ue se desea. @am$ien se puede prender el %iltro de 1)aluelist name1$ esto signi%ica &ue podemos tener todas las )aluelists en una ta$la &ue tenga un campo llamado ')aluelist8name' y se la va a %iltrar segEn el valor de ese campo. +ara el segundo0 se selecciona 'related )alues' y luego0 la relacion deseada. Elegido el tipo0 de$emos seleccionar &u- campo se &uiere mostrar y &u- campo se desea guardar en la $ase. +ara esto0 se elige el campo y luego se selecciona 1Show in field , list1 para los valores a mostrar y 1%eturn in datapro)ider1 para los valores a retornar. Finalmente0 se puede poner un car3cter para dividir los campos mostrados0 de%inir un orden especial y devolver o no un valor nulo.

3.* +edia
En esta secci!n se pueden agregar y &uitar arc.ivos de multimedia para usar en la soluci!n. +ara esto se de$e .acer clic derec.o so$re ''edia' y luego clic so$re '+mport 'edia' para agregar solo un arc.ivo de multimedia o '+mport 'edia Folder' para agregar una carpeta de arc.ivos. +ara $orrar un arc.ivo particular se .ace clic derec.o so$re esa imagen en la lista y luego clic so$re '0elete media'.

3., +odules
Si se e#tiende el 3r$ol de este o$'eto0 se podr3n ver las soluciones m!dulos &ue componen a la soluci!n activa. Estas soluciones a su vez tienen el mismo 3r$ol &ue la soluci!n activa y se las usa como una activa.

(. Solucin de &je!plo% #aso a #aso


Se toman en cuenta las e#plicaciones anteriores para ciertas acciones. Se usar3 el servidor 1e#ample*data1 &ue ya viene instalado en Servoy. espu-s de cada paso0 se de$e guardar la soluci!n (Ctrl I S o clicJ so$re el $ot!n dis&uete de la $arra de .erramientas) :. ;. 6. ". Crear una soluci!n. Al momento de darle un nom$re0 se le pone HtutorialK. Crear una relaci!n entre las ta$las 'customers' ! 'orders' por el campo 'customerid' Crear una relaci!n entre las ta$las 'orders' ! 'order8details' por el campo 'orderid' Crear un form relacionado a la ta$la 'order8details' en el &ue se pondran todos los campos de %orma .orizontal0 menos el 'orderid'( Finalmente0 se con%igura el )iew del form para &ue sea 1 able &iew' y el na)igator a '+#NO%E'( <. Crear un %orm relacionado a la ta$la 'orders' y cam$iar el nom$re del mismo a Horders*dtlK. Se mostrar3n los campos, 'orderid'$ 'customerid'$ 'emplo!eeid'$ 'orderdate' ! 'shipadress' con las eti&uetas y de %orma vertical. Acomodar los campos y eti&uetas a gusto. +oner un tabpanel y elegir el %orm relacionado de order8details (para esto0 a$rir el 3r$ol de la relaci!n y seleccionar el form) y acomodarlo a gusto(
Santa F- 678" 9 +iso : 9 (C:";<=>?) =uenos Aires 9 Argentina Email , andres*ac.iary/in%ocomsa.com.ar 9 444.in%ocomsa.com.ar 9 @el ,<"A::A"B6:AC8"C @utorial Servoy eveloper 9 documento versi!n :.C

INFOCOM S.A.
7. Crear un %orm relacionado a la ta$la 'orders' y cam$iar el nom$re del mismo a Horders*t$lK. Se mostrar3n los campos, 'orderid'$ 'customerid' ! 'orderdate' sin las eti&uetas y de %orma .orizontal. Insertar un $ot!n0 acomodarlo al principio de la %ila y con%igurar su te#to como HIK( 2uego0 .acer do$le clic so$re el evento 'onAction' y luego clic so$re 'Create #lobal 'ethod1. En el nom$re &ue pide0 poner 'iraOrders8dtl' y clic so$re 'O-' dos veces. espu-s .acer clic so$re la carpeta &ue aparece en el 'onAction' &ue llevar3 al editor de m-todos de Servoy. En el editor0 entre las llaves &ue aparecen0 poner la sentencia 'forms.orders_dtl.controller.show()'. >ra$ar y cerrar la pestaa. Finalmente0 se con%igura el )iew del form para &ue sea 1 able &iew' y el na)igator a '+#NO%E'( L. Crear un %orm relacionado a la ta$la 'customers' en el &ue se mostrar3n los campos, 'compan!name'$ 'contactname'$ 'countr!' ! 'phone' con sus eti&uetas de %orma vertical( Acomodar los campos y eti&uetas a gusto. +oner un tabpanel y elegir el %orm 'orders8tbl' relacionado de orders (para esto0 a$rir el 3r$ol de la relaci!n y seleccionar el form) y acomodarlo a gusto( +ara ir pro$ando los sucesivos pasos se de$e arrancar el 1Smart Client1 o el 19eb Client1. Se recomienda usar el 1Smart Client1 ya &ue permitir3 pro$ar los distintos 'Forms' diseados eligi-ndolos en el menE 19indow'(

Santa F- 678" 9 +iso : 9 (C:";<=>?) =uenos Aires 9 Argentina Email , andres*ac.iary/in%ocomsa.com.ar 9 444.in%ocomsa.com.ar 9 @el ,<"A::A"B6:AC8"C @utorial Servoy eveloper 9 documento versi!n :.C

You might also like