Использование в калькуляторе значений полей из других форм
Иногда бывает необходимо в калькуляторе одной формы вставить значение поля, которое находится в какой-нибудь другой формы.
То есть значения некоторых полей становятся «глобальными», и доступны в калькуляторах всех форм на странице.
Шаг 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
.
Примечание
В редакторе такие калькуляторы, скорее всего, работать не будут — это нормально. Проверять нужно в предпросмотре или в публикации.