Публикация

Отнять дни на странице

//Добавляем атрибуты и методы
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);
        }
    }
},

 

Нравится

Поделиться

1 комментарий

Пример метода из статьи содержит ошибку, проверяется  вводом в первоначальную дату даты одного числа месяца, а затем вводом нового значения увеличенного на любое количество месяцев. Для корректного расчета  используйте  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}); //сохраняем

        }

    }, 

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