Bloqueos: Tiempos y novedades
Catálogo histórico; no es el comportamiento vigente completo
Mensajes extraídos de 4073760e, no errores provocados en el build actual. La línea de origen solo corresponde a ese árbol. Para el corte 067ec7a21cf049451cd349ae473e872883f98e77, prevalecen las guías actualizadas por cambio integrado y sus recuperaciones. No usar una frase histórica de “no implementado” para negar una capacidad incorporada después (FSP, F220, conector nominal o asistentes).
Ficha de verificación
Catalogo generado el 2026-08-17 por lectura del arbol congelado 4073760e880a de dev-fase3 en xdiegob/PayrollBPS. Cada fila corresponde a un raise real localizado en el código, con su archivo y linea. No hay mensajes redactados para esta wiki.
Bloqueos al registrar jornada, horas, ausencias, incapacidades, licencias y demás novedades del período.
160 mensajes en 27 modelos. Pegue el texto del mensaje en el buscador para llegar directamente a su fila.
Como leer una fila
Cuando aparece dice en qué momento se dispara: al pulsar un botón, al crear, al modificar o por una validación automática. Origen es el archivo y la línea exactos del árbol congelado, para que cualquiera pueda comprobar el texto sin creerle a esta wiki. Las llaves {} marcan dónde el sistema inserta un valor concreto (un nombre, una fecha, un importe).
bps.bandera.riesgo
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La bandera de riesgo solo se crea por el servicio de evaluacion. |
Al crear (create) |
Operación no permitida |
models/bandera_riesgo.py:101 |
| La bandera de riesgo no se edita directamente: use la desactivacion gobernada (action_desactivar). |
Al modificar (write) |
Operación no permitida |
models/bandera_riesgo.py:109 |
| Las banderas de riesgo no se eliminan (son traza). |
Al eliminar (unlink) |
Operación no permitida |
models/bandera_riesgo.py:120 |
| Solo el rol juridico laboral (grupo juridico BPS) desactiva una bandera de riesgo. |
Botón o acción (action_desactivar) |
Operación no permitida |
models/bandera_riesgo.py:181 |
| La desactivacion exige un motivo (sin datos clinicos). |
Botón o acción (action_desactivar) |
Operación no permitida |
models/bandera_riesgo.py:186 |
| La bandera ya esta inactiva. |
Botón o acción (action_desactivar) |
Operación no permitida |
models/bandera_riesgo.py:189 |
bps.bandera.riesgo.regla
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La ventana en meses debe ser mayor que cero. |
Validación automática (_check_regla) |
Validación |
models/bandera_riesgo.py:63 |
| La regla debe evaluar por eventos o por dias acumulados (alguno > 0). |
Validación automática (_check_regla) |
Validación |
models/bandera_riesgo.py:65 |
bps.calculo.incapacidad
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| El calculo de incapacidad solo se crea por el servicio (calcular). |
Al crear (create) |
Operación no permitida |
models/calculo_incapacidad.py:98 |
| La traza de incapacidad es inmutable. |
Al modificar (write) |
Operación no permitida |
models/calculo_incapacidad.py:104 |
| Las trazas de incapacidad no se eliminan. |
Al eliminar (unlink) |
Operación no permitida |
models/calculo_incapacidad.py:108 |
| Solo se calculan novedades confirmadas; la novedad esta en '{}'. |
Operación (calcular) |
Operación no permitida |
models/calculo_incapacidad.py:132 |
| El salario base debe ser un valor positivo. |
Operación (calcular) |
Operación no permitida |
models/calculo_incapacidad.py:137 |
| La novedad no tiene dias para calcular. |
Operación (calcular) |
Operación no permitida |
models/calculo_incapacidad.py:139 |
| La novedad ya tiene un calculo de incapacidad: no se duplica. |
Operación (calcular) |
Operación no permitida |
models/calculo_incapacidad.py:142 |
| No hay parametros anuales para {}: no se calcula sin SMMLV. |
Operación (calcular) |
Operación no permitida |
models/calculo_incapacidad.py:153 |
| No hay tramos aplicables para la novedad '{}' en el rango de dias {}-{}. |
Operación (calcular) |
Operación no permitida |
models/calculo_incapacidad.py:194 |
| La tabla de tramos de '{}' (HU-041A) no cubre todos los dias de la novedad (cubiertos {} de {}, rango global {}-{}): parametrice el tramo faltante con fuente oficial antes de calcular. |
Operación (calcular) |
Operación no permitida |
models/calculo_incapacidad.py:201 |
| La novedad ya tiene un calculo de incapacidad (creado en paralelo): no se duplica. |
Operación (calcular) |
Operación no permitida |
models/calculo_incapacidad.py:237 |
bps.calculo.incapacidad.tramo
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| Los tramos de incapacidad solo se crean por el servicio. |
Al crear (create) |
Operación no permitida |
models/calculo_incapacidad.py:270 |
| Los tramos de incapacidad son inmutables. |
Al modificar (write) |
Operación no permitida |
models/calculo_incapacidad.py:274 |
| Los tramos de incapacidad no se eliminan. |
Al eliminar (unlink) |
Operación no permitida |
models/calculo_incapacidad.py:278 |
bps.deduccion
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La fecha de inicio de vigencia es obligatoria. |
Validación automática (_check_fechas) |
Validación |
models/deduccion.py:227 |
| La fecha hasta no puede ser anterior a la fecha desde. |
Validación automática (_check_fechas) |
Validación |
models/deduccion.py:229 |
| El empleado pertenece a la compania '{}' pero la deduccion es de '{}': no se mezclan companias. |
Validación automática (_check_coherencia_compania) |
Validación |
models/deduccion.py:237 |
| El embargo judicial exige la clase de deuda (alimentos/cooperativa/otra) para aplicar el tope legal correcto. |
Validación automática (_check_clase_deuda) |
Validación |
models/deduccion.py:246 |
| La clase de deuda solo aplica al embargo judicial. |
Validación automática (_check_clase_deuda) |
Validación |
models/deduccion.py:250 |
| El monto por periodo debe ser positivo cuando el modo es 'monto fijo'. |
Validación automática (_check_valor) |
Validación |
models/deduccion.py:257 |
| El porcentaje del salario debe estar entre 0 (exclusivo) y 100. |
Validación automática (_check_valor) |
Validación |
models/deduccion.py:262 |
| El saldo inicial debe ser positivo cuando la deduccion controla saldo (prestamo/anticipo). |
Validación automática (_check_saldo) |
Validación |
models/deduccion.py:270 |
| No se puede activar la deduccion '{}' porque falta: {}. El descuento sin soporte, orden o autorizacion esta bloqueado (art. 149 CST; HU-126). |
Botón o acción (action_activar) |
Operación no permitida |
models/deduccion.py:344 |
| Cambiar un dato critico de una deduccion (valor, orden, beneficiario, estado...) exige motivo de cambio (HU-002). |
Al modificar (write) |
Operación no permitida |
models/deduccion.py:397 |
| No se puede dejar activa la deduccion '{}' sin: {}. La activacion es una transicion gobernada (art. 149 CST; HU-126). |
Al modificar (write) |
Operación no permitida |
models/deduccion.py:412 |
| Solo se elimina una deduccion en borrador y sin aplicaciones; use suspender o finalizar para conservar la traza. |
Al eliminar (unlink) |
Operación no permitida |
models/deduccion.py:436 |
bps.deduccion.aplicacion
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La aplicacion de deduccion solo se crea por el motor (calcular). |
Al crear (create) |
Operación no permitida |
models/deduccion.py:533 |
| La aplicacion de deduccion es inmutable. |
Al modificar (write) |
Operación no permitida |
models/deduccion.py:538 |
| Las aplicaciones de deduccion no se eliminan. |
Al eliminar (unlink) |
Operación no permitida |
models/deduccion.py:542 |
bps.franja.nocturna.vigencia
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La franja nocturna solo admite la clave '{}'. |
Validación automática (_check_clave_franja) |
Validación |
models/tipo_hora_vigencia.py:232 |
| La hora de inicio debe estar entre 0 y 24. |
Validación automática (_check_horas) |
Validación |
models/tipo_hora_vigencia.py:241 |
| La hora de fin debe estar entre 0 y 24. |
Validación automática (_check_horas) |
Validación |
models/tipo_hora_vigencia.py:243 |
| La franja nocturna no puede tener duracion cero. |
Validación automática (_check_horas) |
Validación |
models/tipo_hora_vigencia.py:245 |
| La fuente normativa es obligatoria. |
Validación automática (_check_fuente) |
Validación |
models/tipo_hora_vigencia.py:251 |
| No hay franja nocturna parametrizada para {}. |
Operación (get_franja_nocturna) |
Operación no permitida |
models/tipo_hora_vigencia.py:257 |
bps.jornada.autorizacion
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La vigencia final no puede ser anterior a la inicial. |
Validación automática (_check_coherencia) |
Validación |
models/jornada_especial.py:319 |
| El empleado y la autorizacion deben pertenecer a la misma compania. |
Validación automática (_check_coherencia) |
Validación |
models/jornada_especial.py:321 |
| La autorizacion de horas extra es de alcance empresa. |
Validación automática (_check_alcance_categoria) |
Validación |
models/jornada_especial.py:329 |
| La categoria especial exige empleado y version contractual. |
Validación automática (_check_alcance_categoria) |
Validación |
models/jornada_especial.py:332 |
| La autorizacion no puede nacer vigente mediante default_estado; use la accion gobernada. |
Al crear (create) |
Operación no permitida |
models/jornada_especial.py:340 |
| La autorizacion nace en borrador y se activa por decision gobernada. |
Al crear (create) |
Operación no permitida |
models/jornada_especial.py:345 |
| El estado de la autorizacion solo cambia por acciones gobernadas. |
Al modificar (write) |
Operación no permitida |
models/jornada_especial.py:350 |
| La autorizacion y su evidencia quedan inmutables despues de la decision. |
Al modificar (write) |
Operación no permitida |
models/jornada_especial.py:356 |
| Solo se eliminan autorizaciones en borrador; las decididas son trazas. |
Al eliminar (unlink) |
Operación no permitida |
models/jornada_especial.py:361 |
| Solo se activan autorizaciones en borrador. |
Botón o acción (action_activar) |
Operación no permitida |
models/jornada_especial.py:404 |
| Solo un supervisor operativo puede activar una autorizacion de jornada. |
Botón o acción (action_activar) |
Operación no permitida |
models/jornada_especial.py:406 |
| El empleado ya tiene una autorizacion especial vigente y solapada; no se admite ambiguedad de categoria. |
Botón o acción (action_activar) |
Operación no permitida |
models/jornada_especial.py:416 |
| La revocacion exige motivo. |
Botón o acción (action_revocar) |
Operación no permitida |
models/jornada_especial.py:443 |
| Solo un supervisor operativo puede revocar una autorizacion. |
Botón o acción (action_revocar) |
Operación no permitida |
models/jornada_especial.py:445 |
| Solo se revocan autorizaciones vigentes. |
Botón o acción (action_revocar) |
Operación no permitida |
models/jornada_especial.py:448 |
bps.jornada.categoria
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La fuente de la categoria es obligatoria. |
Validación automática (_check_categoria) |
Validación |
models/jornada_especial.py:229 |
| La categoria adolescente exige limites diarios y semanales. |
Validación automática (_check_categoria) |
Validación |
models/jornada_especial.py:232 |
| La categoria adolescente exige una hora maxima valida. |
Validación automática (_check_categoria) |
Validación |
models/jornada_especial.py:234 |
| Todo cambio de categoria exige bps_motivo_cambio. |
Al modificar (write) |
Operación no permitida |
models/jornada_especial.py:262 |
| Las categorias de jornada no se eliminan; se desactivan. |
Al eliminar (unlink) |
Operación no permitida |
models/jornada_especial.py:276 |
bps.jornada.cumplimiento
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| El cumplimiento mensual solo se genera desde el servicio gobernado. |
Al crear (create) |
Operación no permitida |
models/jornada_especial.py:566 |
| El cumplimiento mensual es una traza inmutable. |
Al modificar (write) |
Operación no permitida |
models/jornada_especial.py:571 |
| Las trazas de cumplimiento no se eliminan. |
Al eliminar (unlink) |
Operación no permitida |
models/jornada_especial.py:576 |
bps.jornada.cumplimiento.wizard
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La compania esta fuera del contexto multiempresa actual. |
Botón o acción (action_generar) |
Operación no permitida |
wizard/jornada_cumplimiento_wizard.py:24 |
| No hay empleados para generar el cumplimiento mensual. |
Botón o acción (action_generar) |
Operación no permitida |
wizard/jornada_cumplimiento_wizard.py:34 |
bps.jornada.gobierno
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| El registro de horas no coincide con la compania del empleado. |
Operación (validar_registro_hora) |
Operación no permitida |
models/jornada_especial.py:668 |
| PENDIENTE_FUENTE_JORNADA: no se registra jornada adolescente sin limites oficiales normalizados para su rango de edad. |
Operación (validar_registro_hora) |
Operación no permitida |
models/jornada_especial.py:674 |
| La jornada adolescente exige autorizacion vigente del inspector y soporte antes de registrar horas. |
Operación (validar_registro_hora) |
Operación no permitida |
models/jornada_especial.py:680 |
| La jornada adolescente no puede cruzar medianoche. |
Operación (validar_registro_hora) |
Operación no permitida |
models/jornada_especial.py:684 |
| La jornada adolescente excede la hora maxima autorizada. |
Operación (validar_registro_hora) |
Operación no permitida |
models/jornada_especial.py:688 |
| La jornada adolescente es diurna: el turno {}-{} invade la franja nocturna vigente (nocturna desde las {} y hasta las {}). |
Operación (validar_registro_hora) |
Operación no permitida |
models/jornada_especial.py:695 |
| La jornada adolescente excede el limite diario vigente. |
Operación (validar_registro_hora) |
Operación no permitida |
models/jornada_especial.py:706 |
| La jornada adolescente excede el limite semanal vigente. |
Operación (validar_registro_hora) |
Operación no permitida |
models/jornada_especial.py:709 |
| Solo un operador o administrador BPS puede generar cumplimiento mensual de jornada. |
Operación (generar_cumplimiento_mensual) |
Permiso insuficiente |
models/jornada_especial.py:805 |
bps.jornada.regla
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| El valor de la regla debe ser mayor que cero. |
Validación automática (_check_regla) |
Validación |
models/jornada_especial.py:102 |
| La vigencia final no puede ser anterior a la inicial. |
Validación automática (_check_regla) |
Validación |
models/jornada_especial.py:104 |
| La fuente de la regla es obligatoria. |
Validación automática (_check_regla) |
Validación |
models/jornada_especial.py:106 |
| El criterio de habitualidad se expresa en domingos. |
Validación automática (_check_regla) |
Validación |
models/jornada_especial.py:108 |
| El derecho compensatorio se expresa en dias. |
Validación automática (_check_regla) |
Validación |
models/jornada_especial.py:110 |
| Los limites de jornada se expresan en horas. |
Validación automática (_check_regla) |
Validación |
models/jornada_especial.py:112 |
| No puede haber reglas de jornada solapadas para el mismo codigo. |
Validación automática (_check_no_solapamiento) |
Validación |
models/jornada_especial.py:123 |
| El alta de una regla exige motivo auditable. |
Al crear (create) |
Operación no permitida |
models/jornada_especial.py:139 |
| Todo cambio de regla exige bps_motivo_cambio. |
Al modificar (write) |
Operación no permitida |
models/jornada_especial.py:155 |
| Las reglas de jornada no se eliminan; se versionan o desactivan. |
Al eliminar (unlink) |
Operación no permitida |
models/jornada_especial.py:169 |
| PENDIENTE_FUENTE_JORNADA: no hay regla vigente '{}' para {}. |
Operación (get_vigente) |
Operación no permitida |
models/jornada_especial.py:181 |
| Hay {} reglas vigentes para '{}' en {}; corrija la ambiguedad antes de continuar. |
Operación (get_vigente) |
Operación no permitida |
models/jornada_especial.py:186 |
bps.jornada.umbral
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| El empleado pertenece a una compania fuera del contexto multiempresa actual: no se consulta su jornada. |
Operación (umbral_extra) |
Operación no permitida |
models/periodo_quincenal.py:146 |
bps.novedad
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| Las fechas de la novedad son obligatorias. |
Validación automática (_check_fechas) |
Validación |
models/novedad_operativa.py:108 |
| La fecha hasta no puede ser anterior a la fecha desde. |
Validación automática (_check_fechas) |
Validación |
models/novedad_operativa.py:110 |
| El empleado pertenece a la compania '{}' pero la novedad es de '{}': no se mezclan companias. |
Validación automática (_check_coherencia_compania) |
Validación |
models/novedad_operativa.py:119 |
| El codigo de novedad '{}' no existe en el catalogo (HU-041A). |
Validación automática (_check_codigo) |
Validación |
models/novedad_operativa.py:130 |
| Una prorroga debe indicar la novedad inicial (novedad_origen_id). |
Validación automática (_check_prorroga) |
Validación |
models/novedad_operativa.py:145 |
| La prorroga debe ser de la misma compania que la novedad inicial. |
Validación automática (_check_prorroga) |
Validación |
models/novedad_operativa.py:149 |
| La prorroga debe ser del mismo empleado que la novedad inicial. |
Validación automática (_check_prorroga) |
Validación |
models/novedad_operativa.py:153 |
| La prorroga debe tener el mismo codigo que la novedad inicial. |
Validación automática (_check_prorroga) |
Validación |
models/novedad_operativa.py:157 |
| La novedad inicial de la prorroga debe ser anterior a la prorroga. |
Validación automática (_check_prorroga) |
Validación |
models/novedad_operativa.py:162 |
| La cadena de prorrogas no puede tener ciclos. |
Validación automática (_check_prorroga) |
Validación |
models/novedad_operativa.py:170 |
bps.novedad.adaptador
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| Hay ausencias que afectan la nomina sin mapeo a un tipo de novedad BPS ({}): mapee el tipo antes de preliquidar. |
Operación (validar_ausencias_mapeadas) |
Operación no permitida |
models/novedad_operativa.py:258 |
bps.novedad.tipo.tramo
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| El dia desde debe ser mayor que cero. |
Validación automática (_check_valores) |
Validación |
models/novedad_tipo_vigencia.py:184 |
| El dia hasta no puede ser anterior al dia desde. |
Validación automática (_check_valores) |
Validación |
models/novedad_tipo_vigencia.py:186 |
| El porcentaje de reconocimiento debe estar entre 0 y 100. |
Validación automática (_check_valores) |
Validación |
models/novedad_tipo_vigencia.py:188 |
| Los tramos de una misma novedad no pueden solaparse. |
Validación automática (_check_no_solapamiento_tramos) |
Validación |
models/novedad_tipo_vigencia.py:198 |
| Cambiar un tramo de novedad exige motivo de cambio (HU-002). |
Al modificar (write) |
Operación no permitida |
models/novedad_tipo_vigencia.py:205 |
bps.novedad.tipo.vigencia
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La fuente normativa es obligatoria. |
Validación automática (_check_textos_obligatorios) |
Validación |
models/novedad_tipo_vigencia.py:125 |
| El codigo PILA o su marca pendiente es obligatorio. |
Validación automática (_check_textos_obligatorios) |
Validación |
models/novedad_tipo_vigencia.py:127 |
| El elemento DSNE o su marca pendiente es obligatorio. |
Validación automática (_check_textos_obligatorios) |
Validación |
models/novedad_tipo_vigencia.py:129 |
| El limite de unidades no puede ser negativo. |
Validación automática (_check_limite_unidades) |
Validación |
models/novedad_tipo_vigencia.py:135 |
| No hay tipo de novedad vigente para {} en {}. |
Operación (get_tipo_novedad_vigente) |
Operación no permitida |
models/novedad_tipo_vigencia.py:141 |
| Los dias de novedad deben ser mayores que cero. |
Operación (get_tramos_aplicables) |
Validación |
models/novedad_tipo_vigencia.py:150 |
bps.periodo.quincenal
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| El mes debe estar entre 1 y 12. |
Validación automática (_check_periodo) |
Validación |
models/periodo_quincenal.py:80 |
| Las fechas del periodo son obligatorias. |
Validación automática (_check_periodo) |
Validación |
models/periodo_quincenal.py:82 |
| La fecha hasta no puede ser anterior a la fecha desde. |
Validación automática (_check_periodo) |
Validación |
models/periodo_quincenal.py:84 |
bps.registro.hora
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| El inicio y el fin son obligatorios. |
Validación automática (_check_intervalo) |
Validación |
models/registro_hora.py:149 |
| El fin debe ser posterior al inicio (duracion positiva). |
Validación automática (_check_intervalo) |
Validación |
models/registro_hora.py:151 |
| Un registro de horas no puede exceder 24 horas; divida el turno. |
Validación automática (_check_intervalo) |
Validación |
models/registro_hora.py:155 |
| La zona horaria '{}' no es valida. |
Validación automática (_check_intervalo) |
Validación |
models/registro_hora.py:161 |
| El empleado pertenece a la compania '{}' pero el registro es de '{}': no se pueden mezclar companias. |
Validación automática (_check_coherencia_compania) |
Validación |
models/registro_hora.py:172 |
| El registro se traslapa con otro del mismo empleado en el mismo intervalo: corrija las horas. |
Validación automática (_check_traslape) |
Validación |
models/registro_hora.py:193 |
| Un registro de horas nace en 'borrador'; el estado avanza por el flujo de aprobacion, no en la creacion. |
Al crear (create) |
Operación no permitida |
models/registro_hora.py:215 |
| El estado solo cambia por las acciones del flujo (validar/aprobar/rechazar/liquidar/bloquear), no por escritura directa. |
Al modificar (write) |
Operación no permitida |
models/registro_hora.py:223 |
| El registro en estado '{}' no se edita; registre una novedad de ajuste (no se altera la linea original). |
Al modificar (write) |
Operación no permitida |
models/registro_hora.py:231 |
| Solo se eliminan registros en borrador o rechazados; el estado '{}' queda como traza. |
Al eliminar (unlink) |
Operación no permitida |
models/registro_hora.py:241 |
| Solo un supervisor operativo (grupo supervisor BPS) puede aprobar horas. |
Botón o acción (action_aprobar) |
Operación no permitida |
models/registro_hora.py:278 |
| El rechazo exige un motivo. |
Botón o acción (action_rechazar) |
Operación no permitida |
models/registro_hora.py:289 |
| Solo se rechazan registros validados o aprobados. |
Botón o acción (action_rechazar) |
Operación no permitida |
models/registro_hora.py:293 |
| Revertir una aprobacion (rechazar horas aprobadas) requiere un supervisor operativo (grupo supervisor BPS). |
Botón o acción (action_rechazar) |
Operación no permitida |
models/registro_hora.py:299 |
| Solo se bloquean registros aprobados o liquidados. |
Botón o acción (action_bloquear) |
Operación no permitida |
models/registro_hora.py:319 |
bps.tiempos.importacion
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| Los lotes de importacion solo se crean por el servicio (importar). |
Al crear (create) |
Operación no permitida |
models/importacion_tiempos.py:125 |
| El lote de importacion de tiempos es inmutable. |
Al modificar (write) |
Operación no permitida |
models/importacion_tiempos.py:131 |
| Los lotes de importacion de tiempos no se eliminan. |
Al eliminar (unlink) |
Operación no permitida |
models/importacion_tiempos.py:136 |
| Solo un administrador de nomina BPS importa tiempos externos. |
Operación (importar) |
Operación no permitida |
models/importacion_tiempos.py:173 |
| No puede importar tiempos de una compania fuera de su contexto. |
Operación (importar) |
Operación no permitida |
models/importacion_tiempos.py:176 |
| Debe declarar el canal de origen (archivo/api): no hay default silencioso para la procedencia de un tiempo. |
Operación (importar) |
Operación no permitida |
models/importacion_tiempos.py:179 |
| El lote no trae identidad externa: sin ella no hay idempotencia y un reenvio duplicaria las horas. |
Operación (importar) |
Operación no permitida |
models/importacion_tiempos.py:184 |
| REENVIO_INCOHERENTE: ya existe el lote '{}' de la compania con un contenido distinto. Un reenvio con datos cambiados no es un reintento: use una identidad externa nueva para la correccion. |
Operación (importar) |
Operación no permitida |
models/importacion_tiempos.py:198 |
| El lote '{}' se creo en paralelo: reintente la lectura. |
Operación (importar) |
Operación no permitida |
models/importacion_tiempos.py:221 |
bps.tiempos.importacion.linea
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| Las lineas de importacion solo las crea el servicio. |
Al crear (create) |
Operación no permitida |
models/importacion_tiempos.py:315 |
| Las lineas de importacion de tiempos son inmutables. |
Al modificar (write) |
Operación no permitida |
models/importacion_tiempos.py:320 |
| Las lineas de importacion de tiempos no se eliminan. |
Al eliminar (unlink) |
Operación no permitida |
models/importacion_tiempos.py:324 |
bps.tipo.hora.vigencia
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| El tipo de hora '{}' no pertenece al catalogo HU-037. |
Validación automática (_check_codigo_catalogo) |
Validación |
models/tipo_hora_vigencia.py:70 |
| El porcentaje de recargo debe estar entre 0 y 300. |
Validación automática (_check_porcentaje) |
Validación |
models/tipo_hora_vigencia.py:79 |
| La fuente normativa es obligatoria. |
Validación automática (_check_textos_obligatorios) |
Validación |
models/tipo_hora_vigencia.py:87 |
| El elemento DSNE destino es obligatorio. |
Validación automática (_check_textos_obligatorios) |
Validación |
models/tipo_hora_vigencia.py:89 |
| No hay tasa vigente para el tipo de hora {} en {}. |
Operación (get_tipo_hora_vigente) |
Operación no permitida |
models/tipo_hora_vigencia.py:172 |
bps.valorizacion.hora
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La valorizacion solo se crea mediante el servicio (metodo valorizar). |
Al crear (create) |
Operación no permitida |
models/valorizacion_hora.py:118 |
| La traza de valorizacion es inmutable. |
Al modificar (write) |
Operación no permitida |
models/valorizacion_hora.py:124 |
| Las trazas de valorizacion no se eliminan. |
Al eliminar (unlink) |
Operación no permitida |
models/valorizacion_hora.py:128 |
| Solo se valorizan registros de horas aprobados; el registro esta en '{}'. |
Operación (valorizar) |
Operación no permitida |
models/valorizacion_hora.py:189 |
| El salario base debe ser un valor positivo. |
Operación (valorizar) |
Operación no permitida |
models/valorizacion_hora.py:194 |
| El registro de horas ya tiene una valorizacion: no se duplica. Registre un ajuste por novedad si corresponde. |
Operación (valorizar) |
Operación no permitida |
models/valorizacion_hora.py:197 |
| El divisor de jornada vigente en {} no es valido. |
Operación (valorizar) |
Operación no permitida |
models/valorizacion_hora.py:246 |
| El registro de horas ya tiene una valorizacion (creada en paralelo): no se duplica. |
Operación (valorizar) |
Operación no permitida |
models/valorizacion_hora.py:318 |
bps.valorizacion.hora.segmento
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| Los segmentos solo se crean por el servicio. |
Al crear (create) |
Operación no permitida |
models/valorizacion_hora.py:372 |
| Los segmentos de valorizacion son inmutables. |
Al modificar (write) |
Operación no permitida |
models/valorizacion_hora.py:376 |
| Los segmentos de valorizacion no se eliminan. |
Al eliminar (unlink) |
Operación no permitida |
models/valorizacion_hora.py:380 |
hr.leave.type
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| El codigo de novedad BPS '{}' no existe en el catalogo (HU-041A). |
Validación automática (_check_mapeo_novedad) |
Validación |
models/novedad_operativa.py:48 |
hr.version
| Mensaje |
Cuando aparece |
Tipo |
Origen |
| La categoria de jornada de la version se gestiona desde una autorizacion gobernada; no se cambia por write/RPC/import. |
Al modificar (write) |
Operación no permitida |
models/jornada_especial.py:484 |