Resumen
UsadefineField() 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
-
objectUniversalIdentifieridentifica el objeto de destino. Para los objetos estándar de Twenty, importa la constante desdetwenty-sdk: -
Al definir campos en línea dentro de
defineObject(), no necesitasobjectUniversalIdentifier— se hereda del objeto padre. -
defineField()es la única forma de añadir campos a objetos que no creaste condefineObject(). -
SELECTyMULTI_SELECTsiguen las mismas reglas de validación y color de opciones que los campos en línea. Un color omitido o nulo usagrayde 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 desrc/. -
Se puede establecer
isSearchable: trueendefineField()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: falseendefineField()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
definePageLayoutTabconSTANDARD_PAGE_LAYOUT_UNIVERSAL_IDENTIFIERSdetwenty-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 unPerson 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.