> ## Documentation Index
> Fetch the complete documentation index at: https://docs.get-clara.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Устранение ошибок импорта

> Полное руководство по устранению ошибок импорта CSV.

## Обзор

Импорт не работает? Это руководство поможет вам поэтапно выявлять и устранять распространённые ошибки импорта.

## Как работает проверка импорта

После загрузки файла и сопоставления столбцов Twenty проверяет ваши данные:

1. **Запускается проверка** — Twenty проверяет каждую строку на ошибки
2. **Ошибки подсвечиваются** — проблемные строки отображаются **жёлтым**
3. **Исправляйте на месте** — редактируйте ячейки прямо в интерфейсе импорта
4. **Или удалите строки** — полностью пропустите проблемные записи

<Note>**Исправляйте ошибки в интерфейсе.** Вам не нужно возвращаться к своей таблице. Редактируйте ячейки прямо во время импорта, чтобы сэкономить время.</Note>

## Пошаговое устранение неполадок

### Шаг 1: Определите тип ошибки

Нажмите на подсвеченную строку, чтобы увидеть конкретное сообщение об ошибке. Распространённые типы ошибок:

| Сообщение об ошибке                                                                      | Что это означает                                                      |
| ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| Дублирующиеся значения, подсвеченные жёлтым                                              | Значение уже существует в Twenty или встречается дважды в вашем файле |
| `{field} не является допустимым {type}` (наведите курсор на жёлтую ячейку)               | Данные не соответствуют ожидаемому формату                            |
| Подсвечено обязательное поле                                                             | Обязательное поле пусто                                               |
| `Не удаётся подключиться к {object}. Уникальная запись не найдена...` (импорт не удался) | Связанная запись не существует                                        |
| `Слишком много записей. Разрешено не более 10000` (загрузка заблокирована)               | В файле более 10 000 записей                                          |

### Шаг 2: Исправьте ошибку

Следуйте приведённым ниже инструкциям для каждого типа ошибки.

***

## Ошибка: Дублирующееся значение

### Что вы увидите

Строки с дублирующимися значениями **подсвечиваются жёлтым** в интерфейсе импорта до начала импорта.

### Что это означает

Уникальное поле (email, домен) либо:

* Уже существует в Twenty
* Встречается дважды в вашем файле

### Как исправить

**Вариант 1: Измените дублирующееся значение**

1. Нажмите на ячейку с ошибкой
2. Измените на уникальное значение
3. Продолжайте импорт

**Вариант 2: Удалите строку-дубликат**

1. Нажмите X рядом со строкой
2. Эта строка будет пропущена при импорте

**Вариант 3: Разрешите Twenty обновить существующую запись**

1. Убедитесь, что ваш файл содержит уникальный идентификатор (`email`, `domain` или `id`)
2. Сопоставьте поле уникального идентификатора
3. Twenty обновит существующую запись вместо создания дубликата

<Note>
  **Можно обновлять и уникальные поля.**

  * Если вы оставите `id`, но измените `email` → адрес электронной почты будет обновлён
  * Если вы оставите `email`, но измените `id` → идентификатор будет обновлён

  Пока совпадает хотя бы один уникальный идентификатор, Twenty обновит запись.
</Note>

### Как предотвратить эту ошибку

Перед импортом:

1. Отсортируйте таблицу по уникальному полю
2. Удалите строки-дубликаты
3. Проверьте, существуют ли записи уже в Twenty

<Warning>
  **Записи, помеченные как удалённые, учитываются при проверке уникальности.**

  Откройте Командное меню → Просмотреть удалённые записи. Записи там по-прежнему учитываются при проверке уникальности. Удалите их окончательно или восстановите и обновите.
</Warning>

Подробнее: [Ограничения уникальности](/l/ru/user-guide/data-migration/capabilities/uniqueness-constraints)

***

## Ошибка: Неверный формат

### Что вы увидите

Значение ячейки подсвечено жёлтым. Наведите на него курсор, чтобы увидеть сообщение об ошибке:

```
{field name} — недопустимое значение для {field type}
```

### Что это означает

Данные не соответствуют ожидаемому формату для этого типа поля.

### Как исправить — по типам полей

#### Электронная почта

**Проблема:** Неверный формат email
**Решение:** Используйте формат `name@domain.com`

```
❌ john.smith@
❌ john smith@acme.com
✓ john.smith@acme.com
```

#### Домен

**Проблема:** Несогласованный формат может вызывать дубликаты
**Решение:** Используйте формат `https://domain.com` (рекомендуется)

```
⚠️ acme.com         (valid, but not recommended)
⚠️ www.acme.com     (valid, but not recommended)
✅ https://acme.com  (recommended)
```

