Estimados, buen dia. Les comento que estoy tratando de personalizar el acta de promocion para que al momento de cerrar el acta no te muestre un desplegable con todos los libros de examen disponibles sino que te asigne directamente el libro que corresponde a la carrera del acta. Podrian orientarme como hace este cambio? Gracias!
Lorena, el libro de actas lo pueden asignar al momento de crear el acta de examen?
Si es asi, entonces lo qu epueden hacer es:
-
Personalizar el proceso sp_libroactaexamen. Este proceso es el que recupera el libro de acta de examen que se asigna al acta cuando este se crea (desde el procedure sp_crear_acta)
-
Inhabilitar la edición del libro de actas en las operaciones de Actas de Examen (GenerarActa de Examen / Carga de notas a un Acta de Examen / Modificar Acta de Examen no Impresa con Notas / Modificar Acta de Examen Impresa con Notas )
En la operacion de Cierre de Acta de Examen este dato no esta habilitado para su edición.
Modificar:
Ventana: w_actas_de_examen
Evento: ue_iniciar
Al final del evento ue_iniciar agregar lo siguiente para deshabilitar la edicion del campo “libro”:
dw_1.Modify(‘libro.protect=1’)
dw_1.Modify(‘libro.Background.Mode=1’)
Pueden agregar esto y probar.
Lo correcto para personalizar serìa hacer lo siguiente:
-
Heredar la ventana w_actas_de_examen. Por ejemplo llamarla w_actas_de_examen_UNIV y agregarla en la libreria de personalizaciones propia de la institucion.
-
Editar el evento ue_iniciar de la ventana y agregar w_actas_de_examen_UNIV:
IF isValid(this) THEN
dw_1.Modify(‘libro.protect=1’)
dw_1.Modify(‘libro.Background.Mode=1’)
END IF -
Cambiar la ventana w_actas_de_examen por w_actas_de_examen_UNIV en el catalogo de estas operaciones, por ejemplo:
Operacion: exa00014- Generar Acta de Examen
Execute procedure dba.sui_operaciones( ‘exa00014’, ‘Generar Acta de Examen’, ‘Alta de un Acta de Examen.’, null );
INSERT INTO dba.acc_parametros ( operacion, orden, ventana, parametros, cierra_anterior ) VALUES ( ‘exa00014’, 1, ‘w_filtros_busqueda’, ‘uo_dw_filtros, dk_mesas_ex_sin_actas_conosin_listados, 10, uo_dw_anio_turno_examen, dp_anio_academico_turno_examen, No existen Mesas de Examen para generar Actas de Examen’, ‘N’ );
INSERT INTO dba.acc_parametros ( operacion, orden, ventana, parametros, cierra_anterior ) VALUES ( ‘exa00014’, 2, ‘w_actas_de_examen_UNIV’, ‘1, uo_dw, d_acta_de_examen, 1, uo_folios_acta, d_detalle_acta_sin_notas, 15, folio, renglon, dr_acta_examen_cordoba, d_folios_acta_examen, dk_insc_ex_no_incluidas_en_acta’, ‘N’ );
INSERT INTO dba.acc_acciones_oper ( operacion, accion ) VALUES ( ‘exa00014’, ‘C’ );
INSERT INTO dba.acc_acciones_oper ( operacion, accion ) VALUES ( ‘exa00014’, ‘M’ );
Esos cambios ya están hechos porque nosotros personalizamos la generación del acta de examen, lo que yo necesito ademas es personalizar el objeto d_actas_promocion para que en vez de mostrar un desplegable con los libros me asigne el que corresponde de acuerdo a la carrera y no se pueda editar. Gracias!
Por ejemplo nosotros personalizamos el stored sp_libros_acta_examen
– Controla que la mesa de examen tenga asignada una carrera
IF (SELECT COUNT(*) FROM sga_mesas_examen
WHERE unidad_academica=p_unidad_academica
AND materia=p_materia
AND anio_academico=p_anio_academico
AND turno_examen=p_turno_examen
AND mesa_examen=p_mesa_examen
AND carrera is null ) > 0 THEN
-- Esto hace que se ejecute el "on exception"
raise exception -746, 0, 'La Mesa de Examen no tiene asignada una carrera';
END IF;
–Inicializa la variable vlibro en null
LET vLibro=null;
–Obtiene el libro de acta
FOREACH
SELECT u842.libro
INTO vLibro
FROM sga_mesas_examen sme, u842_libros_ua u842
WHERE sme.unidad_academica=p_unidad_academica
AND sme.materia=p_materia
AND sme.anio_academico=p_anio_academico
AND sme.turno_examen=p_turno_examen
AND sme.mesa_examen=p_mesa_examen
AND sme.unidad_academica=u842.unidad_academica
AND sme.carrera=u842.carrera
AND u842.libro_en_uso='S'
END FOREACH;
RETURN vLibro;
end;
end procedure
Necesitariamos que se ejecute algo similar (sin el control de la mesa de examen) cuando se crea un acta de promocion
Esta bien, lo que te comente fue relacionado con actas de examen!!!
Vos lo que necesitas es hacer lo mismo pero en las Actas de Promocion.
Proba lo siguiente para deshabilitar la modificacion del libro de actas para actas de promocion en la operacion cur00008 (en cur00021 y cur00022 el libro ya se esta deshabilitando su edicion):
Modificar:
Ventana: w_abm_resultado_cursada
Evento: ue_iniciar
Al final del evento ue_iniciar agregar lo siguiente para deshabilitar la edicion del campo “libro”:
up_1.dw_cabecera.Modify(‘libro.protect=1’)
up_1.dw_cabecera.Modify(‘libro.Background.Mode=1’)
Para setear el libro que corresponde al crear el acta de promocion deberìan personalizar el procedure sp_libroactapromo. Este procedure es llamado desde el procedure que crea el acta de promocion que se llama sp_crea_actaprom