Sei sulla pagina 1di 3

El examen de NAVISION (a excepcin de tablas) se punta de la siguiente manera:

Total puntos 10.50 puntos


Aprobado: 5.00 puntos

En esta parte se deben de sacar al menos 5,00 puntos para aprobar, y 3,00 puntos para compensar

1. (3,25 puntos PROGRAMACIN Y CODEUNITS)

(0,25 puntos) Modificar la tabla (50001) APARTAMENTOS para que nunca des:

Una letra que no est entre la A o la Z en maysculas. Si se le introduce saltar un


mensaje de error.
Para ello se ha proporcionado como apoyo una codeunit al alumno llamada
cuPruebas, en donde se usa el tipo conjunto de Pascal en Navision de esta forma:

IF (B IN ['A'..'Z']) OR (B IN ['A'..'Z']) THEN MESSAGE(B+' es una letra');

El tipo conjunto se declara con dos corchetes, y un grupo de elementos bien


separados por comas o subrangos: ['1'..'8']

El operador IN es para validar la pertenencia de un dato a un conjunto

(0,25 puntos) Modificar la tabla (50002) CLIENTES para que nunca des:

Una letra DE DNI que no est entre la A o la Z en maysculas. Si se le introduce


saltar un mensaje de error.
Para ello se ha proporcionado como apoyo una codeunit al alumno llamada
cuPruebas, en donde se usa el tipo conjunto de Pascal en Navision de esta forma:

IF (B IN ['A'..'Z']) OR (B IN ['A'..'Z']) THEN MESSAGE(B+' es una letra');



El tipo conjunto se declara con dos corchetes, y un grupo de elementos bien
separados por comas o subrangos: ['1'..'8']

El operador IN es para validar la pertenencia de un dato a un conjunto

(1,25 puntos) Modificar la tabla (50003) RESERVAS para que:

(0,75 puntos del 1,25 puntos) Cuando insertes, o modifiques un nuevo registro en
(50003) RESERVAS se modifique su registro de cliente asociado en (50002)
CLIENTES con los siguientes valores:

Se contar el nmero de reservas que ha hecho el cliente hasta el da de hoy


(campo FECHA CONFIRMACION distinto de vaco), incluyendo adems la
reserva en curso si se da el caso
Se contar el nmero de ocupaciones que ha hecho el cliente hasta el da de
hoy (campo FECHA OCUPACION distinto de vaco), incluyendo la
ocupacin en curso si se da el caso
(0,5 puntos del 1,25 puntos) Cuando insertes, o modifiques un nuevo registro en
(50003) RESERVAS:

SI FECHA CONFIRMACION es vaca entonces el campo CONFIRMADA


RESERVA se pone a Falso, caso contrario se pone a cierto.
SI FECHA OCUPACION no es vaca y FECHA SALIDA es vaca entonces el
campo RESERVA OCUPADA se pone a cierto, caso contrario se pone a falso.
Si CONFIRMADA RESERVA es cierto y RESERVA OCUPADA es falso
entonces RESERVA ACTIVA es cierto, caso contrario es falso

Una vez contadas esas reservas y esas ocupaciones, se cotejarn con los registros de la tabla
(50005) TIPOS CLIENTES, y en funcin de esos valores se le cambiar el campo TIPO
CLIENTE de la tabla (50002) CLIENTES segn esos valores de esa tabla

(1,5 puntos) Hacer una codeunit llamada (50001) cuEjercicio1 que tenga las
siguientes funciones:

(0,5 puntos) Funcion1: visualice los clientes que mas ocupaciones tienen (pueden
ocupar 2 3 apartamentos por ejemplo). Se obtiene de la siguiente forma:

FECHA OCUPACION <> nulo y FECHA SALIDA= nulo

(0,5 puntos) Funcion2: visualice los pacientes que mas reservas activas
tienen(RESERVA ACTIVA a true):

(0,5 puntos) Funcion3: Se le pasar por parmetro un registro del tipo CLIENTES.

Si esa plantilla tiene el NUM CLI vaco, entonces se har:

Para todos los CLIENTES que tengan reservas, sacar aquellas que tengan
mas de 3 meses de antiguedad.

Sino para ese NUM CLI preguntar si se desea visualizar las RESERVAS de
ese paciente (RESERVA ACTIVA a true), y si lo desea el usuario se
visualizarn las RESERVAS del cliente; si no lo desea no har nada.

2. (3,25 puntos - MANEJO QUERYS Y CODEUNITS)

(1 punto) Crea la (50001) qryEjercicio2 que recorra las tabla (50003)


RESERVAS.

(1 punto) Crea una CODEUNIT (50002) cuEjercicio21 QUE RECORRIENDO


LA QUERY (50000) qryEjercicio2 visualice por pantalla PARA UN CLIENTE
DETERMINADO que se le pase por parmetro todos los apartamentos ocupados
con la fecha de salida igual a la de hoy .

Notas importantes:
La codeunit se asociar a la tabla (50002)CLIENTES, es decir para ser
llamada se le pasar un registro que apunte a la tabla (50002)CLIENTES

Se deber de crear una funcin dentro de esta llamada EJECUTA que el


evento OnRun se la llame para poder ejecutarla. Deberis de crear las las
variables y funciones adecuadas para tal cometido.

(1,25 puntos) Crea una CODEUNIT (50003) cuEjercicio22 que cuente el total
de clientes frecuentes, nuevos, y espordicos, y visualice dicho clculo por pantalla.

3. (1 punto - MANEJO DE REPORTS)

Crea para las tablas (50001) APARTAMENTOS Y (50003) RESERVAS un REPORT


llamado (50000) rptOCUPACIONES , que saque solo los apartamentos ocupados
(RESERVA OCUPADA a true).

4. (1 punto - MANEJO DE XMLPORTS)

Crea un XMLPORT (50000) rptExportaAPARTAMENTOS que exporte los datos de


la tabla (50001) APARTAMENTOS.
Crea un XMLPORT (50001) rptImporta APARTAMENTOS que importe los datos de
la tabla (50001) APARTAMENTOS.

5. (2 puntos - MANEJO ACTIONS, FORMULARIOS Y SUBFORMULARIOS).

(1 punto) Crea para la tabla (50002) APARTAMENTOS un page llamado (50001)


frmAPARTAMENTOS en donde se use un subpage llamado (50002)frmRESERVAS
SUBFORM dentro de esta. El enlace se realizar mediante las relacin del campo
NUMAPART de ambas tablas. Ponerle tambin dentro unas notas y un vnculo por cada
registro

Crea las siguientes actions, con un ttulo, y , con una tecla de mtodo abreviado:

Ejecuta Query: ejecutar la query puesta en este examen qryEjercicio2 (0,25


puntos)- TECLA CTROL+F1
Ejecuta codeunit: ejecutar la codeunit puesta en este examen (50003)
cuEjercicio22 pasndole el registro de HISTORIALES (0,25 puntos)- TECLA
CTROL+F2
(0,25 puntos) Ejecuta Report: ejecutar el report (50000) rptOCUPACIONES
puesto en este examen (0,25 puntos) - TECLA CTROL+F3
(0,25 puntos) Pedir si se quiere importar o exportar con un cuadro de dilogo. Y en
funcin de eso - - TECLA CTROL+F4 :
Ejecutar el rptExportaAPARTAMENTOS puesto en este examen
Ejecutar el rptImportaAPARTAMENTOS puesto en este examen

Potrebbero piacerti anche