Изображение удалено.

 

 

Доброго времени суток коллеги. Я столкнулся с проблемой у меня есть функция:

 

 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, мог ошибиться в общей логике. Спасибо

Нравится

2 комментария
Лучший ответ

Добрый вечер.

 

В dependencies в свойстве columns указываются поля, при изменении которых вызывается метод, описанный в methodName.

Обычно такая реализация используется для вычисляемых полей, подробный пример посмотрите в этой статье на Академии.

 

Таким образом для того, чтобы функция вызывалась только по нажатию кнопки Вам нужно полностью закомментировать блок dependencies и вызывать функцию только в обработчике нажатия кнопки [Вычислить].

Добрый вечер.

 

В dependencies в свойстве columns указываются поля, при изменении которых вызывается метод, описанный в methodName.

Обычно такая реализация используется для вычисляемых полей, подробный пример посмотрите в этой статье на Академии.

 

Таким образом для того, чтобы функция вызывалась только по нажатию кнопки Вам нужно полностью закомментировать блок dependencies и вызывать функцию только в обработчике нажатия кнопки [Вычислить].

Алла Савельева, Все сработало. Благодарю

Показать все комментарии