--- title: Импорт связей между объектами description: Импорт связей между записями с помощью CSV. --- ## Обзор 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` для Людей, так как эти значения человекочитаемы и их легко поддерживать в таблицах. **Напоминание**: Мягко удалённые записи (видны в Командном меню → Показать удалённые записи) учитываются при проверке уникальности. Если вы импортируете запись с тем же уникальным значением, что и у удалённой записи, удалённая запись будет восстановлена. См. [Ограничения уникальности](/l/ru/user-guide/data-migration/capabilities/uniqueness-constraints) для подробностей. ## Правило порядка импорта **Всегда сначала импортируйте сторону «один»!** 1. **Компании** в первую очередь (без зависимостей) 2. **Люди** во вторую очередь (связаны с Компаниями) 3. **Сделки** в третью очередь (связаны с Компаниями/Людьми) 4. **Пользовательские объекты** с учётом их зависимостей Родительская запись должна существовать до того, как вы сможете на неё сослаться.