Vous êtes sur la page 1sur 111

INGENIERIA DEL SOFTWARE I

GENEXUS Para iniciar un Proyecto en Genexus 9.0 primero crearemos una base de datos con SQL Server 2005 o superior.

Luego seguimos los siguientes pasos para activar la seguridad sa de SQL Server. Vamos a CONECTAR.

Elegimos Motor de Datos

Luego de la ventana Conectar a Servidor escogemos: Autenticacin de Windows. Y damos Conectar.

Escogemos seguridades

Luego Inicios de Sesin.

De la lista de usuarios escogemos al Usuario sa. Y damos doble clic.

Aparece la ventana Propiedades de Inicio de Sesin sa

Desactivamos a continuacin las casillas: Exigir directivas de contrasea, Exigir caducidad de contrasea, y la casilla El Usuario debe cambiar la contrasea en el siguiente inicio de sesin; adems, ponemos en Contrasea y Confirmar Contrasea la palabra clave: sa.

Vamos seguidamente a Estado.

Seleccionamos las opciones Conceder y Habilitada. Y damos clic en Aceptar.

Luego de haber hecho esto, debemos ir a Propiedades del servidor que est activado para el SQL Server, en este caso el servidor es AMSCOM, damos clic derecho para desplegar las propiedades y escogemos Seguridad.

Propiedades del Servidor AMSCOM.

Se abre la ventana de propiedades del servidor.

Vamos a la opcin Seguridad.

Y escogemos o activamos la opcin Modo de autenticacin de Windows y SQL Server.

Luego escogemos Procesadores y activamos la opcin Aumentar la prioridad de SQL Server. Y Aceptamos.

Luego damos clic derecho sobre el servidor y aceptamos en Reiniciar.

En la ventana Microsoft SQL Server Management Studio damos clic en SI.

En la siguiente ventana tambin damos SI

De esta manera hemos autenticado la seguridad de SQL Server.

De ser necesario reactivar el Agente SQL Server, lo podemos hacer, haciendo clic derecho sobre l y aceptando en Iniciar.

Ahora que ya tenemos configurada SQL Server, crearemos una base de datos en blanco.

La llamaremos BDdatos02 y aceptamos

Ahora vemos que nuestra base de datos BDdatos02 ha sido creada.

Acto seguido vamos al Disco C:\ y creamos una nueva carpeta donde estar nuestro proyecto de Genexus.

Yo la llame Clase2.

GENEXUS 9.0
Primero debemos instalar Genexus 9.0, en nuestro PC, para lo cual seguimos los siguientes pasos: INSTALAR GENEXUS 9.0 1. ABRIR EL ARCHIVO INDEX CON INTERNET EXPLORER IR A THIRD PARTY TOOLS o INSTALAR .NET FRAMEWORK 1.1 o INSTALAR JSHARP FRAMEWORK 1.1 2. REGRESAR AL HOME 3. ABRIR GENEXUS TOOLS INSTALAR GENEXUS PROTECTION SERVER 4.0 4. IR AL HOME 5. INSTALAR GENEXUS 9.0 ACEPTAR EN ESPAOL ACEPTAR TODOS LOS PROGRAMAS QUE MUESTRA COMO NET, FOX, COBOL. RPG 6. COPIAR LA CARPETA LICENCIAS APARTE (ESCRITORIO, POR SI SE BORRAR LOS ARCHIVOS) 7. EJECUTAR LICENCIAS EN EL ORDEN: DEVELOPMENT (DE), JAVA Y .NET A TODO PONER OK 8. INGRESAMOS A GENEXUS, ELEGIMOS DEL MENU GENEXUS 9.0 TOOLS Y ACEPTAMOS EN LICENSE MANAGER 9. MARCAMOS UNO A UNO: DEVELOPMENT (DE), JAVA Y .NET, EN CADA UNO DAMOS CLIC EN TRANSFER, MARCAMOS TRANFER IN, BUSCAMOS LAS LICENCIAS EN EL ESCRITORIO Y DAMOS OK EN EL ORDEN DEVELOPMENT (DE), JAVA y . NET 10. ABRIMOS LA CARPETA DE PARCHES Y EJECUTAMOS UNO A UNO: DEVELOPMENT (DE), JAVA Y .NET 11. EJECUTAMOS EL ARCHIVO LLAMADO registrofram.bat 12. REINICIAR LA PC. Todos los pasos se siguen usando el software de Genexus 9.0, una vez instalado iniciamos la creacin de nuestra Base de Conocimientos, y todo cuanto hagamos lo direccionaremos a la carpeta Clase2 que creamos en C:\ Abajo vemos la pantalla de Genexus 9.0

