Что такое связь
Связь: это способ соединить две таблицы так, чтобы строка одной указывала на строку другой. Это базовый приём аккуратного учёта: данные хранятся там, где описывают сущность, и не дублируются по всему пространству.
Что это даёт
Заголовок раздела «Что это даёт»Храните платежи отдельно от квартир, и доход по каждой квартире будет виден сразу.
Три житейских примера
Заголовок раздела «Три житейских примера»-
Аренда квартир.
- «Объекты недвижимости»: список квартир. У каждой есть адрес, цена, площадь.
- «Платежи аренды»: список платежей. У каждого платежа есть связь «Объект» → квартира.
- Хотите видеть, сколько принёс каждый объект? Группируйте платежи по этой связи.
-
Личные финансы.
- «Счета»: карты, депозиты, кошельки.
- «Транзакции» со связью «Счёт» → один из счетов.
- KPI «остаток по карте» сразу даст ответ.
-
Малый бизнес.
- «Контрагенты»: компании и физлица.
- «Сделки» со связью «Контрагент» → строка из «Контрагентов».
- Видите суммарный оборот по каждому контрагенту.
Чем отличается от тега и enum
Заголовок раздела «Чем отличается от тега и enum»| Признак | Связь | Список (enum) | Теги |
|---|---|---|---|
| Целевой объект является отдельной сущностью? | Да | Нет | Нет |
| У целевого есть свои поля? | Да (адрес, цена, описание) | Нет | Нет |
| Кратность | Одна ссылка на строку | Один из набора | Несколько |
| Управление списком значений | Целевая таблица (можно добавить, изменить, удалить) | Варианты в настройке поля | Растут по мере ввода |
| Группировка на дашборде | Да | Да | Частично |
Простое правило. Если у того, на что ссылается ваше поле, есть свои собственные поля (например, у «Контрагента» есть ИНН, телефон, адрес), нужна связь. Если это просто метка или категория, хватит списка или тегов.
Только «многие к одному»
Заголовок раздела «Только «многие к одному»»Sumvest поддерживает связь «многие к одному» (M:1): много строк дочерней таблицы указывают на одну строку родительской.
| M:1 поддерживается | M:N НЕ поддерживается |
|---|---|
| Много платежей → одна квартира | Несколько собственников → одна квартира с долями |
| Много сделок → один контрагент | Несколько тегов → много задач (используйте поле «Теги») |
| Много транзакций → один счёт | Многие ко многим в принципе |
Что это значит на пальцах. Если у вас много A и одна B на каждое A, это работает (связь добавляется в таблицу A и указывает на B). Если же у каждой A может быть несколько B и у каждой B несколько A, это M:N, и напрямую так нельзя. Обходной путь: промежуточная таблица «AB» с двумя связями, на A и на B.
Пошаговое создание
Заголовок раздела «Пошаговое создание»Возьмём пример «Объекты ↔ Платежи аренды».
- Создайте родительскую таблицу «Объекты недвижимости». Подробно в «Первая таблица». Поля: «Адрес», «Цена покупки», «Аренда в месяц» и т. д.
- Создайте дочернюю таблицу «Платежи аренды». Поля: «Дата платежа» (Дата), «Сумма» (Деньги).
- В «Платежах» на вкладке «Поля» добавьте поле:
- Название: «Объект»
- Тип: «Связь»
- Целевая таблица: «Объекты недвижимости»
- Нажмите «Создать поле».
- Добавьте платёж: в поле «Объект» выберите квартиру.
- На дашборде виджет по «Платежам» с разбивкой по «Объекту» покажет сумму платежей по каждой квартире.
Подробный гайд с акцентом на интерфейс есть в «Как создать связь».
Поведение при удалении родителя
Заголовок раздела «Поведение при удалении родителя»Если удалить строку-родителя, дочерние строки остаются, а ячейка связи в них становится пустой («—»). В виджетах такие строки попадут в группу без значения.
В формулах
Заголовок раздела «В формулах»Через точку к полям связанной строки в формуле не обратиться. Используйте «Поле из связанной таблицы». Подробнее в «Связи в формулах».
В виджетах
Заголовок раздела «В виджетах»- Таблица: связь показывается названием связанной строки.
- Столбцы, кольцо, топ: разбивка по связи даёт «по квартирам».
- Фильтр дашборда: работает по полю-связи, как по любому другому.
- Окно «Записи»: клик по столбцу покажет дочерние строки этой связи.
Ограничения
Заголовок раздела «Ограничения»- Только «многие к одному».
- Связь на ту же таблицу (например, «родительский объект») работает.
Частые ошибки
Заголовок раздела «Частые ошибки»- Забыли выбрать запись в связи. Дочерняя строка создаётся с пустой связью. В виджетах она попадёт в группу «без значения» или будет пропущена.
- Удалили родителя. Дочерние строки остались, но связь в них опустела. Заполните её заново.
- Выбрали не ту целевую таблицу. Проще создать новое поле-связь и перенести значения.
- Хотят M:N через связь. Не работает напрямую. См. workaround выше.