Обидно, что ответа так и нет.
На самом деле задача следующая : есть формочка, на которую выведен список накладных, нужно выводить суммарный вес тех накладных, которые юзер помечает (выделяет), в отдельное окошко.
Решение я вроде нашел, но через задницу, простите. Повесил обсчет этого дела на OnTimer(). Т.е. написал туда следующее :
MyRec - переменная того же типа, что и Rec формы
MyRec.RESET;
MyRec.COPYFILTERS(Rec);
CurrForm.SETSELECTIONFILTER(MyRec);
MyRec.MARKEDONLY(TRUE);
IF MyRec.FIND('-') THEN
BEGIN
TotalShipmentWeight := 0;
REPEAT
TotalShipmentWeight += MyRec."Gross Weight";
UNTIL MyRec.NEXT = 0;
END
ELSE
TotalShipmentWeight := 0;
MyRec.CLEARMARKS;
CurrForm.TotalWeightIndicator.UPDATE;
В итоге в контроле TotalWeightIndicator вес честно отображается, но все-таки мне очень не нравится постоянно обсчитывать это дело через таймер.
Господа, может быть, кто-нибудь подскажет более приемлимый вариант?
|