Не знаю, как назвать тему :)

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Serges
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49

Не знаю, как назвать тему :)

Сообщение Serges »

Уважаемые коллеги!
Все мы знаем, как в формах в цикле выводится некий поток данных. В конце цикла можно получить итог, суммируя строки.
У меня вопрос: возможно ли получить итог до конца цикла? Например, чтобы в каждой строке вывести коэффициент? ;)
Галактика 8.10, Oracle 10g / 10.2.0.4
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Не знаю, как назвать тему :)

Сообщение edward_K »

я так понимаю что нужно увидеть итог перед началом цикла?
прямо нет, если это не предусмотренно самой формой.я обычно в этих случаях накапливаю цикл во временюю таблицу, а после цикла вывожу шапку(с подсчитанным итогом) и делаю цикл по времянке. :)
Serges
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49

Re: Не знаю, как назвать тему :)

Сообщение Serges »

Edward_K, можно простенький пример - для ориентира? ;)
Галактика 8.10, Oracle 10g / 10.2.0.4
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Не знаю, как назвать тему :)

Сообщение edward_K »

маленьких нет и не будет.
порядок примерно такой
в include файле ( пусть v.inc)
объявляешь следующую структуру
table struct tmp_db
( sort : string[100],
field1 :string ,
....
)
with index
( tmp_db01 = sort ,
tmp_db02 = field1
) ;
сей файл обязательно добавляешь в проект
#include v.inc
#make "*.frm"
в форме объявляешь ( возможны вариации)
.create view vvv
var wsu:double ;
as select tmp_db.* from tmp_db(tmp_db01) ;
перед циклом
.begin
wsu:=0 ;
vvv.delete all tmp_db ;
end.
в цикле делаешь програмный блок
.begin
wsu :=wsu+summa ;
vvv.tmp_db.sort := filedsort ;
vvv.tmp_db.field1 := .... ;
vvv.insert current tmp_db ;
end.
после цикла выводишь шапку до цикла + wsu
далее поля из tmp_db
.fields
vvv.tmp_db.field1
...
.endfields
.{ table 'vvv.tmp_db'
@@@@ @@@@@@@@@
.}
все в принципе просто если понимать чего ты хочешь и здесь на этом форуме уже вроде обсуждалось. :)
ramil
Посетитель
Сообщения: 39
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Стерлитамак
Контактная информация:

Re: Не знаю, как назвать тему :)

Сообщение ramil »

Можно и так:
1. В цикле загоняешь данные в массивы
2. после цикла обрабатываешь массив
3. добавляешь новый цикл (в нем выводишь результаты).
;)
Serges
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49

Re: Не знаю, как назвать тему :)

Сообщение Serges »

Edward_K, благодарю :)
С примером куда как проще разобраться - всё получилось.
Галактика 8.10, Oracle 10g / 10.2.0.4
Ответить