Al generar los archivos araucano y subirlos tenemos errores con el archivo 3.
Los errores son
6 - Fecha de Regularizacion/No Regularizacion 20180314 Fecha Fuera de Rango
Vemos que la consulta que genera el archivo get_nominal_actividades_regularizadas en co_araucano, tiene el filtro con un formato de fecha que no es el mismo que la fecha que tiene la tabla int_arau_nominal_actividades.
El filtro es
if ($excluir_historico) {
// La tabla ‘int_arau_nominal_actividades’ tiene datos históricos para el archivo 4, sólo se tienen en cuenta los del año académico en cuestión.
$where = " AND fecha >= ‘01/04/$anio_academico’";
}
Hola, la carga nominal que tiene abierta Araucano es la del año 2018, por lo tanto los registros informados en los archivo_2.txt y archivo_3.txt deben tener fecha comprendida entre 2018/04/01 y 2019/03/31. Por eso te manda el error con la fecha 20180314, esta fuera del rango permitido. Mi pregunta es si seteaste como año academico el año 2018, no tendrás establecido el año 2017 y por eso saca esos registros ?
Con respecto al codigo que envias, veo que esta preguntando por el archivo_4 (datos historicos) y ese archivo para el año 2018 no hay que exportarlo desde Guarani y por lo tanto tampoco importarlo desde Araucano. Los cuadros 4 y 5 de Araucano se completan con lo exportado el año anterior en ese archivo_4 y lo que carguen este año en el archivo_2.
Espero esto te sirva de algo.
Saludos
Hola Javier, gracias por tu respuesta.
El error daba en el archivo 3. No subimos el archivo 4. Y el código que te copié pertenece a la función que crea el archivo 3:
function get_nominal_actividades_regularizadas($anio_academico, $excluir_historico=false)
{
// Genera el archivo de actividades (P=promociones (Solo cuando la comision no tiene instancia de cursada / R=cursada / C=Equivalencia de Regularidad )
// archivo_3
$where = '';
if ($excluir_historico) {
// La tabla 'int_arau_nominal_actividades' tiene datos históricos para el archivo 4, sólo se tienen en cuenta los del año académico en cuestión.
$where = " AND fecha >= '01/04/$anio_academico'";
}
$anio_academico = toba::db()->quote($anio_academico);
$sql = "SELECT tipo_documento,
nro_documento,
cuil_cuit,
unidad_academica_araucano,
titulo_araucano,
to_char(fecha, 'YYYYMMDD'),
resultado,
actividad_codigo,
actividad_nombre,
carga_horaria,
obligatoriedad,
forma_aprobacion_regularizadas,
anio_cursada,
localidad_cursada,
nro_libro,
nro_acta,
folio_fisico,
expediente
FROM int_arau_nominal_actividades
WHERE anio_academico = $anio_academico AND
unidad_academica_araucano IS NOT NULL AND
origen_codigo IN ('R', 'P', 'C') AND
(origen_codigo <> 'P' OR (origen_codigo = 'P' AND NOT EXISTS ( -- Comisión sólo promocional.
SELECT 1
FROM int_arau_nominal_actividades as a
WHERE a.alumno = int_arau_nominal_actividades.alumno AND
a.comision = int_arau_nominal_actividades.comision AND
a.origen_codigo = 'R')))
$where
";
return guarani::db()->consultar($sql);
}
Laura, el problema es por esta condicion de WHERE:
$where = " AND fecha >= '01/04/$anio_academico'";
Reemplazalo por:
$where = " AND int_arau_nominal_actividades.fecha >= to_date('01/04/$anio_academico', $formato_fecha_visual)";
Hay que formatear la fecha que viene en formato string a date.
El problema que tuviste es que considera a 1 como el mes y 4 el dia, es decir recuperara cursadas con fecha mayor o igual al 04/01/2018.
Por esto se informó la cursada con fecha 14/03/2018