|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
Итоговое количество судов не должно совпадать с суммой в строках, потому что в строках идет группировка по типу груза, а на одном судне может быть 3 груза, так что, например, по сумме в строках получится 17, а на самом деле 15 судов. Следовательно, итожки формируются другим запросом, без группировки по количеству грузов. Нужно, чтобы после таблицы каждого района выводилась итожка по этому району. Но в GroupHeader указана [DS0."cargo_zone_id"] - это первый желтый бэнд. А сумма выводится во втором бэнде DS1. Поэтому все итожки получаются в самом низу отчета. Как сделать, чтобы каждая итожка шла после своего района? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 07:24 |
|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
Форма ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 07:24 |
|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
GroupFooter после MasterData1 и на него Итого ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 10:49 |
|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
DimaBr GroupFooter после MasterData1 и на него Итого А GroupFooter же управляется условием, прописанным в GroupHeader, а там ссылка на DS0. Как этот параметр передать в DS1? Пробовал, в результате после каждого района выводится сумма по 1-му району. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 10:57 |
|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
Как этот параметр передать в DS1? В момент печати GroupFooter датасет стоит на последней строчке группы. Вот с датасета (DS0) данные и берите Если DS1 уже готовый и колонка DS0 уникальна, то достаточно будет просто спозиционировать DS1 методом Locate ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 11:07 |
|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
DimaBr В момент печати GroupFooter датасет стоит на последней строчке группы. Вот с датасета (DS0) данные и берите Если DS1 уже готовый и колонка DS0 уникальна, то достаточно будет просто спозиционировать DS1 методом Locate На DataSource.OnDataChange первого запроса повесил вызов второго запроса, где вычисляется сумма. Теперь на каждую строку первого запроса вызывается второй запрос, долго. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 11:23 |
|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
DimaBr > Если DS1 уже готовый и колонка DS0 уникальна, то достаточно будет просто спозиционировать DS1 методом Locate В какой момент это делать-то? Там все определяет сама форма frxReport. Как в этот процесс вклиниться? Кроме события DataSource.OnDataChange. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 11:25 |
|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
svnvlad В какой момент это делать-то? Там все определяет сама форма frxReport. Как в этот процесс вклиниться? Кроме события DataSource.OnDataChange. Я же написал "В момент печати GroupFooter датасет стоит на последней строчке группы". Вот в момент печати GroupFooterю.OnBeforePrint и делаете всё что вам нужно в скрипте отчёта. Повесить мемку в которой напишите вызов функции. А в функции вычисляйте что вам вздумается. Конкретно в вашем случае (если valuees_count - это готовые суммы по каждой группе) можно написать в мемке [DS1."valuees_count"], а в GroupFooter.OnBeforePrint спозиционировать на нужную строку DS1 Код: pascal 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 11:40 |
|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
DimaBr svnvlad В какой момент это делать-то? Там все определяет сама форма frxReport. Как в этот процесс вклиниться? Кроме события DataSource.OnDataChange. Я же написал "В момент печати GroupFooter датасет стоит на последней строчке группы". Вот в момент печати GroupFooterю.OnBeforePrint и делаете всё что вам нужно в скрипте отчёта. Повесить мемку в которой напишите вызов функции. А в функции вычисляйте что вам вздумается. Конкретно в вашем случае (если valuees_count - это готовые суммы по каждой группе) можно написать в мемке [DS1."valuees_count"], а в GroupFooter.OnBeforePrint спозиционировать на нужную строку DS1 Код: pascal 1. 2. 3. 4.
Код: pascal 1. 2. 3. 4.
Ругается на inentifier DS1. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 12:41 |
|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
Ну у вас же DS1 есть. Может стоит ему UserName прописать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 13:15 |
|
FastReport - помогите сформировать итоги
|
|||
---|---|---|---|
#18+
Вот так попробовал Код: pascal 1. 2. 3. 4. 5. 6. 7. 8.
DS.First работает, а Locate - Undeclared identifier 'Locate' ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 13:16 |
|
|
start [/forum/moderation_log.php?user_name=inse]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
140ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 442ms |
total: | 704ms |
0 / 0 |