10

Creamos una Nueva Base de Conocimientos (New Knowledge Base).

Nos aparece la pantalla, donde debemos poner el nombre de la Base de Conocimientos, direccionndola a la carpeta que antes creamos en C:\

Le ponemos un nombre a la Base de Conocimientos (Clase2) y la direccionamos.

11

Nos queda de la siguiente manera: Damos Ok para crear la Base de Conocimientos.

La base de Conocimientos Clase2 queda determinada en el siguiente interface.

Hacemos clic en Objects

12

Vamos al men grfico y aceptamos en New Object, para de esta manera definir el nuevo objeto de la base de conocimientos Clase2

La ventana Define Object aparece, debe estar marcado Transaction.

Le ponemos un nombre, en este caso Plantilla y marcamos Style Object (Estilo del objeto) y Ok

13

Nos aparece una nueva ventana con la plantilla que hemos creado, a esta plantilla le podemos hacer los cambios que deseemos para personalizarla.

Podemos agrandar la plantilla, macar los botones y moverlos de lugar,

Podemos borrar los botones con solo marcarlos y aplastar Insert (borrado botn Help)

14

Ahora vamos a poner iconos en vez de los botones que por defecto nos despliega Genexus 9.0, para esto buscamos los botones en la web, los ponemos dentro de una carpeta y esa carpeta la ponemos dentro de la Clase2 que est en el C:\

Para cambiar los iconos damos sobre clic sobre los botones por ejemplo el botn Enter. Nos aparece la ventana Button Properties.

Damos Clic en Bitmap para elegir el botn Nuevo de la carpeta botones que pusimos en la carpeta Clase2 anteriormente. Elegimos el botn Nuevo1,

15

Damos clic en abrir y hemos seleccionado el botn que seleccionamos.

Ahora damos clic en Auto Rezise, para ajustar el tamao del botn automticamente, y OK

Aparece el botn en la plantilla, ahora solo nos resta hacer lo mismo con los otros botones.

16

Aca vemos los botones cambiados, los botones son fotografas .jpg

Marcamos los botones y en la parte inferior vemos las alineaciones que nos permite Genexus, elegimos una y veremos una alineacin instantnea.

17

Para cambiar el color del formulario (Plantilla) damos doble clic sobre una parte vaca y aparece las propiedades del formulario (Form Properties)

Vamos a Color y elegimos un color y Aceptar

El color de fondo del formulario ha cambiado de color, guardamos todo con Save.

18

Creamos un nuevo Objeto, New Object

Le ponemos un nombre en este caso Cliente, seleccionamos el Estilo (Style) en esta caso la Plantilla que hemos creado. Y damos Ok

Nos aparece la ventana de Transaction Cliente: Cliente*, donde insertamos los campos que necesitemos

19

Ponemos un campo, este ser el campo que contenga la clave primaria (Primary Key)

Para insertar otro campo damos clic derecho sobre la tabla Cliente y seleccionamos Add Atribute, o podemos al final del ingreso del campo dar ENTER.

Para cambiar el Tipo de datos damos doble clic sobre el tipo de datos y seleccionamos el que deseemos.

20

Una vez ingresados los campos nos quedar as, luego damos Guardar. Save.

Luego hacemos clic en Form, y veremos cmo nos queda el formulario que hemos estado diseando. Tomar los atributos de botones y colores de la Plantilla. Damos Grabar (SAVE)

Ahora iremos a PROTOTIPO (Prototype)

21

Aparece una ventana de Genexus que nos pregunta si deseamos crea un nuevo modelo, hacemos OK

Aparace la ventana GX Wizar Step 1 of 6, aqu seleccionamos en Interca de uso (User Interface) a Win. Y damos siguiente. Next

En la ventana siguiente ponemos el nombre de la Base de datos (BDdatos02) que hemos creado en SQL Server y el servidor (AMSCOM)

22

Nos queda:

