Простой, но сложный вопрос

отредактировано 04:46 Раздел: FastReport 2.xx VCL
Всем привет!
Есть такая задача , надо построить отчет имеющий 3 запроса
к примеру 1 запрос возвращает 30 записей, второй запрос имеет связку с 1 запросом и возвращает 5 записей, 3-тий запрос завязан на 1 и возвращает 7 записей
на Первом листе надо расположить ровно на поллиста 1 запись из 1 запроса и 5 записей из 2 запроса, на второй половине листа 2-запись из 1 запроса и 5 соответствующех ей записей 2 запроса (это легко, сложность дальше)
на втором листе на его верхней половине листа надо расположить 1 запись из 1 запроса и 7 записей 3-го запроса, на второй половине 2 запись из 1 запроса и 7 записей 3-го запроса , соответственно
очередность вывода
1 страница (1-2 запись 1 запроса и соответствующие по 5 записей 2 запроса),
2 страница (1-2 запись 1 запроса и соответсвующие по 7 записей 3 запроса),
3 страница (3-4 запись 1 запроса и соответствующие по 5 записей 2 запроса),
4 страница (3-4 запись 1 запроса и соответсвующие по 7 записей 3 запроса)
и т.д.
суть - нужно сделать двухстороннюю печать информации для вывода на принтер с поддержкой двухсторонней печати

Комментарии

  • отредактировано 04:46
    написал:
    нужно сделать двухстороннюю печать информации для вывода на принтер с поддержкой двухсторонней печати
    С двухсторонней печатью, я думаю, принтер сам разбирется. Что тебе не понятно в FastReport'e?
  • отредактировано 04:46
    Blond написал:
    суть - нужно сделать двухстороннюю печать информации для вывода на принтер с поддержкой двухсторонней печати
    Варианты которые сделаны мной

    1) Вот кой-че написал тут
    Так сделал я

    2) Или еще мона эдак:
    frReport1.PrintPreparedReport('1',1,True,frAll);
    Application.MessageBox('Переверните страницы','Прога', mb_OK+MB_ICONASTERISK);
    frReport1.PrintPreparedReport('2',1,True,frAll);
    
  • отредактировано 04:46
    Принтер сам не разберется.
    Почему - потому что количество листов в отчете примерно 15000.
    Не буду же я каждый раз бегать к сетевому принтеру, чтоб перевернуть страницу. Для автоматической печати необходимо чтобы при выводе на печать сначала следовала лицевая часть, затем оборотная.
  • отредактировано 04:46
    написал:
    С двухсторонней печатью, я думаю, принтер сам разбирется. Что тебе не понятно в FastReport'e?
    Вопрос , что не понятно был четко озвучен.
  • отредактировано 04:46
    написал:
    Вопрос , что не понятно был четко озвучен.
    Чтобы раскидать строки по определенным листам я указал в первой ссылке, смотрите внимательнее.
    написал:
    Не буду же я каждый раз бегать к сетевому принтеру, чтоб перевернуть страницу. Для автоматической печати необходимо чтобы при выводе на печать сначала следовала лицевая часть, затем оборотная.
    Собственно для этого и привел другой пример - сначала печатаются ВСЕ четные страницы (например), а затем идешь переворачиваешь и печатаешь ВСЕ нечетные.

    В чем проблемы-то?
  • отредактировано 04:46
    15000 листов отпечатать сначала одной стороной, при этом не запутавшись отложить все в порядке печатанья, а потом перевернув отпечатать обратную сторону 15000 листов !
    Вы хоть представляете о чем говорите???
    Информации на лицевой и обратной стороне уникальна по отношению к каждому листу.

    При этом я даже не рассматриваю что могут произойти всякие технические проблемы.

    Однозначно - не преемлемо ;)
  • отредактировано 04:46
    Если тебе нужна двух-строронняя печать, причем сдесь FastReport???
    Открывай диалог настроки принтера, указывай что тебе нужна двух-сторонняя печать и печатай!
  • отредактировано 04:46
    я чтото вообще не пойму, меня вообще кто нибудь понимает ;)
    мне нужен отчет в fastreport сгенерированный, который бы выгонял страницы согласно изложенного задания.
    нужно это для двухсторонней печати, принтер уже настроен, забудем про него.

    все сконцентрируемся на отчете ;)
  • отредактировано December 2004
    Используй Master и Detail бенды.
  • отредактировано 04:46
    2 Blond:

    Есть программулина под названием FinePrint:
    http://www.fineprint.com

    Возможно это то, что тебе нужно.
  • отредактировано 04:46
    Blond написал:
    15000 листов отпечатать сначала одной стороной, при этом не запутавшись отложить все в порядке печатанья, а потом перевернув отпечатать обратную сторону 15000 листов !
    Вы хоть представляете о чем говорите???
    Однозначно - не преемлемо ;)
    ;) И че??? да пусть там хоть 10^1000 листов один раз перевернуть не проблема.
    Причем здесь "порядок печатанья"??? Напечатал все четные, перевернул ВСЮ СТОПКУ и напечатал все нечетные страницы. Или это невероятно сложно???

    ;) Чем второй способ не подходит??? Чтобы распределить строки необходимым образом я использовал: frUserDataset, GetBookmark и GotoBookmark, FR_Class.CurPage.NewPage, бэнды Master и Detail, а для них Childe с соответствующими скриптами в них (собственно про это в ссылке).
    Blond написал:
    все сконцентрируемся на отчете
    <span style='color:red'>Сам FastReport такого сделать не может</span>

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.