Plotnikov Y wrote:

Не, не, робяты. Есть жизненная ситуевина. Допустим имеем фастрепорт и нам нада вывалить:

хидер, в нем прописать начальное сальдо
мастер дата - данные из датасету
футер, в нем конечное сальдо

В исходном вопросе-запросе чота я не углядел начального и конечного, а сплошь во всех строчках одно и то же.

И вот датасет у нас один и колонки с сальдом можно заполнить одним значением. В хидер попадут из первой строчки, в футер из последней.

Можно конечно сделать по человечески - сальда в одном датасете, данные в другом, но так тоже работает и в принципе удобно.

Что бы сервак ни делал, лишь бы затрахался :) Нехай считает одно и то же столько раз, сколько строчек. Вот так и родятся сказки, легенды и тосты о всяческих тормозах всяческих серверов. А чо, мне, в принципе, удобно...

В процедуре особенно, когда в начале посчитал, а потом оно по суспенду вываливается само.

В процедуре - другое дело. Когда ты набираешь суммы построчно именно по тому ограниченному набору данных, которые и извлекаешь, ручным агрегированием, не гоняя сервак туда-сюда-обратно. Кстати, на клиенте тоже не так уж сложно организовать в OnCalcFields, с флажками малехо поупражняться. Особенно для репорта, где проход однократный и однонаправленный. Но это всё решения той задачи, которую решаешь ты, а не вопрошающий ;) А уж просто конечные суммы - сам бог велел собрать однократно отдельным запросом и сунуть в TQRLabel в футере (это про Quick, который смутно помню, а с Fast я сам уже не работал, ибо не боярское это дело ;) ). А если таки надо в каженной строчке, то опять же однократно посчитать и пхать в калькулируемое поле.

--
Regards. Ded.

Ответить