Damos Next. Y en la siguiente ventana elegimos en User trusted conection (no) pues por defecto est (yes) adems seleccionamos la Versin del servidor SQL (2005 o superior) y colocamos sa en el User y el User password, si estamos usando alguna clave en SQL Server 2005; de no ser as pues lo dejamos en YES y solo cambiamos la versin del servidor SQL.

En la siguiente ventana solo damos Next

23

Esta ventana que se abre (Paso 5) debe contener en su direccionamiento la versin y apuntar hacia csc.exe, para que funcione normalmente. Verificamos esto y damos Next

De no se as, buscamos la versin correcta (pudiendo ser C:\Windows\Microsoft.net\framework\v3.5\csc.exe \v2.0.50727\csc.exe). Y damos Next.

la

En la siguiente damos Finish

24

Y en la ltima ventana OK

Acto seguido se puede ver la ventana Database Creation Report, donde elegimos Reorganize.

Aparece una ventana que nos pregunta si ejecutamos la Reorganizacin, hacemos clic en SI.

25

Luego se inicia la ejecucin

En la ventana Genexus Reorganization hacemos clic en Execute.

Aparece una ventana que nos avisa que la reorganizacin se ha ejecutado. Clic en Close.

26

Una vez editado el Modelos Clase2. Escogemos Objects, y veremos que se ha creado la tabla Cliente.

Damos clic en Tables y vemos la tabla creada para la DB.

Ahora del men escogemos FILE, y luego Edit Model

27

Aparece la ventana Model Properties. (Propiedades del Modelo)

Damos clic en properties.

Vamos a User Interface

28

Luego a Key Configuration

Y escogemos Enter, Tab, Shift Tab, para que el, curso salte automticamente de un sitio a otro en orden.

Luego en Transaction Configuration, vemos los botones antes configurados y sus respectivas acciones. Damos Aceptar.

29

Si hacemos clic en DBMS Options.. Veremos cmo est configurada la conexin de la DB y aqu podemos hacer modificaciones si es necesario, (en especial cuando cambiamos de servidor), cerramos todo haciendo Aceptar.

Del men superior escogemos Buid y Specify.

Aparece la ventana Select Objet

30

Damos doble clic sobre Cliente y aparece la ventana Specify Objects.

En esta ventana hacemos clic en Force generation y Specify & Generate, luego OK.

Se genera todo y aparece la ventana Specification Report , donde hacemos Close.

31

Una vez hecho esto clic en Execute

Compile.

Close.

32

Execute&Compile

Compile&Execute. Una vez hecho esto aparece la ventana Genexus Developer Menu

Desplegamos el rbol de Transacciones y escogemos la tabla Cliente y damos un clic.

33

Seguido se despliega el formulario que antes habamos diseado.

Aqu ya podemos ingresar datos en el formulario, datos que ser ingresado automticamente en la Base de datos BDdatos02 de SQL server, donde se ha generado automticamente por Genexus la tabla Cliente

Ingresemos datos para verificar si son recibidos en la base de datos BDdatos02. Una vez ingresados damos Insert.

Vemos en SQL Server que los datos han ingresado

34

Ingresamos ms datos para verificar si los dems botones (Borrar, Salir y Seleccionar funcionan, as como las flechas de navegacin). El botn Seleccionar despliega los datos de todo lo ingresado, al dar doble clic sobre un registro se seleccionan eso datos.

Datos seleccionados.

Al querer borrar un registro, ante de hacerlo consulta si desea borrar el registro, al aceptar el registro se borra. (Registro borrado Pepito Prez)

En la base el registro ha sido eliminado.

35

Todo funciona perfecto. Ahora aremos un nuevo formulario, para esto regresamos a DESING (Diseo)

Haremos una tabla donde ingresemos el estado civil de cada uno de los registros anteriormente ingresados a la base de datos. Hacemos un nuevo objeto. (New Object)

Seleccionamos Transaction, ponemos el nombre de la tabla (ECivil) y seleccionamos en estilo Plantilla

Ingresamos los campos que deseemos para la tabla ECivil

36

Ingresamos los campos y los tipos de datos y guardamos. (Save)

Hacemos clic en Form y vemos como quedo nuestro formulario, hora grabamos (Save)

Vamos a Prototipo, para generar la nueva tabla y enlaces a la base de datos.

37

Seleccionado Prototipo en la ventana que aparece damos OK, y en seguida aparece la tabla que hemos creado.

Damos clic en Reorganize y nos pregunta si deseamos ejecutar la reorganizacin, decimos que SI.

En la siguiente

38

Y una vez reorganizado cerramos (Close)

Vamos a la tabla cliente en DESIGN

En la estructura, marco la tabla cliente.

39

Doy CTRL+A

Selecciono el tipo como Transaccin.

En Object, marco la tabla con la cual voy a relacionar en este caso Ecivil

40

Selecciono los atributos y doy OK

Los atributos seleccionados han sido incorporados a la tabla cliente. Grabamos (Save)

Vamos a ver en el formulario que los dos atributos han sido tambin incorporados al mismo.

41

Seleccionamos PROTOTIPO, en la ventana que aparece damos OK

Seleccionamos Reorganize y al hacerlo nos aparece una ventana de la cual seleccionamos SI

En la ventana Genexus Reorganization ponemos, Execute

42

Nos va a dar un error es porque la clave de la tabla ecivil no acepta valores NULL

La reorganizacin ha fallado, cerramos las dos ventanas.

Regresamos a DESIGN

43

Y elegimos la tabla cliente y vamos a structure.

En estructure, cambiamos el valor de NULL a YES en el cdigocivil y grabamos (Save)

Regresamos a PROTOTIPO y ejecutamos los mismos pasos anteriores, veremos que no sale el error

44

Ahora hacemos clic en Build All

Seleccionamos Force Generation y Specify&Generation y damos OK.

Cerramos la ventana Specify report

45

Aceptamos en Execute.

De la ventana Execution elegimos Compile.

Si no sale error cerramos la ventana Genexus Compilation

46

Hacemos clic en Compile&Execute

Aparece la ventana Genexus Developer Menu, al hacer clic en Transactions se muestran las tablas que hemos creados (cliente y ecivil)

Ingresamos datos en la tabla ecivil

47

En SQL Server podemos ver los datos que hemos ingresado en la tabla ecivil.

Ahora seleccionamos el formulario cliente

Ingresaremos datos

Para seleccionar el estado civil, ponemos el cursor en la caja de texto de cdigo civil y digitamos F4, se desplegar todas las posibilidades de estado civil que hayamos ingresado.

48

Seleccionamos un estado civil (dando doble clic o digitando la tecla Confirm)

Al hacerlo el cdigo (en este caso el 3 de Unin Libre) se ingresa a formulario

Damos ENTER y aparece automticamente el estado civil seleccionado. En la casilla estado civil.

Ponemos Insert y agregamos los datos a la base de datos BDdatos02. La relacin guarda los datos relacionados y cuando consultemos los podremos observar como los hayamos ingresado.

49

NUEVA BASE DE CONOCIMIENTOS RELACIONAL (Factura)


Iniciamos creando una nueva carpeta en la raz c:\ la cual llamaremos CLASE3. Donde se almacenar todo lo que hagamos en nuestra base de conocimiento.

Creamos nuestra Base de Conocimientos (Facturas) y la direccionamos a la carpeta CLASE3 que hicimos antes.

Diseamos un New Object al cual llamaremos Cliente, lo haremos si usar una plantilla, como en el ejercicio anterior.

50

El Objeto Cliente. Seleccionamos Transaction y le ponemos el nombre.

Ingresamos los campos o atributos. Cedula, apellidos y nombres. Guardamos

Hacemos el formulario Producto, cuyo cdigo ser incremental, veamos cmo se hace esto. Primero ponemos el atributo codigoprod, damos clic derecho sobre el y aceptamos propiedades.

51

Cambiamos Autonumber de False a True. As se incrementar automticamente el cdigo.

Ponemos los atributos restantes en la tabla producto, cabe indicar que para poner decimales, solo debemos determinarlo en la parte decimal del atributo (numeric), y guardamos,

Hacemos el formulario Factura

52

Ponemos el nmero de Factura, la fecha (pero a la fecha le asignaremos un estilo) esto lo hacemos marcando el atributo fecha y yendo a propiedades.

En propiedades verificamos el Date Type que sea Date y en Date Format elegimos como deseamos que aparezca la fecha (formato)

Hasta ahora hemos trabajado en el PRIMER NIVEL , y en este nivel pondremos los siguiente campos cdula, apellidos, nombres.

53

Ahora vamos a crear un SEGUNDO NIVEL donde pondremos todo lo referente al detalle de la factura, para crear un SEGUNDO NIVEL, debemos tener aplastado CRTL y digitar la flecha derecha (->). Para esto damos enter y una vez que aparece el cuadro de ingreso de atributo hacemos CRTL+->.

Cambiamos el nombre level1 por detalle.

Hacemos CTRL+A para que aparezcan los atributos que deseamos ingresar en el formulario factura, dentro del nivel detalle.

54

Elegimos codigoprod y OK, seguido aparece en nuestro formulario.

Vemos que factotalinea es el ltimo atributo, a este le pondremos una frmula para calcular el total de la factura que sera la multiplicacin de la factcanti y factprecio. Grabamos.

Veamos cmo est quedando nuestro formulario Factura

55

Regresamos al nivel anterior con CTRL+<-, ponemos un atributo vaco y digitamos CTRL + <-

Ingresamos el atributo factsubtotal, para saber el subtotal de la factura. Aqu tambin ponemos una frmula sum(factotalinea).

Veamos cmo est quedando nuestro formulario factura.

56

Ponemos otro campo al cual llamaremos factiva y de igual manera le ingresaremos una formula factsubtotal * 0.12.

Ingresaremos un nuevo campo para el total de la factura facturatotal al cual de ingresaremos una frmula que sume factsubtotal+ factiva.

Cambiamos el typo de atributo a 6.2 en todos los atributos desde factotalinea hasta facturatotal.

57

Ordenamos los atributos que ingresamos al ltimo a la derecha del formulario factura.

Damos doble clic sobre el GRID y de la ventana Grid Properties vamos a colum ac vemos el nombre de las columnas, una a una les cambiaremos el nombre para mejorar la presentacin.

Codigoprod por cdigo

58

Vemos que los nombres de las columnas han cambiado.

Para cambiar los cuadros de texto que sealan el subtotal, el iva y el total general, damos doble clic sobre cada uno y cambiamos el nombre.

Vemos todos los cuadros de texto cambiados.

59

En DESIGN vamos a tables en el formulario facturas y vemos que se han creado 4 entidades

Podemos cambiar el nombre de las entidades antes de grabar clara, pero si ya grabamos no lo hacemos, para cambiar el nombre damos clic derecho y en propiedades

Cambiamos el nombre (Name).

60

Vamos ahora a PROTOTIPO.

Y creamos el nuevo modelo

1 paso. Next

Paso 2. Next

61

Paso 3. Next

Paso 4. Next

Paso 5. Next

62

Paso 6. Finish. Y OK.

Aparecen las 4 tablas que creamos. Y damos Reorganize.

Para evitar el dao a las tablas, vamos a File, Edit Model

63

Elegimos propiedades.

Elegimos Client Server Information y en Reorganize server tables cambiamos el YES por NO, as no podrn manipular nuestras tablas.

Para que salte de un casillero a otro en orden.

64

Veamos las propiedades de DBMS Option. Damos Aceptar.

Reorganizamos, y a la ventana le decimos SI.

Execute.

65

Close.

Vamos a BUILD ALL (Forzamos y especificamos y generamos) OK, luego Close.

Execute.

66

Compilamos, compilamos y executamos.

Clic en Transactions y elegimos: la tabla producto

Datos a la Tabla Cliente

67

Formulario Factura:

Ingresamos Datos.

Terminar este trabajo

68

BASE DE CONOCIMIENTOS ALUMNOS Crearemos Una base de conocimientos llamada Acadmico dentro de una carpeta en la raz C:\ llamada acadmico.

Creamos una transaccin (tabla) llamada Anio

69

Los campos de la tabla Anio.

La tabla Perodo:

La Tabla Parcial

70

Ponemos en TipoParcial un ComboBox.

Seleccionamos Control Info y luego ComboBox

Add. -> (PARCIAL P, EXAMEN E, SUPLETORIO S)

71

Ponemos en la misma tabla el estado del parcial

Ponemos un ComboBox.

Tabla Nivel:

72

Tabla Alumno:

Tabla Nota:

Ponemos a 6,2 el campo ValNota

73

Como vemos en la tabla Nota, tenemos varias claves Forneas (IdPeriodo, IdParcial, IdMateria, IdAlumno), por lo que se hace necesario generar una clave compuesta y lo hacemos as: En cada Clave Fornea damos clic derecho y seleccionamos Toggle Key, automticamente se crea la FK.

As creamos 5 claves forneas (FK)

En la tabla Alumno, el campo IdAlumno deber ser cambiado a Autonumrico.

74

Creemos entonces la base de datos en SQL Server 2005.

Vamos a PROTOTIPO Y conectamos la Base de Conocimientos Acadmico con la base de datos BdAcademico.

75

Al terminar vemos que hemos creado las tablas en la base de datos BdAcedemico.

76

Damos Reorganize. Y al terminar la reorganizacin

Damos Si

Al final ponemos Close. Y las tablas han sido creadas en la base de datos.

77

Tablas en la base de conocimiento creadas:

Tablas creadas en la base de datos BdAcademico.

En el WorkPanel creamos el formulario Aperturas:

78

Debemos crearla as:

Regresamos a SQL Server e ingresamos datos a las tablas. Tabla alumno

Tabla Anio

79

Tabla Materia

Tabla Parcial

Tabla Periodo

Tabla Nota

80

Para que se inicie primero el Work Panel Aperturas debemos ir a Events de Aperturas, en Event seleccionamos Start. Debemos programar as:

Ctrl + A, para que aparezca la ventana Atributte Selector (Selector de Atributos)

En Type seleccionamos transaccin y en Object la Tabla (Anio)

81

Seleccionamos EstAnio y damos OK.

Event Start for each where EstAnio = 'A' endfor EndEvent // Start Luego insertamos una variable IdAnio que es la clave primaria de la tabla Anio. Para esto ponemos Crtl+W. Aparace la ventana Select Variable, damos clic en Add. Para insertar la variable.

82

De esta manera en la ventana que se abre al seleccionar ADD, ponemos en Name el nombre de la variable (Clave principal de la tabla Anio) , damos clic en Aceptar y luego en OK.

As se inserta una variable que est basada en un atributa de una tabla preestablecida. Ahora la variable que hemos insertado le asignaremos el valor de la tabla del mismo atributo (PK).

Nos queda: Event Start for each where EstAnio = 'A' &IdAnio = IdAnio endfor EndEvent // Start

83

Ponemos un evento LOAD. Event Load EndEvent // Load

Pero ahora configuraremos nuestro formulario de Work panel. (Design).

Ponemos un texto: y asi todos los textos que necesitemos para que nos quede como deseemos:

84

Pondremos las cajas de texto, donde debemos poner los atributos (&).

Creamos la variable AuxNivel con Crtl+W. debe ser numrica, lengh=1 y decimals=0.

85

Transformaremos la caja de texto, en un Dinamic Combo Box.

En descriptons from ponemos el atributo que contiene la descripcin del periodo (DescriPeriodo).

86

Y en Values from, ponemos el contenido de la Clave Primaria (PK) IdPeriodo.

Ahora cambiamos la caja de texto IdParcial, procedemos como antes y en Description from y Values from ponemos IdParcial y en Conditions ponemos: IdPeriodo = &IdPeriodo .AND.EstaParcial = 'A';

87

En Nivel cuya variable es &AuxNivel, ponemos un Combo Box.

Y en Add ponemos las condiciones del Combo Box.

As nos quedara, luego ponemos Aceptar.

88

Ahora con la caja de texto Materia (&IdMateria), Ponemos un Dynamic Combo Box

Pondremos las siguientes variables en: Description from: DescriMateria, en Values From: IdMateria.

En Conditions: Nivel=&AuxNivel

89

En paralelo pondremos un Combo Box:

Luego en Add, aadimos lo siguiente:

En Work panel, nos ira quedando:

90

Ahora pondremos un GRID.

Pondremos los campos que necesitemos en este caso: Cedula, Apellidos y Nombres, pero primero debemos cear las variables que necesitemos: &Cedula, &Apellidos y &Nombres con Crtl+W.

Insertamos una a una las variables antes mencionadas, las cuales seleccionaremos para el GRID.

91

Insertamos el GRID y ponemos las variables con Add, el Type y object debe ser *ALL.

El GRID nos queda:

La programacin de Events: Event Start FOR EACH WHERE EstAnio ='A' &IdAnio = IdAnio ENDFOR EndEvent // Start Event Load FOR EACH Apellidos //ORDENA POR APELLIDOS WHERE estado = 'A' 92

WHERE SUBSTR(Paralelo,2,1)= &AuxParalelo WHERE VAL(SUBSTR(Paralelo,1,1))=&AuxNivel &Cedula=Cedula &Apellidos=Apellidos &Nombres=Nombres LOAD ENDFOR EndEvent // Load Pondremos un botn Refresh, para actualizar el formulario en unin con la DB.

El Work panel nos queda:

Para continuar con el proceso, vamos ahora a ir a SQL Server para relacionar todas las tablas.

93

La relacin de todas nos queda:

Hacemos clic derecho y elegimos organizar tablas.

Terminamos de crear la relacin entre las tablas de nuestra DB.

94

Pondremos un nuevo botn en Work Panel (Desing)

Ponemos el botn Apertura.

Ponemos ahora un PROCEDIMIENTO.

95

Luego Cancelar

Quedamos en Source del PROCEDIMIENTO APERTURA nos queda: Necesitamos una bandera &sw. Como vemos lo primero que pondremos es una bandera &sw.

Programamos en el source del procedimiento Apertura

96

&sw=0 FOR EACH WHERE estado ='A' WHERE SUBSTR(Paralelo,2,1)=&AuxParalelo WHERE VAL(SUBSTR(Paralelo,1,1))=&AuxNivel &IdAlumno=IdAlumno &sw=1 NEW IdAnio=&IdAnio //IdPeriodo = &Idperiodo IdParcial=&IdParcial IdMateria=&IdMateria IdAlumno=&IdAlumno ValNota=0 EstNota='A' ENDNEW ENDFOR Programamos la Rules:

PARM(&IdAnio, &IdPeriodo, &IdParcial, &AuxNivel, &IdMateria,&AuxParalelo,&sw); Ahora programamos el botn APERTURA. En Events del design (Work Panel). Para llamar al procedimiento e ingresarlo en la programacin debemos pulsar CRTL+B y as seleccionamos el Procedimiento Apertura (PApertura) Event 'APERTURA' call(PApertura, &IdAnio, &IdPeriodo, &IdParcial, &AuxNivel, &IdMateria, &AuxParalelo, &sw) if &sw=1 msg('APERTURA GENERADA.....!') else msg('NO SE HA GENERADO NINGUNA APERTURA.....!') 97

endif EndEvent // 'APERTURA'

Para continuar damos clic en Especify Selected y una vez corrido damos Generate.

Luego seleccionamos Buill Old, Ok y al final damos clic en close

98

Por ultimo Compilamos y Ejecutamos.

Como vemos ahora podemos generar por la lista de alumnos cada materia, es decir cada alumno con sus materias especficas. Ya hemos generado de Educacin Fsica (EEFF01) y geografa (GEO001) ahora seleccionamos la nueva materia que es INGLES y damos clic en el botn Apertura.

Damos Aceptar y ahora al verificar el SQL Server si ya est generada la nueva materia para todos los alumnos veremos que s. Lo hacemos para todas las materias.

99

Hagamos ahora el botn Apertura Nivel.

Creamos un Procedimiento para Apertura Nivel (AperturaNivel). Ok y Cancel.

Digitaremos en el source del Procedimiento AperturaNivel: FOR EACH WHERE EstaParcial='A' &IdParcial=IdParcial DO 'LEERMATERIA' ENDFOR SUB 'LEERMATERIA' FOR EACH WHERE Nivel=&AuxNivel &IdMateria=IdMateria DO 'LEERALUMNO' ENDFOR ENDSUB SUB 'LEERALUMNO' &sw=0 100

FOR EACH WHERE estado='A' WHERE SUBSTR(Paralelo,2,1)=&AuxParalelo WHERE VAL(SUBSTR(Paralelo,1,1))=&AuxNivel &IdAlumno=IdAlumno &sw=1 NEW IdAnio=&IdAnio //Idperiodo=&Idperiodo IdParcial=&IdParcial IdMateria=&IdMateria IdAlumno=&IdAlumno ValNota=0 EstNota='A' ENDNEW ENDFOR ENDSUB

Ahora programaremos el RULES del Procedimiento AperturaNivel: PARM(&IdAnio, &AuxNivel, &AuxParalelo, &sw);

101

En el Work Panel, programaremos el botn Apertura Nivel: Recordemos que para introducir el Procedimiento (AperturaNivel) en la programacin debemos digitar CRTL+B y seleccionamos el procedimiento deseado. Event 'Apertura Nivel' CALL(PAperturaNivel, &IdAnio, &AuxNivel, &AuxParalelo, &sw) IF &sw=1 MSG('APERTURA GENERADA....') ELSE MSG('APERTURA NO GENERADA....') ENDIF EndEvent // 'Apertura Nivel'

NOTA: Podemos ayudarnos en SQL Server 2005, usando las consultas de SQL para determinar el resultado que deseamos ver en determinado momento.

102

Pongamos ahora el botn Grabar.

Crearemos un PRODECIMIENTO llamado CrearNota. Luego Ok y Cancelar.

Dentro del Source digitaremos:

FOR EACH WHERE IdAnio = &IdAnio WHERE IdAparcial = &IdAparcial WHERE IdMateria = &IdMateria WHERE IdAlumno = &IdAlumno ValNota = &ValNota ENDFOR

103

Arriba nos damos cuenta que la variable valnota no existe por esa razn debemos crearla con CRTL+W

Todo nos queda:

104

Programamos RULES del procedimiento CrearNota PARM(&IdAnio,&IdParcial,&IdMateria,&IdAlumno, &Valnota);

En el Work Panel, programamos el botn GRABAR. Necesitamos una nueva bandera a la cual llamaremos Visto. (CRTL+W)

Ahora pondremos un nombre al grid que antes insertamos, se llamara GRID1, nos servir para los ingresos de los datos desde la lnea del grid. (Grabar desde el Grid)

105

La programacin del botn Grabar es: Event 'Grabar' FOR EACH line in GRID1 //Nueva bandera llamada Visto IF &Visto=1 CALL(PCrearNota, &IdAnio, &IdParcial, &IdMateria, &IdAlumno, &ValNota) &Visto=0 ENDIF ENDFOR EndEvent // 'Grabar' Pero ante de correr el programas debemos hacer unos cambios en el GRID1, aumentaremos las columnas: Visto, IdAlumno, ValNota. Damos doble clic en el GRID e insertamos las variables anotadas:

Ha cambiado el GRID:

106

Ordenamos el Grid:

Nos queda asi:

Ahora vamos a poner un Check Box (Para cuando tengamos el programa ejecutado activemos la celda o celdas que deseemos y as grabemos o no) Seleccionamos Visto, de propiedades del GRID

107

Selecionamos Check Box

Ponemos los valores 1 para activar la casilla y 0 para desactivada. Y aceptar.

Para lo que hemos hecho debemos cambiar el Event LOAD del Work Panel. As: Event Load FOR EACH Apellidos //ORDENA POR APELLIDOS WHERE estado = 'A' WHERE SUBSTR(Paralelo,2,1)= &AuxParalelo // WHERE VAL(SUBSTR(Paralelo,1,1))=&AuxNivel WHERE IdMateria=&IdMateria WHERE IdParcial=&IdParcial &ValNota=ValNota &Visto=1 &Cedula=Cedula &IdAlumno=IdAlumno &Apellidos=Apellidos &Nombres=Nombres LOAD ENDFOR EndEvent // Load 108

El resultado nos muestra todas las casillas del GRID1 llenas.

Para ver si graba vamos a cambiar los valores de las notas de Arcos (2), Falcn (12) y Mena (5), los nmeros entre () son el ID de cada alumno que verificaremos cuando cambiemos las notas.

Con los datos cambiados damos Grabar. Y en el SQL Server se crea el cambio.

109

NOTA: Cuando estamos trabajando en Work Panel y Procedimientos, primero debemos programar primero el Source (Donde usamos el FOR EACH, las Sub rutinas SUB, el WHERE, el NEW, etc.) y despus el Rules (PARM) del procedimiento; luego pasamos al Work Panel donde programamos (Botones que se relacionan con el procedimiento sea grabar, eliminar, modificar, etc.) y para concatenar con el Procedimiento usamos CALL (nombre del procedimiento, variable1, variable2, variabl3, . variable n) las cuales deben coincidir con las variables del PARM .

110

111

Vous aimerez peut-être aussi