# Plan de mantenimiento

El **plan de mantenimiento** ([abrir](app:/plan)) dice qué mantenimiento se hace sobre cada activo y cada cuánto. zensset genera las órdenes de trabajo solo, con la anticipación configurada en el sitio, y las deja listas para programar.

El plan reúne el trabajo que se repite: **preventivo y predictivo**. Por ejemplo, lubricar cada mes o medir vibración cada 30 días. El correctivo no va en el plan, porque nace de una falla o un hallazgo y no tiene frecuencia: entra como orden y se coloca en [Programación](/docs/scheduling).

## Procedimientos

Toda actividad parte de un **procedimiento** ([abrir](app:/procedures)): una receta reutilizable, por ejemplo "lubricación mensual de bomba", con sus **pasos** (la checklist), los recursos planificados (mano de obra por cargo, materiales, servicios) y si exige fotos o documentos. Se edita en borrador y se **publica**; las órdenes usan siempre la versión publicada.

## Crear una actividad

1. En **Plan de mantenimiento**, toca **Nueva actividad**.
2. Elige el procedimiento.
3. Elige los activos sobre los que se hace.
4. Define cada cuánto: por tiempo (cada N días) o por uso (cada N unidades de un medidor, como horas de operación).

Cada combinación de procedimiento y activo es una **actividad** del plan. Si eliges varios activos, se crea una actividad por activo.

Una **ruta** también es una actividad del plan: recorre varios **puntos**, cada uno con un activo y su procedimiento, y genera una sola orden.

## Cómo cuenta las fechas

Cada actividad por tiempo cuenta sus próximas fechas de una de dos formas. Se elige al crearlo y se puede cambiar después, en cualquier actividad; el cambio aplica a todos los activos que tienen esa actividad.

| Modo | Cuenta desde | Para qué sirve |
| --- | --- | --- |
| **Fechas fijas** | El calendario original, aunque una orden se haga tarde | Inspecciones legales, certificaciones, "cada enero y julio" |
| **Desde la última ejecución** | La última vez que el trabajo se hizo de verdad | Desgaste por uso: filtros, lubricación, limpieza |

Un ejemplo, cada 30 días, con la primera fecha el 1 de marzo y la orden de marzo hecha el 10:

- **Fechas fijas:** la siguiente es el 31 de marzo. El atraso de marzo no corre las fechas.
- **Desde la última ejecución:** la siguiente es el 9 de abril, 30 días después de cuando se hizo.

El modo no tiene valor por defecto: al crear un plan por tiempo hay que elegirlo, también si lo crea tu agente o si viene de una plantilla. Las actividades que se agregan a un plan que ya existe usan su mismo modo.

Si cambias a **Desde la última ejecución**, cada actividad cuenta desde su última fecha real: una orden ejecutada o la fecha que indicaste. Si no se conoce ninguna, sigue con su fecha estimada y lo muestra así. Si el cambio mueve la fecha de actividades con orden abierta, zensset te las muestra y te pregunta una vez si las mueves o las dejas con su fecha.

En **Desde la última ejecución** cuenta cualquier orden ejecutada, en revisión o cerrada del mismo procedimiento en el mismo activo, venga del plan o no. Cuenta su [fecha real de ejecución](/docs/work-orders), no la fecha en que se registró. Mientras haya una orden abierta, el plan no genera otra: espera a que esa se haga. Si una orden ejecutada se anula, el plan vuelve a contar desde la ejecución anterior.

Si vienes de otro sistema: en IBM Maximo estos modos se llaman *fixed* y *floating*. En SAP PM corresponden al factor de desplazamiento por finalización tardía, en 0 % y en 100 %. En el MCP de zensset son `schedule_mode: fixed` y `floating`.

## Desde cuándo cuenta una actividad

En el detalle de cada actividad, **Cuenta desde** muestra el punto de partida cuando no es una ejecución real:

- **Estimada:** zensset lo calculó. Por ejemplo, si el plan empezó con "la primera vez, el 1 de diciembre, cada 180 días", el punto de partida es el 4 de junio, 180 días antes. No es una fecha en que se haya hecho el trabajo.
- **Indicada a mano:** alguien escribió la última ejecución o la próxima fecha, con un motivo que queda en el historial.

Si sabes cuándo se hizo por última vez y no quedó como orden en zensset, ábrela, toca **Editar** e indícalo en **Última ejecución**, con el motivo. El plan cuenta desde esa fecha.

## Cambiar la frecuencia

Al cambiar la frecuencia de un activo, lo que pasa depende del punto de partida:

- Si es **estimado**, la próxima fecha que ya mostraba el plan se mantiene, y la nueva frecuencia aplica desde ahí. Así una fecha que nadie escribió no genera una orden vencida.
- Si es **real** (una ejecución o una fecha indicada a mano), la próxima fecha se cuenta desde ahí con la nueva frecuencia.

Si el resultado es una fecha que ya pasó, zensset te pregunta qué hacer antes de guardar: **dejarla vencida**, y la orden se genera ahora, o **moverla a hoy**. También puedes volver y corregir la última ejecución.

Si la actividad tiene una orden abierta y su fecha cambia, zensset te pregunta qué pasa con esa orden antes de guardar: **moverla** a la fecha nueva o **dejarla con su fecha**. Si la fecha nueva ya pasó, también puedes moverla a hoy. Una orden que ya está en la programación no cambia aquí: se reprograma desde la orden.

## Seguir el plan

- **Próximas:** lo que vence en el horizonte elegido.
- **Vencidas:** lo que ya debió hacerse.
- **Pausadas:** actividades que dejaron de generar órdenes hasta que se reanuden.
- **Todas las actividades:** el plan completo.

Abre una actividad para cambiar su frecuencia, pausarla o quitarla. La anticipación con que se generan las órdenes se configura en **Configuración → Mantenimiento** ([abrir](app:/settings/maintenance)).

Las órdenes que genera el plan se programan en [Programación](/docs/scheduling).