Есть датасет, у него есть 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');
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 комментария
28 мая 2013 13:46
Надо у этих трёх полей поставить галку "всегда выбирать в запросе" в SelectQuery.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать