Eliminar campos personalizados de proyectos con la limpieza adecuada y efectos en cascada


Eliminar un Campo Personalizado

Elimina permanentemente un campo personalizado de un proyecto junto con todos los datos, valores y configuraciones asociados. Esta operación no se puede deshacer y afectará a todos los registros que utilicen este campo.

Ejemplo Básico

mutation DeleteCustomField {
  deleteCustomField(id: "field_abc123")
}

Ejemplo Avanzado

mutation DeleteCustomFieldWithResponse {
  deleteCustomField(id: "field_abc123")
}

Parámetros de Entrada

Parámetro Tipo Requerido Descripción
id String! ✅ Sí El identificador único del campo personalizado a eliminar

Campos de Respuesta

Campo Tipo Descripción
deleteCustomField Boolean! Siempre devuelve true cuando la eliminación tiene éxito

Permisos Requeridos

Solo los propietarios de proyectos y los administradores pueden eliminar campos personalizados.

Rol Puede Eliminar Campos Personalizados
OWNER ✅ Sí
ADMIN ✅ Sí
MEMBER ❌ No
CLIENT ❌ No

Efectos en Cascada

Cuando se elimina un campo personalizado, las siguientes operaciones de limpieza ocurren automáticamente:

Limpieza de Datos

  • Valores del campo personalizado - Todos los valores para este campo se eliminan de todos los registros
  • Opciones del campo - Todas las opciones de menú desplegable y configuraciones se eliminan
  • Historial de actividad - Todos los registros de actividad relacionados con este campo se eliminan
  • Configuraciones de búsqueda - Se limpian todas las referencias de campos de búsqueda

Manejo Especial para Campos de Botón

Si el campo eliminado es de tipo BUTTON, se realiza limpieza adicional:

  • Automatizaciones - Todas las automatizaciones activadas por este botón se eliminan
  • Historial de automatización - Se elimina la actividad de automatización relacionada

Actualizaciones en Tiempo Real

  • Gráficos - Los gráficos del proyecto se marcan para actualización para reflejar los cambios
  • Fórmulas - Todos los campos de fórmula en el proyecto se recalculan
  • Seguimiento del tiempo - Se actualizan los cálculos de duración del tiempo
  • Suscripciones - Se envían notificaciones en tiempo real a los clientes conectados
  • Webhooks - Se activan webhooks de integración con eventos de eliminación

Respuestas de Error

Campo Personalizado No Encontrado

{
  "errors": [{
    "message": "Custom field was not found.",
    "extensions": {
      "code": "CUSTOM_FIELD_NOT_FOUND"
    }
  }]
}

Permisos Insuficientes

{
  "errors": [{
    "message": "You don't have permission to perform this action",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Notas Importantes

Eliminación Permanente

  • Sin deshacer - Los campos personalizados eliminados no se pueden recuperar
  • Pérdida de datos - Todos los valores de campo en todos los registros se eliminan permanentemente
  • Efecto inmediato - Los cambios tienen efecto inmediato en todos los usuarios del proyecto

Consideraciones de Rendimiento

  • Proyectos grandes - La eliminación puede tardar más en proyectos con muchos registros
  • Recalculo de fórmulas - Los proyectos con fórmulas complejas pueden experimentar breves retrasos en el procesamiento
  • Actualizaciones de gráficos - Los gráficos del panel se actualizarán para reflejar los cambios

Mejores Prácticas

  1. Hacer una copia de seguridad de los datos - Exportar valores de campo importantes antes de la eliminación
  2. Comunicar cambios - Notificar a los miembros del equipo antes de eliminar campos
  3. Verificar dependencias - Asegurarse de que no haya automatizaciones o fórmulas que dependan del campo
  4. Revisar informes - Actualizar cualquier informe que haga referencia al campo eliminado

Operaciones Relacionadas

Casos de Uso Comunes

Eliminación de Campos No Utilizados

# First, list fields to identify unused ones
query ListCustomFields {
  customFields(projectId: "project_123") {
    id
    name
    type
    createdAt
    # Check usage in records
  }
}

# Then delete the unused field
mutation DeleteUnusedField {
  deleteCustomField(id: "field_to_remove")
}

Limpieza de Campos de Prueba

# Remove fields created during testing
mutation CleanupTestFields {
  field1: deleteCustomField(id: "test_field_1")
  field2: deleteCustomField(id: "test_field_2")
  field3: deleteCustomField(id: "test_field_3")
}

Reestructuración de Campos del Proyecto

# When reorganizing field structure
mutation RestructureFields {
  # Delete old fields
  deleteOldPriorityField: deleteCustomField(id: "old_priority_field")
  deleteOldStatusField: deleteCustomField(id: "old_status_field")
  
  # Note: Create new fields in separate mutations
}

Eventos de Webhook

Cuando se elimina un campo personalizado, se activa el siguiente evento de webhook:

{
  "event": "CUSTOM_FIELD_DELETED",
  "projectId": "project_123",
  "timestamp": "2024-01-15T10:30:00Z",
  "previousValue": {
    "id": "field_abc123",
    "name": "Priority Level",
    "type": "SELECT_SINGLE",
    "projectId": "project_123"
  },
  "currentValue": null
}

Asistente IA

Las respuestas son generadas por IA y pueden contener errores.

¿Cómo puedo ayudarte?

Pregúntame cualquier cosa sobre Blue o esta documentación.

Enter para enviar • Shift+Enter para nueva línea • ⌘I para abrir