Saltar al contenido principal

Resumen

Usa defineField() para añadir un campo a un objeto que no te pertenece — un objeto estándar de Twenty como Person o Company, u otro objeto proporcionado por otra aplicación instalada. A diferencia de los campos en línea declarados dentro de defineObject, los campos independientes requieren un objectUniversalIdentifier para especificar qué objeto extienden.
src/fields/company-loyalty-tier.field.ts

Puntos clave

  • objectUniversalIdentifier identifica el objeto de destino. Para los objetos estándar de Twenty, importa la constante desde twenty-sdk:
  • Al definir campos en línea dentro de defineObject(), no necesitas objectUniversalIdentifier — se hereda del objeto padre.
  • defineField() es la única forma de añadir campos a objetos que no creaste con defineObject().
  • SELECT y MULTI_SELECT siguen las mismas reglas de validación y color de opciones que los campos en línea. Un color omitido o nulo usa gray de forma predeterminada; los colores no compatibles se rechazan.
  • La ubicación del archivo depende de ti. La convención es src/fields/\<name>.field.ts, pero la CLI detecta campos en cualquier lugar de src/.
  • Se puede establecer isSearchable: true en defineField() con las mismas restricciones que los campos en línea (objeto de destino en el que se pueden realizar búsquedas, tipo de campo compatible con texto), de modo que los registros del objeto de destino se puedan encontrar mediante los valores de su campo en la búsqueda de texto completo.
  • Se puede establecer isAuditLogged: false en defineField() para mantener los cambios del campo fuera de la cronología del registro de destino, lo cual es especialmente importante para los campos que tu aplicación reescribe según una programación.
  • Para agregar una pestaña a un diseño de página estándar (por ejemplo, la página de detalles de la Tarea o de la Empresa), usa definePageLayoutTab con STANDARD_PAGE_LAYOUT_UNIVERSAL_IDENTIFIERS de twenty-sdk/define.

Añadir una relación a un objeto existente

Para añadir un campo de relación (por ejemplo, vinculando tu objeto personalizado a un Person estándar), usa defineField() con FieldType.RELATION. El patrón es el mismo que para las relaciones en línea, pero con objectUniversalIdentifier establecido explícitamente. Consulta Relaciones para conocer el patrón bidireccional.