Доброго времени суток!
Существует времення таблица
RMETmpSubLotLog
Необходимо реализовать контроль ввода значений в поле amount.
Правило проверки
select sum(amount) from tmp;
if (tmp.Amount >= element.getLimit())
Сумма по колонке (полю) не должна превышать определенного значения.
Проблема в том, что select sum(amount) from tmp не учитывает новое введенное значение, а только лишь старые данные, введенные за одну операцию до этого.
Проверка реализована в методе validate соответствующего DataSourc-a (RMETmpSubLotLog_ds.cursor()) Как решить проблему, подскажите! =)
PHP код:
public boolean validate() {
boolean ret;
RMETmpSubLotLog tmp;
;
ret = super();
tmp.setTmpData(RMETmpSubLotLog_ds.cursor());
select sum(amount) from tmp; // return sum = before modification!!!
if (tmp.Amount >= element.getLimit()) {
box::info('Overflow limit', 'Info');
retrun false;
}
return ret;
}