//Добавляем атрибуты и методы
attributes: {
"UsrDATE1": { //Поле куда будет записываться дата
dataValueType: Terrasoft.DataValueType.DATE, //Тип поля в зависимости от типа поля UsrDATE1
dependencies: [
{
columns: ["UsrDATE"], //Поле с первоначальной датой
methodName: "calculatedate"
}
]
}
},
methods: {
calculatedate: function() {
var D6 = this.get("UsrDATE"); //Поле с первоначальной датой
if (D6) {
var D7 = new Date ();
D7.setDate(D6.getDate() - 14); //14 количество дней, которые нужно отнять
this.set("UsrDATE1", D7);
}
}
},
Пример метода из статьи содержит ошибку, проверяется вводом в первоначальную дату даты одного числа месяца, а затем вводом нового значения увеличенного на любое количество месяцев. Для корректного расчета используйте setTime и getTime для правильного отнимания времени в милисекундах от первоначальной даты. Обновленный сalculatedate метод прилагаю ниже сalculatedate: function() {
var D6 = this.get("AccountClosingDate"); //Поле с первоначальной датой
if (D6) {
var D7 = new Date ();
D7.setTime(D6.getTime() - (24*60*60*1000)); //24*60*60*1000 =1 день- количество дней, которые нужно отнять
this.set("BalanceTransferDate", D7); //Поле где меняем дату от первоначальной
this.save({isSilent: true}); //сохраняем
}
},