Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FastReport

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Открыть новую тему     Написать ответ в эту тему

Shadka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите! В датасете 1000+ записей. При выводе на печать матричного отчета начинает с 1 до последней записи в датасете перепрыгивать, а уж потом выводит отчет. Как с эти бороться?
 
frxObor2.PrepareReport();
frxObor2.ShowReport;

Всего записей: 12 | Зарегистр. 29-11-2011 | Отправлено: 12:20 11-01-2012
YuriyRR



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shadka
Да никак. Не делать больших отчетов. Или сразу печатать, зачем показывать.

Всего записей: 516 | Зарегистр. 07-06-2007 | Отправлено: 14:46 11-01-2012
Shadka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите!
 Имеется отчет с группировкой и итогами. Вот пример итогов по группировке:
                                          Приход   |  Расход  | Сумма
                ------------------------------------------------------
 Итог по подразделению 1:  двигатель    шайбы     150
 
 
                                        Приход   |  Расход  | Сумма
              ------------------------------------------------------
 Итог по подразделению 2:  кабина       болты     420
 
 
                                        Приход   |  Расход  | Сумма
             ------------------------------------------------------
 Итог по подразделению 3:  двигатель    шайбы     380
 
 
В конце этого добра необходимо вывести итог по складу вот такого вида:
                                       Приход   |  Расход  | Сумма
              ------------------------------------------------------
 Итог по складу:              двигатель    шайбы     530
                                            кабина       болты     420
Как можно такое реализовать?

Всего записей: 12 | Зарегистр. 29-11-2011 | Отправлено: 18:49 18-01-2012
YuriyRR



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shadka

Цитата:
Как можно такое реализовать?

Если итоги с перечислением всех приходных позиций по подразделению
то делать их в виде отдельных запросов в связке мастер - несколько деталей

Всего записей: 516 | Зарегистр. 07-06-2007 | Отправлено: 23:31 18-01-2012
salexn1



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuriyRR
Shadka
Сделать группу. На групповой бэнд положить объект текст и выводить наименование подразделения. Далее идет detail band. Потом Group Footer.
В конце отчета положить Summary Group.
Все должно быть просто, в примерах такое есть
Единственно, обязательно отсортируйте данные по подразделениям

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 11:43 19-01-2012
Shadka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuriyRR мастер не использую потому что таких группировок должно быть 3 в отчете.
salexn1, если сделать так то в итоге выведется просто общая сумма 1 строчкой. Мне же фактически нужно просто в конце всего отчета вывести все групповые итоги которые раньше встречались. И при совпадении 2х переменных из группировки (приход и расход) вывести их сумму
Итог по подразделению 1: двигатель шайбы 150 +
Итог по подразделению 2: кабина болты 420+
Итог по подразделению 3: двигатель шайбы 380=  
Итог по складу: двигатель шайбы 530  
                              кабина болты 420

Всего записей: 12 | Зарегистр. 29-11-2011 | Отправлено: 11:57 19-01-2012
Czechoslovak



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Shadka
 
Не совсем понятно, что вы хотите. Болты от шайб, как то же отличаете!? Ну в конце концов введите переменные и подсчитывайте свои болты и шайбы или сделайте итоговый запрос и просто выводите готовый результат

Всего записей: 175 | Зарегистр. 27-06-2007 | Отправлено: 12:48 19-01-2012
druff

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shadka
 
это можно сделать с помощью кросстаблицы

Всего записей: 402 | Зарегистр. 14-11-2006 | Отправлено: 15:26 26-01-2012
AndreyPA

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть шаблон отчета для страницы А4.
Иногда этот отчет вместо печати экспортировали в Excel. Но т.к. при формировании отчета он разбивался на много страниц А4 то чтобы в при экспортировании в Excel получалась одна таблица делали так.
Свойства страницы
Ширина 21,00 заменяли на 2100
Высота 29,70 заменяли на 29,70
применить ко всем. И отчет перестраивался на одну боольшую виртуальную страницу и после этого вызывали экспорт.
Сейчас хотят чтобы сразу экспортровался отчет без показа.
Я разобрался что можно сделать frxReport.PrepareReport, а потом frxReport.Export(frxXMLExport1); в заданное имя файла.
Но как мне программно изменить Ширину и Высоту страницы (то что они делали вручную через диалог свойства страницы) и только после этого произвести экспорт. А то получается порезанная таблица в excel неудобно для манипуляций.
Шаблон при этом должен остаться не именным. Иногда они буду печатать как и раньше на А4.

