Перейти к основному содержанию

Обзор

Twenty поддерживает импорт связей между объектами при импорте CSV. Это позволяет связывать записи (например, прикреплять Людей к Компаниям) в рамках миграции данных.
В настоящее время поддерживается для импорта: связи «один-ко-многим», указывающие на один тип объекта с каждой стороны (например, Люди → Компании). Связи, указывающие на несколько типов объектов, пока не поддерживаются для импорта/экспорта.

Как работают связи в Twenty

Один-ко-многим / Многие-к-одному

Twenty поддерживает стандартные связи, когда одна запись связана со многими другими:
  • Одна Компания → Многие Люди: у компании может быть несколько сотрудников, но каждый человек принадлежит одной компании
  • Одна Компания → Многие Сделки: у компании может быть несколько сделок, но каждая сделка принадлежит одной компании

Связи, которые могут указывать на несколько типов объектов

Некоторые связи могут связывать разные типы объектов. Это работает двумя способами: Паттерн 1: Многие записи, каждая из которых связана с одной записью каждого типа объекта Несколько Заметок, Задач или Активностей могут одновременно быть привязаны к нескольким типам объектов:
  • Заметки могут одновременно быть связаны с одним Человеком, одной Компанией и одной Сделкой
  • Задачи могут одновременно быть связаны с одним Человеком, одной Компанией и одной Сделкой
Здесь Заметки/Задачи находятся на стороне «многие». Каждая из них связывается с одной записью каждого типа объекта. Паттерн 2: Одна запись, получающая связи от многих записей разных типов объектов Проект может получать связи от множества записей разных типов объектов:
  • Проект может иметь много связанных с ним Людей, много связанных Компаний и много прикреплённых к нему Заметок
Здесь Проект находится на стороне «один». Несколько записей из разных объектов могут ссылаться на один и тот же Проект.
Ограничение импорта/экспорта: связи, указывающие на несколько типов объектов (например, Заметки → Люди/Компании/Сделки), пока не поддерживаются при импорте или экспорте CSV.
  • Импорт: можно импортировать только связи «один-ко-многим», указывающие на один тип объекта с каждой стороны
  • Экспорт: столбцы для связей, указывающих на несколько типов объектов, на данный момент остаются пустыми
Это запланировано в нашей дорожной карте.

Что пока не поддерживается

Связи «многие-ко-многим» пока недоступны. Например, сейчас вы не можете создать связь, где:
  • Многие Люди связаны со многими Проектами
Связи «многие-ко-многим» запланированы на 1 полугодие 2026 года.

Связывание записей при импорте

Напоминание: можно импортировать только связи «один-ко-многим», указывающие на один тип объекта (например, Люди → Компании). Связи, указывающие на несколько типов объектов (например, Заметки → Люди/Компании/Сделки), пока не поддерживаются.

Шаг 1: Определите стороны «один» и «многие»

Сначала определите, какой объект находится на стороне «один», а какой — на стороне «многие» в этой связи. Пример:
  • Компания — это сторона «один» (у одной компании много сотрудников)
  • Люди — это сторона «многие» (каждый человек принадлежит одной компании)

Шаг 2: Убедитесь, что записи стороны «один» существуют

Прежде чем импортировать сторону «многие», записи стороны «один» уже должны существовать в Twenty.
  • Сначала импортируйте или создайте записи стороны «один» (например, Компании)
  • Проверьте их уникальный идентификатор. Это может быть:
    • id (UUID в Twenty)
    • Поле, помеченное как уникальное (например, domain для Компаний или внешний идентификатор из вашей предыдущей системы)
Импорт завершится с ошибкой, если ссылка указывает на несуществующую запись.

Шаг 3: Подготовьте файл CSV

Добавьте столбец в CSV-файл для стороны «многие», который ссылается на запись стороны «один». Пример: для CSV-файла Людей, связывающего с Компаниями:
firstName,lastName,email,companyDomain
John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
Важно:
  • Значение должно в точности совпадать с уникальным полем в записи Компании
  • Для доменов используйте URL домена (например, https://acme.com), а не метку домена
  • Сопоставляйте только один уникальный идентификатор на связь: так импорт пройдёт более гладко

Шаг 4: Убедитесь, что поле связи существует

Перед загрузкой файла убедитесь, что между вашими объектами существует поле связи. Если его нет:
  1. Перейдите в Настройки → Модель данных
  2. Выберите ваш объект (например, Люди)
  3. Создайте поле связи, указывающее на целевой объект (например, Компания)

Шаг 5: Загрузите и сопоставьте связь

  1. Загрузите ваш CSV-файл через интерфейс импорта
  2. На шаге сопоставления полей найдите столбец связи (например, companyDomain)
  3. Сопоставьте его с полем связи (например, Компания)
  4. Twenty автоматически свяжет каждую запись с соответствующим родителем

Доступные уникальные поля для связей

ОбъектДоступные уникальные поля
Компанииid, domain, любое пользовательское уникальное поле
Людиid, email, любое пользовательское уникальное поле
Участники рабочего пространстваid, email (не имя)
Прочие стандартные и пользовательские объектыid, любое поле, помеченное как уникальное
Связь с участниками рабочего пространства: когда связь указывает на Участников рабочего пространства (ваша команда, входящая в Twenty), указывайте их по адресу электронной почты, а не по имени.
Мы рекомендуем использовать domain для Компаний и email для Людей, так как эти значения человекочитаемы и их легко поддерживать в таблицах.
Напоминание: Мягко удалённые записи (видны в Командном меню → Показать удалённые записи) учитываются при проверке уникальности. Если вы импортируете запись с тем же уникальным значением, что и у удалённой записи, удалённая запись будет восстановлена. См. Ограничения уникальности для подробностей.

Правило порядка импорта

Всегда сначала импортируйте сторону «один»!
  1. Компании в первую очередь (без зависимостей)
  2. Люди во вторую очередь (связаны с Компаниями)
  3. Сделки в третью очередь (связаны с Компаниями/Людьми)
  4. Пользовательские объекты с учётом их зависимостей
Родительская запись должна существовать до того, как вы сможете на неё сослаться.