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