🏗️

Arquitectura de Objetos, Campos y Lightning App Builder

Relaciones entre objetos, campos personalizados y diseño de interfaces con Lightning App Builder.

⏱️ Tiempo estimado de lectura: 30 minutos

Dominando los Objetos y Schema Builder

Los objetos son la columna vertebral de Salesforce.

- Standard Objects: No se pueden eliminar. El admin puede cambiar sus etiquetas (Rename Tabs and Labels) pero el nombre de la API permanece igual.
- Custom Objects: Tienen características que debes elegir al crear: 'Allow Reports', 'Allow Activities', 'Track Field History'.

Schema Builder: No es solo para visualizar; es una herramienta de administración que permite crear objetos y campos en tiempo real. Nota de examen: Los campos creados aquí NO se añaden automáticamente a los Page Layouts, debes hacerlo manualmente después.

Puntos Clave

  • Diferencia entre ID de 15 caracteres (sensible a mayúsculas, usado en UI) y 18 caracteres (insensible, usado en API)
  • Undelete: Los objetos eliminados permanecen en la papelera 15 días
  • Objetos Externos: Acceden a datos fuera de Salesforce sin ocupar almacenamiento
  • Los objetos personalizados siempre incluyen el sufijo '__c'

Relaciones: Master-Detail, Junction y Jerarquía

Las relaciones definen cómo fluyen los datos y la seguridad.

- Master-Detail: El padre controla la visibilidad. Si el padre se borra, los hijos se borran (Cascade Delete). Reparenting: Por defecto no se puede, a menos que marques la casilla 'Allow Reparenting' en el campo.
- Junction Objects: Crean relaciones N:N (Muchos a Muchos). Un objeto con dos relaciones Master-Detail (ej: Candidatos y Puestos de Trabajo vinculados por 'Aplicación').
- Hierarchical Relationship: Solo existe en el objeto User para crear jerarquías de mánagers.

Puntos Clave

  • Un objeto puede tener máximo 2 relaciones Master-Detail
  • No puedes crear una relación Master-Detail si el objeto ya tiene registros (truco: crea Lookup, llena los datos y convierte a M-D)
  • Lookup: El campo puede ser opcional o requerido; no afecta al Owner del registro
  • Roll-up Summary: Solo disponibles en el objeto Maestro de una relación M-D

Tipos de Campo y Conversión de Datos

Salesforce tiene tipos de campo específicos con reglas de conversión críticas.

- External ID: Campo único usado para importar datos de sistemas externos (máximo 25 por objeto).
- Formula Fields: Cálculos automáticos. No se pueden editar. Pueden usar datos de objetos padres (Cross-object formulas).
- Conversión: Cambiar de 'Checkbox' a 'Text' es seguro. Cambiar de 'Text' a 'Pickist' puede causar pérdida de datos si los valores no coinciden.

Puntos Clave

  • Roll-up Summary: Tipos soportados: COUNT, SUM, MIN, MAX
  • Geolocation: Almacena latitud y longitud como un solo campo
  • Auto-number: Genera IDs secuenciales personalizados (ej: INV-001)
  • Si conviertes un campo Master-Detail a Lookup, pierdes los campos Roll-up Summary

Record Types, Path y Formatos

Los Record Types son la herramienta principal para la segmentación de procesos.

Flujo lógico del examen:
1. Crea el Business Process (etapas de ventas/soporte).
2. Crea el Record Type y asígnale el proceso.
3. Asigna el Page Layout al Record Type y al Perfil del usuario.

Path: Herramienta visual en Lightning para guiar a los usuarios a través de las etapas de un proceso. Puedes añadir 'Key Fields' y 'Guidance for Success' en cada etapa.

Puntos Clave

  • Un Record Type controla: Valores de Picklist, Page Layouts y Procesos de Negocio
  • Para objetos estándar como Accounts o Contacts, NO necesitas crear un proceso previo
  • Los administradores pueden asignar Record Types a través de Perfiles o Permission Sets
  • Si un usuario solo tiene acceso a un Record Type, Salesforce no le pedirá elegir uno al crear un registro

Lightning App Builder y FlexiPages

El Lightning App Builder crea 'FlexiPages'.

Niveles de Asignación (Jerarquía):
1. Org Default: Lo que todos ven si no hay nada más específico.
2. App Default: Sobrescribe el Org Default para una aplicación específica (ej: App de Ventas).
3. App, Record Type, and Profile: El nivel más granular y potente.

Dynamic Forms: Permiten visibilidad condicional a nivel de CAMPO. Esto elimina la necesidad de crear decenas de Page Layouts solo para ocultar campos según el estado del registro.

Puntos Clave

  • Dynamic Actions: Permiten mostrar botones (ej: 'Cerrar Caso') basados en criterios lógicos
  • Componentes de Análisis: Puedes insertar reportes directamente en la página de un registro
  • Mobile Compatibility: Puedes previsualizar cómo se verá la página en teléfonos y tablets
  • Rich Text Component: Se usa para mostrar avisos o instrucciones visuales en la página