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

# Обновление существующих записей через импорт

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

## Обзор

Нужно обновить много записей сразу? Вместо того чтобы редактировать их по одной, используйте импорт CSV для массового обновления существующих записей.

**Сценарии использования:**

* Обновить должности для нескольких людей
* Массово изменить информацию о компаниях
* Добавить данные в новые настраиваемые поля
* Исправить ошибки данных во множестве записей

## Как это работает

Когда вы импортируете файл, содержащий **уникальный идентификатор**, который совпадает с существующей записью, Twenty обновляет эту запись вместо создания дубликата.

| Если уникальный идентификатор... | Twenty выполнит...                                            |
| -------------------------------- | ------------------------------------------------------------- |
| Совпадает с существующей записью | **Обновит** существующую запись                               |
| Не совпадает ни с одной записью  | **Создаст** новую запись                                      |
| Отсутствует в вашем файле        | **Создаст** новую запись (с автоматически сгенерированным ID) |

<Warning>
  **Поля с множественным выбором перезаписываются, а не объединяются.**

  Если в записи выбраны `Option A` и `Option B`, и вы импортируете `["Option C"]`, после импорта в записи останется только `Option C`. Импорт заменяет все предыдущие выбранные значения — он не добавляет к ним новые.

  Чтобы сохранить существующие значения, включите их все в импорт: `["Option A","Option B","Option C"]`
</Warning>

## Шаг 1: Экспортируйте текущие данные

Сначала экспортируйте записи, которые хотите обновить:

1. Перейдите к объекту (Люди, Компании и т. д.)
2. **Добавьте нужные столбцы** — нажмите **Options → Fields**, чтобы отобразить поля, которые хотите обновить
3. **При необходимости примените фильтр** — сузьте выборку до тех записей, которые хотите обновить
4. Нажмите **⋮** → **Экспорт представления**
5. Сохраните файл CSV

<Note>**Зачем сначала экспорт?** Экспортированный файл имеет корректный формат, включает уникальные идентификаторы и автоматически сопоставляется при импорте.</Note>

### Что экспортируется

* Все видимые столбцы в текущем представлении
* Уникальные идентификаторы записи (`id`, `email`, `domain`)
* Текущие значения полей, которые можно изменить

## Шаг 2: Отредактируйте файл CSV

Откройте экспортированный файл в табличном редакторе (Excel, Google Sheets и т. д.):

1. **Сохраните столбец с уникальным идентификатором** — не удаляйте `id`, `email` или `domain`
2. **Обновите значения** в столбцах, которые хотите изменить
3. **Удалите столбцы, которые не нужно обновлять** (необязательно, но так будет аккуратнее)
4. **Не изменяйте значения уникальных идентификаторов** — иначе Twenty создаст новые записи

### Пример: обновление должностей

**Экспортированный файл:**

```csv theme={null}
id,email,firstName,lastName,jobTitle
550e8400-e29b-41d4-a716-446655440001,john@acme.com,John,Smith,Sales Rep
550e8400-e29b-41d4-a716-446655440002,jane@acme.com,Jane,Doe,Sales Rep
550e8400-e29b-41d4-a716-446655440003,bob@acme.com,Bob,Johnson,Sales Rep
```

**После ваших изменений:**

```csv theme={null}
id,email,firstName,lastName,jobTitle
550e8400-e29b-41d4-a716-446655440001,john@acme.com,John,Smith,Account Executive
550e8400-e29b-41d4-a716-446655440002,jane@acme.com,Jane,Doe,Senior Account Executive
550e8400-e29b-41d4-a716-446655440003,bob@acme.com,Bob,Johnson,Account Executive
```

<Warning>
  **Не изменяйте значения уникальных идентификаторов.**

  Если вы измените `john@acme.com` на `john.smith@acme.com`, Twenty создаст новую запись вместо обновления существующей.
</Warning>

## Шаг 3: Импортируйте обновлённый файл

1. Перейдите к объекту
2. Нажмите **⋮** → **Импорт записей**
3. Загрузите отредактированный файл CSV
4. **Убедитесь, что уникальный идентификатор сопоставлен** — проверьте, что `email`, `domain` или `id` сопоставлены корректно
5. Проверьте сопоставление полей
6. Проверьте наличие ошибок
7. Нажмите **Подтвердить**

Twenty сопоставляет записи по уникальному идентификатору и обновляет их новыми значениями.

## Выбор подходящего уникального идентификатора

| Объект                       | Рекомендуется         | Альтернатива | Заметки                                           |
| ---------------------------- | --------------------- | ------------ | ------------------------------------------------- |
| **Люди**                     | `электронная почта`   | `id`         | Email человекочитаем                              |
| **Компании**                 | `домен`               | `id`         | Домен человекочитаем                              |
| **Пользовательские объекты** | Любое уникальное поле | `id`         | Используйте своё пользовательское уникальное поле |

