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

Вычисляемые значения

Вычисляемое значение — это «переменная-калькулятор»: его значение не вводят вручную, а оно само рассчитывается на основе других параметров и переменных. Это инструмент для аккуратной и масштабируемой настройки сложных модулей. В этой статье разберём, зачем он нужен и как им пользоваться.

Чем вычисляемое значение отличается от переменной

Заголовок раздела «Чем вычисляемое значение отличается от переменной»
  • Переменная — это то, что задаёт человек (выбирает из списка, ставит галочку, вводит число).
  • Вычисляемое значение — это то, что система сама считает по формуле из других данных.

Простой пример: пользователь выбирает общую ширину шкафа (переменная), а ширина каждого внутреннего отсека (вычисляемое значение) рассчитывается автоматически.

Принцип работы вычисляемых значений и их зависимостей

Главная польза — не дублировать длинные формулы. Если одно и то же сложное выражение встречается в нескольких местах модуля, вынесите его в вычисляемое значение один раз и ссылайтесь на него везде.

Это даёт:

  • меньше дублирования — формула в одном месте;
  • читаемость — вместо громоздкого выражения в детали стоит понятное имя;
  • простоту правок — поменяли логику в одном месте, обновилось везде;
  • меньше объектов — конфигурация проще и легче для системы.

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

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

Что можно использовать в вычисляемых значениях

Заголовок раздела «Что можно использовать в вычисляемых значениях»

В формуле вычисляемого значения можно ссылаться на:

  • переменные модуля и глобальные;
  • размеры (свои и родительских элементов);
  • другие, вышестоящие вычисляемые значения;
  • толщины материалов.

Доступны все математические функции: арифметика, округление, минимум/максимум, тригонометрия и т. д.

У вычисляемого значения можно задать условия применения — то есть оно будет считаться по-разному в зависимости от переменных. Это позволяет управлять не только числом, но и тем, когда это число вообще используется.

Допустим, ширина корпуса модуля зависит от общей ширины и от выбранного типа боковин:

  1. Создаёте вычисляемое значение «Ширина корпуса».
  2. Записываете формулу: общая ширина минус отступы, с учётом переменной «Боковины».
  3. В деталях боковин, дна и полок ссылаетесь на «Ширина корпуса» вместо того, чтобы каждый раз писать всю формулу заново.

Теперь, если логика расчёта ширины поменяется, вы правите её в одном месте.

В простой базе вычисляемые значения могут почти не понадобиться — хватает обычных формул в деталях. Но как только модуль усложняется и формулы начинают повторяться, без вычисляемых значений быстро начинается путаница. Это инструмент «на вырост».

Вычисляемое значение — это автоматический расчёт, который вы один раз описываете и переиспользуете по всему модулю. Оно убирает дублирование, делает конфигурацию читаемой и облегчает правки. Главное — помнить, что значения считаются сверху вниз, поэтому зависимые ставьте ниже тех, от кого они зависят.