URGENTE - Ayuda - control de correlativas

Hola
estamos en proceso e inscripción a cursadas, tenemos activado el control de correlativas en requisitos por operación para toda la institución, tambien esta setaado el paraméto cur_ejecuta_controles correctamente. Las inscripciones entran en estado pendiente, primero pensamos que por eso no ejecutaba el control de correlativas pero luego vemos que en la operacion Procesar Inscripciones Pendientes a Actividades que tambien tiene asociado ese control para toda la institucion no esta funcionando y acepta a todos, Estuvimos viendo en el foro otro post y no encontramos algo que nos guie a que puede estar pasando, alguna ayuda???

gracias
Dalila

Hola Dalila,

El requisito “Correlativas de Cursada” está asociado al punto de control 4 (“Alumno Instancia Regular”). Fijate que en el procesamiento de inscripciones pendientes se evalúan los puntos de control fijos y luego los puntos de control por instancia (método ‘controles_instancias’ de la clase ‘pro_proc_insc_act_pendientes_nucleo’) .
Verificaron los logs?

Saludos, Florencia,

Hola Emilse
ese método de esa clase tienen lo siguiente:

function controles_instancias($inscripcion)
{
$resultados = $this->validar_puntos_de_control_instancias($inscripcion);

        $cant_autorizado = 0;
        $cant_advertido = 0;
        $cant_rechazado = 0;
        foreach ($resultados as $instancia => $resultado) {
              if ($resultado['retorno'] == guarani_punto_de_control::autorizado) {
                    $cant_autorizado++;
              } elseif ($resultado['retorno'] == guarani_punto_de_control::advertido) {
                    $cant_advertido++;
              } elseif ($resultado['retorno'] == guarani_punto_de_control::rechazado) {
                    $cant_rechazado++;
              }
        }

        if ($cant_autorizado == count($resultados)) {
              // Aceptado en todas las instancias -> se aceptan las inscripciones
              guarani::act('act_inscripcion_cursadas')->aceptar_inscripciones($inscripcion['inscripcion']);
              $this->log->set($inscripcion, array(self::reporte_aceptadas));
              $this->cant_aceptadas++;
        } elseif (($cant_advertido == count($resultados)) || (($cant_autorizado == 1) && ($cant_advertido == 1))) {
              // Todas las instancias advertidas o 
              // una instancia autorizada y una advertida -> reporte con observaciones
              $inscripcion['observaciones'] = $this->agrupar_mensajes_resultados_instancias($resultados);
              $this->log->set($inscripcion, array(self::reporte_con_observaciones));
              $this->cant_con_observaciones++;
        } elseif ($cant_rechazado == count($resultados)) {
              // Todas las instancias rechazadas -> reporte a rechazar
              $inscripcion['observaciones'] = $this->agrupar_mensajes_resultados_instancias($resultados);
              $this->log->set($inscripcion, array(self::reporte_a_rechazar));
              $this->cant_a_rechazar++;
        } elseif (($cant_autorizado == 1) && ($cant_rechazado == 1)) {
              // Una instancia autorizada y una rechazada -> se elimina la instancia rechazada, y se acepta la inscripción
              foreach ($resultados as $instancia => $resultado) {
                    if ($resultado['retorno'] == guarani_punto_de_control::rechazado) {
                          guarani::act('act_inscripcion_cursadas')->eliminar_insc_cursada_instancia($inscripcion['inscripcion'], $instancia);
                    }
              }
              guarani::act('act_inscripcion_cursadas')->aceptar_inscripciones($inscripcion['inscripcion']);
              // Se refrescan instancias a mostrar en reporte
              $inscripcion['instancias'] = toba::consulta_php('co_inscripciones_cursadas')->get_instancias_nombre_inscripcion($inscripcion['inscripcion']);
              $this->log->set($inscripcion, array(self::reporte_aceptadas));
              $this->cant_aceptadas++;
        } elseif (($cant_advertido == 1) && ($cant_rechazado == 1)) {
              // Una instancia advertida y una a rechazar -> se elimina la instancia rechazada y se agrega a reporte con observaciones
              $mensaje = '';
              foreach ($resultados as $instancia => $resultado) {
                    if ($resultado['retorno'] == guarani_punto_de_control::rechazado) {
                          guarani::act('act_inscripcion_cursadas')->eliminar_insc_cursada_instancia($inscripcion['inscripcion'], $instancia);
                    } else {
                          $mensaje .= $resultado['mensajes'];
                    }
              }
              // Se refrescan instancias a mostrar en reporte
              $inscripcion['instancias'] = toba::consulta_php('co_inscripciones_cursadas')->get_instancias_nombre_inscripcion($inscripcion['inscripcion']);
              $inscripcion['observaciones'] = $mensaje;
              $this->log->set($inscripcion, array(self::reporte_con_observaciones));
              $this->cant_con_observaciones++;
        }
  } 

Hace las 8 que estamos viendo logs y debug … y el tema es también porque no controla las correlativas al momento de la inscripcion.???

Dalila

Dalila,

Este método a su vez invoca a ’ validar_puntos_de_control_instancias’. Allí se buscan las instancias asociadas a la inscripción (‘toba::consulta_php(‘co_inscripciones_cursadas’)->get_instancias_inscripcion($datos_inscripcion[‘inscripcion’])’) y para cada instancia los puntos de control relacionados (‘toba::consulta_php(‘co_inscripciones_cursadas’)->get_puntos_de_control_instancia($instancia)’). Allí es donde aparece el punto de control 4.

Si mirás los logs de la inscripción a cursada tendrías que encontrar líneas como:

Controles del Punto de control 4 = array ( 0 => array ( 'requisito_accion' => 309, 'tipo' => 'R', 'operador_not' => 0, 'requisito' => 57, 'accion' => 1, 'entidad' => NULL, 'estado' => NULL, 'nombre' => 'Correlativas de Cursada', 'requisito_subordinado_de' => NULL, 'actua_como' => 'ESTRICTO', 'interfaz' => 1, 'regla' => 307, 'parametros' => '', 'orden' => 1, ), )
Es así?

Saludos, Florencia.