Archivar y restaurar unidades
Las iglesias se reorganizan. Un campus cierra. Dos células se fusionan. Una región se divide en tres. El módulo de Estructura Organizacional distingue tres estados para una unidad para que los reportes históricos sigan siendo precisos mientras el árbol en vivo refleja la realidad de hoy.
| Estado | Qué significa | Dónde aparece |
|---|---|---|
| Activa | El estado por defecto — la unidad está en vivo. | Árbol, selectores, dashboards, mapa. |
| Archivada | archived_at está definido. La unidad queda oculta del uso diario pero sus filas en org_units, member_unit_assignments, asistencia y donaciones quedan intactas. | Pestaña Archivadas en la página de estructura organizacional. |
| Eliminada | deleted_at está definido. La unidad queda soft-removed de la base de datos. | En ningún lugar visible. Restaurable solo por soporte. |
Vas a usar Archivar diez veces más a menudo que Eliminar. Es la opción segura por defecto.
Archivar una unidad individual
En el árbol organizacional, haz clic en el menú de tres puntos en la fila de una unidad y selecciona Archivar. Se abre un diálogo de confirmación con tres datos:
- El nombre de la unidad.
- Una advertencia de que todas las unidades hijas también serán archivadas si las hay. La cascada es automática y se computa mediante
collectAllDescendants— cada descendiente recibearchived_aten la misma operación. - Una nota de que las unidades archivadas se mantienen fuera de los conteos y selectores pero siguen siendo restaurables.
Confirma para ejecutar. Aparece un toast con el conteo de unidades archivadas.

Archivar en lote
Marca las casillas de varias unidades en el árbol, haz clic en Archivar en la barra de herramientas fija que aparece. Aplica la misma regla de cascada — los descendientes de cada unidad seleccionada se incluyen automáticamente. El toast muestra el conteo total.
Este es el flujo que quieres cuando cierras un campus: selecciona el campus y cada hijo se pliega con un clic.
Qué hace "archivada" en la app
Después de archivar:
- La unidad desaparece de la pestaña activa del árbol organizacional.
- La unidad desaparece de todos los selectores en miembros, asistencia, donaciones y reportes.
- El conteo de miembros y consolidado de donaciones de la unidad dejan de contribuir a los dashboards (es decir, el total de miembros de la organización en la página de inicio baja por cuantos hubiera en el subárbol archivado).
- La unidad deja de aparecer como objetivo de workflows.
- La unidad conserva sus filas en
member_unit_assignments. Los miembros siguen vinculados a la unidad archivada — no se desasignan automáticamente. Si la reactivas más tarde, todo vuelve a su lugar. - Las filas históricas de asistencia y donaciones que referenciaron la unidad al momento de registrarse siguen resolviéndose — buscan por id, y el id sigue existiendo.
Archiva antes de eliminar, siempre
No hay "papelera con auto-purga" en GCM. Las unidades archivadas se quedan ahí para siempre hasta que actúes. Eso es deliberado — tu data está más segura donde puedes verla.
La pestaña Archivadas
Cambia a la pestaña Archivadas en /org-structure para ver cada unidad archivada en una lista plana, ordenada por nombre. Cada fila muestra:
- El nombre de la unidad (atenuado).
- La insignia de nivel.
- La fecha de archivado ("Archivada el 14 de enero de 2026").
- Un menú de tres puntos con las opciones Desarchivar y Eliminar permanentemente.
Al hacer clic en una fila se abre un modal de detalle de solo lectura con el nombre, nivel, dirección y último líder conocido. Desde ahí también puedes desarchivar.
Desarchivar (restaurar)
Abre la fila de la unidad en la pestaña Archivadas, haz clic en Desarchivar desde el menú de tres puntos (o desde el modal de detalle). GCM limpia archived_at en esa unidad específica.
Desarchivar no hace cascada. Si archivaste una sede con tres centros y cuatro células, desarchivar la sede trae de vuelta la sede pero deja los centros y las células archivados. Puedes:
- Sacarlos uno por uno en la pestaña Archivadas.
- Usar selección en lote para desarchivar un grupo de una vez.
Este diseño dividido importa cuando solo parte de una reestructura se revierte — digamos que cierras un campus pero luego decides reabrir el edificio principal sin las células satélite.
Desarchivar en lote
En la pestaña Archivadas, marca las casillas de las filas que quieras, presiona Desarchivar en la barra de herramientas fija. Todas las unidades seleccionadas tienen archived_at limpiado en una sola actualización.
El orden no importa — la restauración del árbol se basa puramente en parent_unit_id, así que mientras el padre también esté desarchivado (o nunca haya sido archivado) el hijo se renderiza correctamente.
Eliminar permanentemente
Si estás seguro de que una unidad nunca volverá — digamos que tipeaste mal una sede de prueba durante el onboarding — puedes eliminar permanentemente desde la pestaña Archivadas.
Dos caminos:
- Por unidad: Menú de tres puntos → Eliminar permanentemente.
- En lote: Selecciona varias filas archivadas, haz clic en Eliminar en la barra de herramientas fija.
Ambos caminos definen deleted_at en las unidades. Las filas siguen existiendo en la base de datos para propósitos forenses pero la app las trata como desaparecidas.
La eliminación permanente no se puede deshacer desde la UI
Una vez que deleted_at está definido, la unidad desaparece de todas las superficies de UI — incluida la pestaña Archivadas. No hay botón de "restaurar desde papelera". Si eliminas una unidad que necesitabas, contacta a soporte con el id de la unidad desde tu log de auditoría.
Eliminación desde la pestaña activa (con reasignación)
También hay una acción Eliminar en las unidades activas. A diferencia de Archivar, esta hace soft-delete inmediatamente — y te fuerza a decidir qué pasa con los miembros y los hijos primero.
El asistente pregunta:
- ¿Qué debe pasar con las unidades hijas? Eliminarlas también (soft-delete recursivo) o Mover a una unidad hermana que elijas.
- ¿Qué debe pasar con los miembros asignados? Desasignarlos (eliminar las filas de
member_unit_assignments) o Reasignarlos a una unidad hermana que elijas.
El flujo corre como una secuencia: reparentar hijos → reasignar miembros → limpieza de alcances de usuario → soft-delete sobre los objetivos.
Recurre a esto cuando estés seguro de que quieres remover la unidad pero no quieres que la cascada también borre data que te importa. La mayoría de los equipos usan Archivar en su lugar y se saltan el asistente.
Pista de auditoría
Cada archivado, desarchivado y eliminación se escribe al data log con el id del usuario actor, marca de tiempo y la unidad objetivo. Lo encuentras en Data Logs → Org Units. La pista sobrevive a la eliminación de la unidad — puedes responder "¿quién eliminó la Célula Norte?" meses después.
Preguntas comunes
¿Archivar una unidad desasigna a sus miembros? No. Sus filas en member_unit_assignments se quedan. Simplemente no aparecerán en vistas filtradas por unidad hasta que la unidad sea restaurada.
¿Qué pasa si archivo una unidad cuyo líder está definido? El leader_member_id se preserva. Cuando restauras, el líder sigue adjunto. Restaurar también vuelve a habilitar el nombre del líder en los reportes.
¿Puedo desarchivar todo un subárbol con un clic? No con un clic. Tienes que seleccionar las filas que quieras — pero en la pestaña Archivadas, seleccionar todo y hacer clic en Desarchivar hace el trabajo en una sola operación.
¿Por qué las unidades archivadas se excluyen de los dashboards pero no de los reportes históricos de asistencia? Los dashboards cuentan el estado en vivo — "cuántas sedes activas tenemos ahora mismo". Los reportes cuentan eventos — "cuántos asistieron a este servicio en marzo de 2024". Los eventos siguen referenciando la unidad por id incluso después de que la unidad se archive, así que el reporte se sigue resolviendo.
Próximos pasos
- Migrar desde una estructura plana — para organizaciones que actualizan desde un modelo de un solo nivel.
- Define tus niveles — empieza de nuevo o renombra lo que hay.
