Personalizar Actas de Promocion

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:

  1. 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)

  2. 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:

  1. 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.

  2. 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

  3. 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