Всего записей: 192 | Зарегистр. 19-11-2001 | Отправлено: 11:46 02-02-2012
salexn1



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
>AndreyPA
У репорта есть свойства и перед печатью вы можете ставить любой размер.
Как-то так
Report.Pages[1].Height := 2100;
 
именно Pages[1]!!!  

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 12:22 02-02-2012
AndreyPA

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
salexn1
Неа - что-то не так.
1. Я решил посмотреть какие значения там хранятся.

Код:
 
    frxReport.LoadFromFile('Приложение1.fr3');
   ShowMessage(FloatToStr(frxReport.Pages[1].Height)+','+FloatToStr(frxReport.Pages[1].Width));
 

Значения она показала другие (1123,1587) это явно не мм (скорее всего в пикселях)
Ладно думаю сделаю так  

Код:
 
    frxReport.LoadFromFile('Приложение1.fr3');
    frxReport.Pages[1].Height:=frxReport.Pages[1].Height*10000;
    frxReport.Pages[1].Width:=frxReport.Pages[1].Width*10000;
    frxReport.PrepareReport;
    frxReport.Export(frxXMLExport1);
 

Т.е. умножу эти величины и количество страниц при экспортировании должно уменьшиться из-за изменения формата страницы. Но ничего не получилось.

Всего записей: 192 | Зарегистр. 19-11-2001 | Отправлено: 04:29 03-02-2012
salexn1



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndreyPA
Для перевода пикселов в сантиметры и дюймы
определены следующие константы:
fr01cm = 3.77953; // 96 / 25.4
fr1cm  = 37.7953;
fr01in = 9.6;
fr1in  = 96;
Например, задать высоту бэнда, равную 5мм, можно так:
Band.Height := fr01cm * 5;  
Band.Height := fr1cm * 0.5;
 
Добавлено:
кстати, попробуйте еще вот это:
Свойство PaperSize задает формат бумаги. Это одно из стандартных
значений, определенных в Windows.pas, например, DMPAPER_A4. Если присвоит
значение этому свойству, FastReport сам заполнит свойства PaperWidth и
PaperHeight (размеры бумаги в миллиметрах). Если в качестве формата задать
значение DMPAPER_USER (или 256), это означает, что задан пользовательский
размер бумаги. В этом случае свойства PaperWidth и PaperHeight надо заполнить
самостоятельно.

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 10:13 03-02-2012
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
salexn1
Значение DPI на разных компьютерах может быть разным, поэтому использовать 96 в виде константы нельзя. А уж на принтерах оно и подавно разное.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:51 03-02-2012
salexn1



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Вообще-то это из мануала вырезка

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 13:21 03-02-2012
dzh2000



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skip

Всего записей: 1576 | Зарегистр. 18-01-2002 | Отправлено: 12:41 28-02-2012 | Исправлено: dzh2000, 12:42 28-02-2012
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Кто нибудь знает, есть ли возможность развернуть страницу при печати на 180 градусов?
Нашел только PrintOptions.SwapPageSize. Но это или не оно или не работает.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 11:48 07-03-2012
wasilissk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
exteris
Можно распечатанный лист перевернуть.

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 11:51 07-03-2012
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Классно, спасибо!
 
Добавлено:
А если серьезно.  
 
Ситуация:
Диспетчер распечтал 500 пакетов документов на завтрашний развоз. Теперь ей надо на каждом поставить печать и роспись. Это около 2000 печатей и росписей. Все документы идут с альбомной ориентацией, а один с ландшафтной. В итоге место для печати (относительно других документов) у него оказывается не там, где надо. Вот и попросили перевернуть, для ускорения работы.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 12:07 07-03-2012
wasilissk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
exteris

Цитата:
Все документы идут с альбомной ориентацией, а один с ландшафтной.

А это не одно и то же? Если имелось в виду книжная (Portrait (между ними разница 90 градусов, а не 180 если что)), то проще создать два отчета в соответствующей ориентации.
Вы собираетесь печатать на уже распечатанных листах, как я понял. Тут имхо вроде как проще вообще без фастрепорта обойтись.

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 12:25 07-03-2012
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вы не поняли. Если я распечатаю пачку документов и начну пропечатывать, то будет следующее:
Счет-фактура - место для печати(подписи) - левый нижний угол
ТТН - место для печати(подписи) - верхний правый угол(потому шта ориентация другая)
Торг-12 - место для печати(подписи) - левый нижний угол
и т.д.
 
Вот если перевернуть ТТН при печати, то и место для печати окажется в нижнем левом углу. Вроде бы ерунда, но на большом количестве документов на скорости работы сказывается.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 12:33 07-03-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FastReport


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru