Доброго времени суток коллеги. Я столкнулся с проблемой у меня есть функция:
calculateBalance: function() { var amount = this.get("UsrBudgetSales"); if (!amount) { amount = 0; } var paymentAmount = this.get("UsrFacticallySum"); if (!paymentAmount) { paymentAmount = 0; } var result = amount - paymentAmount; this.set("UsrEqualsBudget", result); }
Она сразу же ставит значение в поле, а нужно чтобы при нажатии на кнопку "Вычислить" вызывалась функция и присваивался значение в колонку "Остаток бюджета":
Не могу сделать проверку тут,
onPageClick: function(SetHelloAttribute, calculateBalance) { // if(какая-то проверка) { this.calculateBalance(); // }
Как я понял свойство set сразу же устанавливает значение в поле. А в methodName она вызывается?
dependencies: [ { columns: ["UsrBudgetSales", "UsrFacticallySum"], methodName: "calculateBalance" }
Буду благодарен разъяснение. Так как недавно начал изучать Creatio, мог ошибиться в общей логике. Спасибо
Нравится
Добрый вечер.
В dependencies в свойстве columns указываются поля, при изменении которых вызывается метод, описанный в methodName.
Обычно такая реализация используется для вычисляемых полей, подробный пример посмотрите в этой статье на Академии.
Таким образом для того, чтобы функция вызывалась только по нажатию кнопки Вам нужно полностью закомментировать блок dependencies и вызывать функцию только в обработчике нажатия кнопки [Вычислить].
Добрый вечер.
В dependencies в свойстве columns указываются поля, при изменении которых вызывается метод, описанный в methodName.
Обычно такая реализация используется для вычисляемых полей, подробный пример посмотрите в этой статье на Академии.
Таким образом для того, чтобы функция вызывалась только по нажатию кнопки Вам нужно полностью закомментировать блок dependencies и вызывать функцию только в обработчике нажатия кнопки [Вычислить].