<Note>Все форматы допустимы, но `https://domain.com` рекомендуется, потому что он соответствует формату, используемому при синхронизации почты/календаря. Использование других форматов может привести к созданию дублирующихся компаний.</Note>

#### Дата

**Проблема:** Нераспознанный формат даты
**Решение:** Используйте формат `YYYY-MM-DD` последовательно по всему файлу

```
✓ 2024-03-15        (YYYY-MM-DD)
❌ 03/15/2024        (MM/DD/YYYY)
❌ 15/03/2024        (DD/MM/YYYY)
```

#### Телефон

**Проблема:** Отсутствуют обязательные столбцы
**Решение:** Добавьте все столбцы для телефонов

| Столбец                                        | Пример       |
| ---------------------------------------------- | ------------ |
| **Телефоны / Основной номер телефона**         | `4159095555` |
| **Телефоны / Код страны основного номера**     | `US`         |
| **Телефоны / Телефонный код основного номера** | `+1`         |

#### Логический тип

**Проблема:** Неверное логическое значение
**Решение:** Используйте прописные `TRUE` или `FALSE`

```
❌ true
❌ yes
❌ 1
✓ TRUE
✓ FALSE
```

#### Выбор / Множественный выбор

**Проблема:** Значение не совпадает с существующими опциями
**Решение:** Используйте **имена API**, а не отображаемые метки

Как найти имена API:

1. Перейдите в **Настройки → Модель данных**
2. Выберите объект и поле
3. Включите **Расширенный режим** (переключатель внизу справа)
4. Используйте имя API (например, `OPTION_1`, а не "Option 1")

```
❌ High Priority
✓ HIGH_PRIORITY
```

#### Валюта

**Проблема:** Отсутствует сумма или код валюты
**Решение:** Заполните оба столбца

| Столбец            | Пример    |
| ------------------ | --------- |
| **Сумма / Сумма**  | `1234.56` |
| **Сумма / Валюта** | `USD`     |

#### Число

**Проблема:** Нечисловые символы
**Решение:** Только цифры, точка для десятичных дробей

```
❌ $1,234.56
❌ 1,234.56
✓ 1234.56
```

Полная справка по форматам: [Справочник по сопоставлению полей](/l/ru/user-guide/data-migration/capabilities/field-mapping)

***

## Ошибка: Отсутствует обязательное поле

### Что вы увидите

Строка подсвечена жёлтым, а ячейка обязательного поля отмечена.

### Что это означает

В этой строке не заполнено обязательное поле.

### Как исправить

**Вариант 1: Введите значение**

1. Нажмите на пустую ячейку
2. Введите значение
3. Продолжайте импорт

**Вариант 2: Удалите строку**

1. Если данных нет, нажмите X, чтобы пропустить строку

### Как предотвратить эту ошибку

Перед импортом определите обязательные поля:

1. Перейдите в **Настройки → Модель данных**
2. Выберите ваш объект
3. Проверьте, какие поля помечены как обязательные

***

## Ошибка: Связь не найдена

### Что вы увидите

Эта ошибка возникает **после начала импорта** — импорт завершается с сообщением вроде:

```
Can't connect to company. No unique record found with condition: id = 7776ee49-f608-4a77-8cc8-6fe96ae1e43f
```

Это означает, что в Twenty нет компании с таким идентификатором.

<Note>В отличие от других ошибок, эта не обнаруживается на этапе проверки данных. Импорт начнётся, а затем завершится с ошибкой, когда встретит отсутствующую связь.</Note>

### Что это означает

Вы пытаетесь сослаться на запись, которой не существует в Twenty.

### Как исправить

**Вариант 1: Сначала импортируйте родительские записи**

1. Отмените текущий импорт
2. Импортируйте родительские записи (например, Компании)
3. Затем импортируйте дочерние записи (например, Контакты)

**Вариант 2: Исправьте ссылочное значение**

1. Проверьте ссылочное значение в вашем файле
2. Убедитесь, что оно в точности совпадает с существующей записью
3. Проверьте формат: домены должны быть в виде `https://domain.com`

**Вариант 3: Удалите связь**

1. Очистите ячейку, чтобы импортировать без связи
2. Добавьте связь вручную позже

### Как предотвратить эту ошибку

1. **Импортируйте в правильном порядке:**
   * Сначала — Компании
   * Затем — Контакты (со ссылками на компании)
   * Третьими — Возможности

2. **Проверьте ссылочные значения:**
   * Экспортируйте родительские записи, чтобы получить точные идентификаторы
   * Используйте формат домена `https://domain.com`
   * Проверьте опечатки и учтите регистр

