Использование в калькуляторе значений полей из других форм

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

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

Шаг 1

Для этого в настройках поля нужно открыть вкладку «Расширение», в ней вкладку «JS», и в поле «JS-код для публикации» вставить следующий код:

var field = page.getComponent(el);
field.on('change', function (event) {
window[field.variable] = field.value;
page.getComponentsByClass('use-global-variables').forEach(function (form) {
form.recalculate();
});
});

Шаг 2

Далее в настройках всех форм, где значение этого поля используется, нужно добавить класс use-global-variables.

Примечание

В редакторе такие калькуляторы, скорее всего, работать не будут — это нормально. Проверять нужно в предпросмотре или в публикации.