Проблема в методе OnDatasetCalcFields

Есть датасет, у него есть 3 поля типа DateTime и одно Calc поле типа Float.
Необходимо вычислись разница между датами (в годах) и записать ее в в Calc поле. Я выбрала дял датасет событие OnDatasetCalcFields.

function ds_MonthlyPaymentByPlaceOnDatasetCalcFields(Dataset) {
        MessageBox('1');       
        var DueDate = Dataset.ValAsDateTime('DueDate');
        var LastDate = Dataset.ValAsDateTime('LastDate ');
        var StartDate = Dataset.ValAsDateTime('StartDate');
       
        if (LastDate == null) Dataset.Values('MonthDiff') = (DueDate - StartDate).getMonth();
        else Dataset.Values('MonthDiff') = (LastDate - StartDate).getMonth();          
        MessageBox(Dataset.Values('MonthDiff'));
}

MessageBox('1') я вижу, а потом сразу выпадают ошибка :

Что я делают не так?

Нравится

2 комментария

Надо у этих трёх полей поставить галку "всегда выбирать в запросе" в SelectQuery.

Да, спасибо! Проблема решена.

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