<Note>**Используйте только ОДИН уникальный идентификатор.** Не сопоставляйте одновременно `email` И `id`. Это может привести к путанице и ошибкам.</Note>

### Использование пользовательских уникальных полей

Если у вас есть пользовательское поле, помеченное как уникальное (например, внешний ID из другой системы):

1. Включите это поле в экспорт и импорт
2. Сопоставьте его при импорте
3. Twenty будет сопоставлять по этому полю

## Шаг 4: Проверьте обновления

После импорта:

1. Откройте несколько обновлённых записей
2. Убедитесь, что изменения применены
3. Проверьте, что не были созданы дубликаты записей

## Что с полями, которых нет в вашем файле?

**Поля, не включённые в файл импорта, остаются без изменений.**

| Ваш файл включает...         | Результат                                                       |
| ---------------------------- | --------------------------------------------------------------- |
| `email`, `jobTitle`          | Обновляется только `jobTitle`; остальные поля остаются прежними |
| `email`, `jobTitle`, `phone` | Обновляются `jobTitle` и `phone`                                |

Это означает, что нужно включать только те поля, которые вы хотите изменить (плюс уникальный идентификатор).

## Совмещение обновлений и новых записей

Вы можете обновлять существующие записи И создавать новые в одном и том же импорте:

```csv theme={null}
email,firstName,lastName,jobTitle
john@acme.com,John,Smith,Senior Manager    ← Updates existing (email matches)
newperson@acme.com,New,Person,Analyst      ← Creates new (email doesn't match)
```

## Распространённые ошибки, которых следует избегать

| Ошибка                                   | Проблема                                              | Результат                              | Решение                                                 |
| ---------------------------------------- | ----------------------------------------------------- | -------------------------------------- | ------------------------------------------------------- |
| **Изменение уникального идентификатора** | Заменили `john@acme.com` на `john.smith@acme.com`     | Создаёт новую запись вместо обновления | Не изменяйте уникальные идентификаторы                  |
| **Несколько уникальных полей**           | Сопоставлены одновременно `email` И `id`              | Возможные конфликты сопоставления      | Сопоставляйте только ОДИН уникальный идентификатор      |
| **Нет уникального идентификатора**       | В файле только `firstName`, `lastName`, `jobTitle`    | Все строки создают новые записи        | Всегда включайте `email`, `domain` или `id`             |
| **Несовпадение регистра**                | В файле `John@acme.com`, а в Twenty — `john@acme.com` | Создаёт новую запись                   | Экспортируйте из Twenty, чтобы получить точные значения |

## Часто задаваемые вопросы

<AccordionGroup>
  <Accordion title="Что, если некоторых записей ещё нет?">
    Записи с уникальными идентификаторами, которые не совпадают с существующими, будут созданы как новые. Это позволяет обновлять и создавать в одном импорте.
  </Accordion>

  <Accordion title="Можно ли очистить значение поля?">
    Да, оставьте ячейку пустой в вашем CSV. Импорт очистит значение этого поля в существующей записи.
  </Accordion>

  <Accordion title="Что происходит с полями, которые я не включаю в импорт?">
    Поля, отсутствующие в файле импорта, остаются без изменений в существующих записях. Обновляются только включённые вами поля.
  </Accordion>

  <Accordion title="Можно ли обновлять поля связей (например, Company)?">
    Да! Включите уникальный идентификатор связи (например, `companyDomain`) и сопоставьте его с полем связи. Связь будет обновлена.
  </Accordion>

  <Accordion title="Как узнать, какие записи будут обновлены, а какие созданы?">
    На этапе проверки импорта Twenty показывает, сколько записей будет обновлено и сколько создано, исходя из совпадений уникальных идентификаторов.
  </Accordion>

  <Accordion title="Можно ли отменить массовое обновление?">
    Автоматической отмены нет. Рекомендуем экспортировать ваши данные в качестве резервной копии перед массовыми обновлениями.
  </Accordion>
</AccordionGroup>

## Лучшие практики

1. **Сначала экспорт** — всегда начинайте с экспорта, чтобы обеспечить корректный формат
2. **Создайте резервную копию перед обновлением** — экспортируйте данные перед массовыми изменениями
3. **Протестируйте на нескольких записях** — сначала попробуйте обновить 5–10 записей, прежде чем делать большой пакет
4. **Используйте человекочитаемые идентификаторы** — `email` и `domain` легче проверить, чем `id`
5. **Включайте только нужные столбцы** — меньше столбцов означает меньший риск ошибок

## Устранение неполадок

Возникли проблемы? Проверьте:

* [Как исправить ошибки импорта](/l/ru/user-guide/data-migration/how-tos/fix-import-errors)
* [Ограничения уникальности](/l/ru/user-guide/data-migration/capabilities/uniqueness-constraints)
* [Справочник по сопоставлению полей](/l/ru/user-guide/data-migration/capabilities/field-mapping)
