Перейти к содержимому

Связи в формулах

Через точку к полям связанной строки в формуле не обратиться: [Объект].Цена не работает. Есть три рабочих пути.

1. Поле из связанной таблицы (главный способ)

Заголовок раздела «1. Поле из связанной таблицы (главный способ)»

Добавьте в дочернюю таблицу «Поле из связанной таблицы». Оно покажет нужное значение прямо в строке, и формула прочитает его как обычное поле.

Пример. В «Платежах аренды» есть связь «Объект». Нужна доля платежа от цены квартиры.

  1. Добавьте поле «Цена объекта»: тип «Поле из связанной таблицы», через связь «Объект», целевое поле «Цена покупки».
  2. Добавьте формулу:
[Сумма] / [Цена объекта] * 100

Часто «использовать поле родителя в формуле» на самом деле означает итог по группе. Это делается виджетом, а не формулой.

«Доход по каждой квартире»:

  • виджет «Столбчатый график» по таблице «Платежи аренды»;
  • колонка «Сумма», «Как»: «Сложить»;
  • «Разбить по»: «Объект».

Если значение нужно найти не по связи, а по совпадению ключа (например, цену по тикеру), в расчёте виджета есть шаг «Значение из справочника» и функция lookup (ВПР):

SUM([Сделки.Количество] * LOOKUP([Сделки.Тикер], [Рыночные цены.Тикер], [Рыночные цены.Цена]))

Подробнее в «Биржевые цены в формулах».

  • [Объект].Цена и любой доступ через точку.
  • Посчитать в родительской таблице колонку «сумма платежей по этой квартире». Такой итог считает виджет с разбивкой по связи.
  • Фильтр внутри функции вроде sum(… where …). Отбор строк делается условием «Какие записи» в виджете.
  • Пишут [Объект].Цена * 12. Редактор покажет ошибку. Добавьте поле из связанной таблицы.
  • Копируют цену квартиры в каждый платёж вручную. При изменении цены копии разъедутся. Поле из связанной таблицы обновится само.