<Warning>
  **Импорт завершится с ошибкой, если ссылка указывает на несуществующую запись.**

  Всегда импортируйте родительские объекты перед дочерними объектами.
</Warning>

Подробнее: [Импорт связей](/l/ru/user-guide/data-migration/capabilities/import-relations)

***

## Ошибка: Слишком большой файл

### Что вы увидите

Эта ошибка появляется **при загрузке файла** — загрузка полностью блокируется:

```
Слишком много записей. Разрешено не более 10000
```

Вы не сможете перейти к этапу проверки данных, пока не уменьшите размер файла.

### Что это означает

В вашем файле более 10 000 записей.

### Как исправить

**Вариант 1: Разделите на несколько файлов**

1. Разделите данные на файлы по 10 000 записей или меньше
2. Импортируйте каждый файл отдельно
3. Соблюдайте порядок импорта (Компании перед Контактами)

**Вариант 2: Используйте импорт через API**
Для очень больших наборов данных используйте API, у которого нет ограничения по количеству записей.
См.: [Как импортировать данные через API](/l/ru/user-guide/data-migration/how-tos/import-data-via-api)

***

## Ошибка: Поле не распознано

### Что это означает

Столбец в вашем файле нельзя сопоставить, потому что такого поля нет в Twenty.

### Как исправить

1. Перейдите в **Настройки → Модель данных**
2. Выберите объект, который вы импортируете
3. Нажмите **+ Добавить поле**
4. Создайте настраиваемое поле с соответствующим типом
5. Загрузите файл повторно

<Note>Импорт CSV создаёт записи, а не поля. Все поля должны существовать до начала импорта.</Note>

***

## Ошибка: Пустая связь с пользователем

### Что это означает

Вы пытаетесь назначить запись пользователю (Owner, Assignee), но связь не сопоставляется.

### Распространённые причины

1. **Пользователь не принял приглашение** — пользователь ещё не существует в Twenty
2. **Используется ID пользователя из старой системы** — Twenty не может сопоставить идентификаторы из другой системы
3. **Неверный формат email** — адрес электронной почты не совпадает с аккаунтом пользователя в Twenty

### Как исправить

1. Убедитесь, что все пользователи **приняли приглашение** в ваше рабочее пространство Twenty
2. Используйте **адрес электронной почты** пользователя (не его имя и не ID из старой системы)
3. Используйте тот же адрес электронной почты, который использовался для присоединения к Twenty

<Warning>
  **Пользователи должны принять приглашения до начала импорта.**

  Если пользователь не принял приглашение, у записей, ссылающихся на него, будет пустая пользовательская связь.
</Warning>

***

## Контрольный список перед импортом

Избегайте ошибок, проверив следующее перед импортом:

### Требования к файлу

<Check>Файл в формате CSV, XLSX или XLS</Check>
<Check>В файле менее 10 000 записей</Check>
<Check>Файл использует кодировку UTF-8</Check>

### Качество данных

<Check>Нет дублирующихся адресов электронной почты (для Контактов)</Check>
<Check>Нет дублирующихся доменов (для Компаний)</Check>
<Check>Все даты используют единый формат</Check>
<Check>Все домены в формате `https://domain.com`</Check>

### Форматы полей

<Check>Логические поля используют `TRUE` или `FALSE` (прописные)</Check>
<Check>Поля типа Select используют имена API, а не отображаемые метки</Check>
<Check>Телефонные поля содержат все обязательные столбцы</Check>
<Check>Поля валюты содержат и сумму, и код валюты</Check>

### Связи

<Check>Родительские записи импортированы до дочерних записей</Check>
<Check>Столбцы со связями ссылаются на существующие записи</Check>
<Check>Формат домена точно соответствует формату Twenty</Check>

### Модель данных

<Check>Все настраиваемые поля существуют в Настройки → Модель данных</Check>
<Check>Опции для Select созданы до импорта</Check>

***

## Всё ещё возникают проблемы?

Если вы попробовали решения выше:

1. **Скачайте пример файла** — посмотрите точный формат, который ожидает Twenty
2. **Экспортируйте существующие записи** — сравните свой файл с рабочими данными
3. **Протестируйте на небольшой выборке** — сначала попробуйте 5–10 строк
4. **Ознакомьтесь со справочными статьями:**
   * [Справочник по сопоставлению полей](/l/ru/user-guide/data-migration/capabilities/field-mapping)
   * [Ограничения уникальности](/l/ru/user-guide/data-migration/capabilities/uniqueness-constraints)
   * [Импорт связей](/l/ru/user-guide/data-migration/capabilities/import-relations)
   * [Обработка ошибок](/l/ru/user-guide/data-migration/capabilities/error-handling)
