--- title: Подготовить файлы CSV description: Полное пошаговое руководство по форматированию ваших данных для импорта в Twenty. --- ## Обзор Это руководство проведет вас через подготовку файла CSV для успешного импорта. Следуйте этим шагам, чтобы избежать ошибок. ## Шаг 1: Проверьте требования к файлу Прежде чем начать, убедитесь, что ваш файл соответствует этим требованиям: | Требование | Подробности | | ----------------------- | ------------------------ | | **Формат** | CSV, XLSX или XLS | | **Ограничение размера** | 10 000 записей на файл | | **Кодировка** | Рекомендуется UTF-8 | | **Структура** | Один тип объекта на файл | Для наборов данных более 10 000 записей разделите их на несколько файлов или используйте [импорт через API](/l/ru/user-guide/data-migration/how-tos/import-data-via-api). ## Шаг 2: Скачайте образец файла **Это самый важный шаг.** Образец файла показывает точные названия столбцов и формат, который ожидает Twenty. 1. Перейдите к объекту (Люди, Компании и т. д.) 2. Нажмите **⋮** → **Импортировать записи** 3. Нажмите **Скачать образец файла** 4. Используйте этот файл как шаблон **Профессиональный совет:** Экспортируйте несколько существующих записей. Это даст вам реальные примеры того, как должны быть отформатированы данные, а названия столбцов будут сопоставлены автоматически во время импорта. ## Шаг 3: Удалите повторяющиеся значения Twenty требует уникальности для некоторых полей. Дубликаты вызовут ошибки импорта. | Объект | Уникальные поля | | ---------------------------- | ------------------------------------------------------------ | | **Люди** | `id`, `email` | | **Компании** | `id`, `domain` | | **Пользовательские объекты** | `id`, а также любое поле, которое вы пометили как уникальное | **Перед импортом:** 1. Отсортируйте таблицу по уникальному полю (email или домен) 2. Удалите или объедините дублирующиеся строки 3. Проверьте наличие дубликатов, которые уже существуют в Twenty **Записи, помеченные как удалённые, учитываются при проверке уникальности.** Записи в Командном меню → Просмотреть удалённые записи вызовут ошибки из‑за дубликатов. Удалите их окончательно или восстановите и обновите. ## Шаг 4: Правильно отформатируйте каждый тип поля Разные типы полей требуют специфического формата. Полная справка: ### Текстовые поля * Специальное форматирование не требуется * Начальные и конечные пробелы автоматически удаляются ### Поля электронной почты * Должны быть в корректном формате email: `name@domain.com` * Должны быть уникальными (без дубликатов в файле и в Twenty) * Для дополнительных адресов используйте этот формат в столбце **Emails / Additional Emails**: ``` ["jane@twenty.com","jane.doe@twenty.com"] ``` ### Поля домена * **Рекомендуемый формат**: `https://domain.com` * Это соответствует формату, используемому синхронизацией почты/календаря (предотвращает дубликаты) * Заполните оба столбца: * **Domain / Domain Label**: `domain.com` * **Domain / Domain URL**: `https://domain.com` * Должны быть уникальными в вашем файле и в Twenty ### Поля телефона Телефон — это **вложенное поле**, требующее нескольких столбцов: | Столбец | Пример | | --------------------------------------- | ------------ | | **Phones / Primary Phone Number** | `4159095555` | | **Phones / Primary Phone Country Code** | `US` | | **Phones / Primary Phone Calling Code** | `+1` | ### Поля адреса Адрес — это **вложенное поле** с несколькими столбцами (некоторые можно оставить пустыми): * **Адрес / Адрес 1**: Первая строка адреса * **Адрес / Адрес 2**: Вторая строка адреса (необязательно) * **Адрес / Город**: Название города * **Адрес / Штат**: Штат или провинция * **Адрес / Страна**: Название страны * **Адрес / Почтовый индекс**: Почтовый индекс/ZIP-код ### Поля даты Используйте единый формат по всему файлу: * `YYYY-MM-DD` (рекомендуется): `2024-03-15` * ISO 8601: `2024-03-15T10:30:00Z` ### Числовые поля * Только числа (без текста) * Используйте точку в качестве десятичного разделителя: `1234.56` * Без разделителей тысяч (не `1,234.56`) ### Валютные поля Валюта — это **вложенное поле**, требующее двух столбцов, которые **оба должны быть заполнены**: | Столбец | Пример | | ------------------ | --------- | | **Сумма / Сумма** | `1234.56` | | **Сумма / Валюта** | `USD` | ### Булевы поля Используйте верхний регистр: `TRUE` или `FALSE` Строчные `true` или `false` не будут работать. ### Выбор полей Используйте **имя API** варианта, а не отображаемую метку. **Как найти имена API:** 1. Перейдите в **Настройки → Модель данных** 2. Выберите объект и поле 3. Включите **Расширенный режим** (переключатель внизу справа) 4. Скопируйте имя API (например, `OPTION_1`, а не "Option 1") Новые варианты списка не создаются автоматически. Добавьте их в **Настройки → Модель данных** перед импортом. ### Поля множественного выбора Используйте имена API в формате массива: ``` ["VALUE1","VALUE2"] ``` ### Поля массива Используйте формат массива JSON: ``` ["value1","value2"] ``` ### Поля рейтинга Используйте формат: `RATING_1`, `RATING_2`, `RATING_3`, `RATING_4` или `RATING_5` ### Поля ссылок/URL Заполните оба столбца: * **Ссылки / Метка ссылки**: `Twenty` * **Ссылки / URL ссылки**: `https://twenty.com` Для дополнительных ссылок используйте столбец **Ссылки / Дополнительные ссылки**: ``` [{"url":"https://twenty.com","label":"Twenty"}] ``` ### Поля JSON Используйте допустимый формат JSON: ``` {"key":"value","key2":"value2"} ``` ### Поля идентификаторов * **Необязательно**: Twenty автоматически генерирует идентификаторы, если они не указаны * **Формат**: UUID (например, `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`) * **Сценарий использования**: укажите идентификатор, чтобы обновить существующие записи вместо создания новых ## Шаг 5: Добавьте столбцы связей (если связываете записи) Чтобы связать записи с другими объектами (например, контакты с компаниями), добавьте столбец с уникальным идентификатором связанной записи. **Пример**: связывание контактов с компаниями Добавьте столбец в CSV контактов: ``` firstName,lastName,email,companyDomain John,Smith,john@acme.com,https://acme.com Jane,Doe,jane@widgets.co,https://widgets.co ``` **Важные правила для связей:** * Родительская запись должна уже существовать в Twenty * Используйте формат URL домена (`https://domain.com`), а не метку * Сопоставляйте только ОДИН уникальный идентификатор (не указывайте одновременно `companyId` И `companyDomain`) * Для участников рабочей области используйте их email (а не имя) **Порядок импорта имеет значение!** Сначала импортируйте сторону «один», затем сторону «многие»: 1. Сначала — **Компании** 2. Затем — **Контакты** (со ссылкой на компанию) 3. Третьими — **Возможности** Родительская запись должна существовать до того, как вы сможете на неё сослаться. См. [как импортировать связи](/l/ru/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) для подробных инструкций. ## Шаг 6: Убедитесь, что поля существуют в Twenty Импорт создаёт записи, а не поля. Все поля, которые вы хотите импортировать, должны уже существовать в вашей модели данных. **Перед импортом:** 1. Перейдите в **Настройки → Модель данных** 2. Выберите объект 3. Создайте все необходимые пользовательские поля 4. Запишите точные названия полей (они должны совпадать с заголовками столбцов) ## Шаг 7: Итоговый контрольный список Перед загрузкой файла убедитесь, что: Файл в формате CSV, XLSX или XLS В файле менее 10 000 записей Кодировка — UTF-8 Нет повторяющихся email-адресов (для контактов) или доменов (для компаний) Даты используют единый формат по всему файлу Домены в формате `https://domain.com` Булевы поля используют `TRUE` или `FALSE` (в верхнем регистре) Поля выбора используют имена API, а не отображаемые метки Все пользовательские поля существуют в Настройках → Модели данных Родительские записи импортированы до дочерних Столбцы связей ссылаются на существующие записи ## Распространённые ошибки, которых следует избегать | Ошибка | Решение | | ---------------------------------------------------- | -------------------------------------------------- | | Использование `true` вместо `TRUE` | Логические значения должны быть в верхнем регистре | | Использование отображаемых меток для полей выбора | Найдите и используйте имена API в Настройках | | Импорт контактов раньше компаний | Всегда импортируйте сначала родительские объекты | | Отсутствует код валюты для валютных полей | Заполните столбцы «Сумма» и «Валюта» | | Неверный формат домена | Последовательно используйте `https://domain.com` | | Сопоставление нескольких уникальных полей для связей | Сопоставляйте только ОДИН (домен ИЛИ id, не оба) | ## Следующие шаги Ваш файл готов! Теперь: * [Импорт компаний](/l/ru/user-guide/data-migration/how-tos/import-companies-via-csv) (сначала импортируйте их) * [Импорт контактов](/l/ru/user-guide/data-migration/how-tos/import-contacts-via-csv) * [Исправьте ошибки импорта](/l/ru/user-guide/data-migration/how-tos/fix-import-errors)