Este error ocurre durante el procesamiento de la liquidación definitiva, específicamente en la creación de los períodos contables.
"Se inserta en el Log. de Procesos - Krh_Liq_Proc.Prh_Eje_Proc_Emp - Se llama el procedimiento correspondiente (Empleado = xxxxx TNom: 1) - Krh_Liq_Proc.Prh_Procesos_Empleado - Se llama el procedimiento para liquidaciones - Prh_Liq_Def - Procesando el concepto 3010 Forma Liquidación = FOR - Prh_Liq_Emp - Se desarrolla la formulacion - Prh_Formulas_Nom - Procesa variables del cursor tipos de formulas por tipo de proceso PYD-1654 BAS_VAR - Krh_Formula.Prh_Vals_Nom - Se llama el procedimiento que resuelve el procedimiento PRH_DET_PYD - Krh_Formula.Prh_Desarrolla - (Conc: 3010) Obtiene el indicador de tipo formulado para BAS_VAR Csq: 1654 - Prh_Det_Pyd - Las fechas cálculo (BAS_VAR) no pueden ser nulas. - Sel=Begin :vcJorVar := Coalesce(Krh_liq_proc.vcSocJorVar,'N'); End; (En Formulacion :BAS_VAR) - Sel=select EM.EMP_CODIGO,EM.EMP_EMPRESA,EM.EMP_SOCIEDAD,
EMP_TIPO_NOMINA,EM.EMP_TIPOLIQ,FRH_KFO_TR_VFE('INI MESCAL',304),
FRH_KFO_TR_VFE('FHAST',302),PD.PDEF_FECORTE,FRH_KFO_TR_VNU(
'ANIO',301,PD.PDEF_ANO),FRH_KFO_TR_VNU('MES',302,PD.PDEF_MES),
FRH_KFO_TR_VNU('PERLIQ',303,PD.PDEF_PERIODO),'GAN',68,NULL,
'BAS_VAR',-1,'AM','VLO','',NULL from VRH_DUAL VD,VRH_TIPO_NOMINA TN,TRH_PARAMETROS_LIQ PL,VRH_PARAMETROS_DEF PD,EMPLEADO EM,BASES_EMP BE,TRH_CONTROL_PAGO CP where TN.TNOM_CODIGO = EM.EMP_TIPO_NOMINA AND EM.EMP_CODIGO = BE.EMP_CODIGO AND EM.EMP_EMPRESA = BE.EMP_EMPRESA AND CP.EMP_CODIGO = EM.EMP_CODIGO AND
CP.EN1_CODIGO = EM.EMP_EMPRESA AND CP.PROC_CODIGO = 1 AND
CP.CPAG_TIPO_REGISTRO = 'DEF' AND
USERNAME = USER AND
PD.EMP_CODIGO = BE.EMP_CODIGO AND
PD.EN1_CODIGO = BE.EMP_EMPRESA AND PL.PROC_CODIGO = 3 AND
PL.PAR_USUARIO = USERNAME AND
BE.EMP_EMPRESA = :INEN1COD AND
BE.EMP_CODIGO = :VCEMPCOD. "
El fallo se registra en el Log de Procesos y se origina en las siguientes fases del proceso:
- Krh_Liq_Proc.Prh_Eje_Proc_Emp: Se invoca el procedimiento correspondiente para el empleado (Empleado = 079-0026, Tipo de Nómina: 1).
- Krh_Liq_Proc.Prh_Procesos_Empleado: Se ejecuta el procedimiento que maneja la liquidación de los empleados.
- Prh_Liq_Def: En este punto se procesan los conceptos de la liquidación, específicamente el concepto 3010 Forma Liquidación = FOR.
- Prh_Liq_Emp: Se desarrolla la formulación relacionada con el proceso de liquidación.
- Prh_Formulas_Nom: Se procesan las variables del cursor correspondientes a los tipos de fórmulas, con el tipo de proceso PYD-1654 BAS_VAR.
- Krh_Formula.Prh_Vals_Nom: Se llama al procedimiento que resuelve el cálculo de variables para el procedimiento PRH_DET_PYD.
- Krh_Formula.Prh_Desarrolla: Se obtiene el indicador del tipo formulado para BAS_VAR Csq: 1654.
- Prh_Det_Pyd: Aquí se presenta el error: Las fechas de cálculo (BAS_VAR) no pueden ser nulas.
Este problema se genera debido a que en el cálculo de la fórmula BAS_VAR, las fechas necesarias para el proceso no están siendo correctamente definidas, lo que impide continuar con la liquidación definitiva. A continuación se presenta el código relevante donde ocurre el fallo:
En este caso se realiza la siguiente consulta:
"SELECT * FROM TRH_PERIODOS_LIQ WHERE TIPO_CODIGO = 'Q' AND PLIQ_ANO = XXX AND PLIQ_MES = XX AND SOC_CODIGO = 'XXX ';"
Eliminar los períodos contables actuales del mes en curso: Esto es necesario para evitar posibles conflictos con los datos existentes.
Crear los períodos contables nuevamente: Una vez eliminados los registros, se debe proceder a la creación de los nuevos períodos contables correspondientes.
Deshacer la liquidación definitiva: Revertir cualquier cambio realizado en la liquidación para iniciar el proceso desde cero.
Volver a procesar la liquidación: Tras haber realizado los pasos anteriores, reiniciar el proceso de liquidación definitiva para los empleados afectados.
Objetivo final: Asegurar que el proceso de liquidación definitiva se complete sin errores, garantizando que todas las fechas y datos necesarios estén presentes y sean válidos.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.