snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,177 @@
---
title: Модель данных
description: Узнайте, что такое модель данных и как спроектировать её под ваш бизнес.
---
## Что такое модель данных?
Модель данных — это структура, определяющая, как информация организована в вашей CRM. Представьте это как **чертёж** ваших данных о клиентах — вы проектируете его один раз, а затем заполняете фактическими данными.
## Ключевые понятия
### Объекты
**Объекты** — это основные категории данных в вашей CRM. Каждый объект представляет тип сущности, которую вы хотите отслеживать.
В Twenty предусмотрены стандартные объекты:
* **People** — физические лица (контакты, лиды, партнёры)
* **Companies** — организации
* **Opportunities** — сделки или продажи
* **Примечания** — заметки, прикрепленные к записям
* **Tasks** — задачи, связанные с записями
Вы также можете создать **пользовательские объекты** для всего, что специфично для вашего бизнеса (например, Projects, Subscriptions, Events).
### Поля
**Поля** — это свойства или атрибуты, которые описывают каждый объект. Они хранят фактическую информацию.
Например, у объекта **People** есть такие поля, как:
* Имя
* Электронная почта
* Телефон
* Должность
* Company (связь с объектом Companies)
Поля имеют разные **типы**: текст, число, дата, список, множественный выбор, связь и другие. Вы можете добавлять пользовательские поля к любому объекту.
### Записи
**Записи** — это отдельные элементы внутри объекта — реальные данные, которые вы создаёте и которыми управляете.
Например:
* "John Smith" — это **запись** в объекте People
* "Acme Corp" — это **запись** в объекте Companies
**Аналогия:**
| Концепция модели данных | Аналогия из реального мира |
| ----------------------- | ---------------------------------------------- |
| **Объекты** | Разделы в книге (категории) |
| **Поля** | Столбцы в электронной таблице (свойства) |
| **Записи** | Строки в электронной таблице (реальные записи) |
Вы проектируете модель данных (объекты + поля) один раз, затем создаёте множество записей в рамках этой структуры.
## Зачем настраивать вашу модель данных?
Каждый бизнес работает по-своему. Настройка вашей модели данных означает, что вы можете адаптировать Twenty под **ваши** процессы, а не загонять их в жёсткую систему.
Twenty предоставляет полную гибкость:
* Создавайте столько пользовательских объектов, сколько вам нужно
* Добавляйте неограниченное количество пользовательских полей
* Цена не меняется в зависимости от настроек
## Советы по проектированию вашей модели данных
### 1. Начните с основных объектов
Определите основные сущности, с которыми вы работаете. В Twenty уже предусмотрено:
* **People** — ваши контакты
* **Companies** — ваши компании
* **Opportunities** — ваши сделки
Подумайте, что ещё может понадобиться:
* Stripe нужен объект `Subscriptions`
* Airbnb нужен объект `Trips`
* Акселератору нужен объект `Batches`
### 2. Используйте поля для вариаций, а не новые объекты
Если что-то является лишь характеристикой существующего объекта, сделайте это **полем**.
**Используйте поля для:**
* Категорий и меток (например, `Industry` для Companies)
* Значений статуса (например, `Stage` для Opportunities)
* Атрибутов и свойств
### 3. Создавайте объект, если он существует сам по себе
Если у концепции есть свой жизненный цикл, свойства или отношения, она заслуживает отдельного объекта.
**Создавайте объект для:**
* **Projects** — со сроками, владельцами и задачами
* **Subscriptions** — связывают компании, продукты и счета
* **Events** — включают участников и последующие действия
Они выходят за рамки одного поля, поскольку несут свои данные и связи.
### 4. Создавайте объект, когда число записей не ограничено
Если что-то может связываться многократно, и вы не знаете, сколько раз, используйте объект.
**Плохой подход:**
Создание полей вроде `Product 1`, `Product 2`, `Product 3`...
**Хороший подход:**
Создайте объект `Products` и свяжите его с записями. Таким образом, вы можете поддерживать один, два или сто товаров без изменения вашей модели.
### 5. Сначала — простота
Начните с полей. Переходите к новым объектам только когда почувствуете ограничения:
* Слишком много полей в одном объекте
* Повторяющиеся записи, которые должны быть отдельными
* Связи, которые не вписываются должным образом
## Специальная заметка по Людям, Компаниям и Возможностям
<Warning>
**Синхронизация электронной почты и календаря работает только с Людьми, Компаниями и Возможностями.**
Это единственные объекты, в которых вы можете получить доступ к синхронизированным письмам и встречам из вашего почтового ящика/календаря. Рекомендуем по возможности использовать их.
</Warning>
**Лучшие практики:**
* Если вам нужны категории Людей, используйте поля (а не новые объекты)
* Пример: используйте поле `Person Type` со значениями "Потенциальный клиент" и "Партнёр" вместо создания отдельных объектов
* Создайте разные **представления** для фильтрации: одно — для партнёров, другое — для потенциальных клиентов
**Допустимо иметь поля, которые применимы не к каждой записи.** Например, поле `Referral Link` у Людей, которое применяется только когда `Person Type = Partner`. Скройте это поле в представлениях, где оно не актуально.
## Вопросы, которые помогут сделать выбор
Спросите себя:
<Check>Является ли это просто свойством того, что у меня уже есть, или ему нужны свои собственные свойства?</Check>
<Check>Понадобится ли мне когда-нибудь отслеживать несколько таких для одной записи, не зная заранее, сколько?</Check>
<Check>Связывается ли эта концепция с несколькими разными объектами, а не только с одним?</Check>
<Check>Будет ли у неё собственный жизненный цикл (стадии, даты начала/окончания)?</Check>
Если хотя бы на один из них ответ «да», вероятно, пришло время для нового объекта.
## Доступ к вашей модели данных
1. Перейдите в **Настройки** в левой боковой панели
2. Нажмите **Модель данных**
3. Просмотрите все ваши объекты (стандартные и пользовательские)
4. Нажмите любой объект, чтобы просмотреть и отредактировать его поля
<Note>
**Не видите «Модель данных» в настройках?**
Доступ к модели данных обычно ограничен администраторами. Свяжитесь с администратором рабочего пространства, если вам нужен доступ.
</Note>
## Следующие шаги
После того как вы спланировали модель данных:
* [Как создать пользовательские объекты](/l/ru/user-guide/data-model/how-tos/create-custom-objects)
* [Как создать пользовательские поля](/l/ru/user-guide/data-model/how-tos/create-custom-fields)
* [Как создать поля связей](/l/ru/user-guide/data-model/how-tos/create-relation-fields)
## Нужна Помощь?
<Tip>
Нужна помощь в проектировании вашей модели данных? [Найти сертифицированного партнера](https://twenty.com/partners/list?categories=SOLUTIONING\&ref=docs-data-model) для проектирования и построения ваших объектов, полей и отношений.
</Tip>