> ## 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.

# Ограничения уникальности

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

export const VimeoEmbed = ({videoId, title = 'Video'}) => <div style={{
  padding: '69.01% 0 0 0',
  position: 'relative',
  margin: '32px 0px',
  borderRadius: '16px',
  overflow: 'hidden',
  border: '2px solid black'
}}>
    <iframe src={`https://player.vimeo.com/video/${videoId}?autoplay=1&loop=1&autopause=0&background=1&app_id=58479`} frameBorder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write" style={{
  position: 'absolute',
  top: 0,
  left: 0,
  width: '100%',
  height: '100%',
  transform: 'scale(1.1)'
}} title={title} />
  </div>;

## Обзор

Twenty обеспечивает уникальность для определённых полей, чтобы предотвратить дублирование записей и обеспечить целостность данных. Понимание этих ограничений важно для успешного импорта.

## Уникальные поля по умолчанию

| Объект                       | Уникальные поля            |
| ---------------------------- | -------------------------- |
| **Люди**                     | `id`, `email`              |
| **Компании**                 | `id`, `domain`             |
| **Пользовательские объекты** | Только `id` (по умолчанию) |

<Note>Поле `id` — внутренний идентификатор Twenty, автоматически создаётся для каждой записи. Используется формат UUID (например, `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>

## Пользовательские уникальные поля

Вы можете задать дополнительные уникальные поля в разделе **Настройки → Модель данных**:

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

### Сценарии использования пользовательских уникальных полей

* **Внешние идентификаторы**: храните идентификаторы из других систем (Salesforce ID, HubSpot ID)
* **Бизнес-идентификаторы**: номера сотрудников, коды клиентов
* **Альтернативные контактные данные**: профиль LinkedIn, номер телефона

<Note>Имя поля `id` зарезервировано для внутреннего идентификатора Twenty. Для внешних идентификаторов используйте другое имя, например `externalId` или `legacyId`.</Note>

## Поведение при импорте

### Создание новых записей

Если значение уникального поля отсутствует, создаётся новая запись.

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

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

### Записи, помеченные как удалённые

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

  Записи, помеченные как удалённые (видны в Командном меню → Показать удалённые записи), учитываются при проверке уникальности. Если вы импортируете запись с тем же уникальным значением, что и у удалённой записи, удалённая запись будет **восстановлена** с новыми данными.
</Warning>

## Обнаружение дубликатов при импорте

На этапе проверки:

* Дубликаты в вашем файле подсвечиваются жёлтым
* Вы можете отредактировать или удалить строки-дубликаты в интерфейсе перед началом импорта

<VimeoEmbed videoId="1145246326" title="Видеодемонстрация" />

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

1. **Удалите дубликаты** из файла перед импортом
2. **Проверьте наличие существующих записей** в Twenty перед импортом
3. **Используйте внешние идентификаторы** при миграции из других систем
4. **Указывайте уникальные поля**, если хотите обновлять существующие записи
