Не могу найти ответы на простые вопросы

отредактировано 20:09 Раздел: FastReport 4.0
Здравствуйте!
У меня есть отчёт с портретными и одной альбомной страницей. При печати отчёта альбомная страница почти пустая, хотя в дизайнере на ней много всего.
Это как понял из-за того что FastReport на нашем принтере (на предприятии) не может как-то отрегулировать параметры при печати (видимо у нас такой принтер, с которым у FastReporta проблемы). Принтер заменить нельзя, драйвер на нём (как в интернете иногда советуют) тоже переставить я не могу. В интернете ещё встречал совет в исходном коде генератора где-то раскомментировать какую-то строчку, но это я тоже не могу делать, т.к предприятие большое и генератор где-то на сервере и там из-за моей маленькой проблемы никто не будет такое делать.

Придумал 3 способа решения, чтобы печатал отчёт со страницами разной ориентации:
1) Можно ли как-то развернуть страницу или содержимое по вертикали, чтобы альбомную сделать портретной?
2) Можно ли, заполнив диалоговую форму выбора параметров для отчёта по одной кнопке получить отчёт всех портретных страниц, напечать его, потом вернуться опять в диалоговую форму и другой кнопкой вывести отчёт из одной этой альбомной (чтобы форму параметров заполнять один раз а отчёта получить два разных)?
3) Может быть можно как-то программно явно указывать ориентацию в настройках принтера, во время печати по какому-нибудь событию, в зависимости от ориентации печатаемой страницы.
4) Может есть какой-то другой способ решить эту проблему, чтобы печаталось как нужно.

Подскажите пожалуйста.

Комментарии

  • отредактировано 20:09
    ммм, сколько подробностей! есть работа для телепатов.
  • gpigpi
    отредактировано 20:09
    написал:
    2) Можно ли, заполнив диалоговую форму выбора параметров для отчёта по одной кнопке получить отчёт всех портретных страниц, напечать его, потом вернуться опять в диалоговую форму и другой кнопкой вывести отчёт из одной этой альбомной (чтобы форму параметров заполнять один раз а отчёта получить два разных)?
    Может просто сначала вывести на печать портретные страницы, а затем альбомную? Какую версию FR используете?
  • отредактировано July 2010
    gpi написал: »
    Может просто сначала вывести на печать портретные страницы, а затем альбомную? Какую версию FR используете?

    Тогда придётся два раза заполнять большую форму параметров для отчёта, этого мне нужно избежать.
    Версию не знаю, точно узнать тоже не знаю как, есть подозрение, что 2.4 - это у меня на компьютере нашлось по обычному поиску файлов, а какая версия на сервере не знаю, предприятие большое, какую-то сильно старую версию мне кажется не стали бы держать.
    Если у кого-то будет какая-то идея, смогу её проверить.

    Если знающий человек ответит на первые 3 вопроса, буду тоже благодарен, сам таких возможностей не нашёл, но вдруг они всё таки есть.
  • PabloPablo Рязань
    отредактировано July 2010
    1. Любая страница может быть либо Portrait либо Landscape. Надо определиться.
    2. Сформируйте два различных Report-а, если вместе не работает.
    3. Да, хотя это делается автоматически вроде.
  • отредактировано July 2010
    Pablo написал: »
    ... 2. Сформируйте два различных Report-а, если вместе не работает. ...
    Вот этот вопрос меня и интересует очень, есть ли способ напечатать два отчёта из одной диалоговой формы (чтобы выбирать в ней параметры только один раз, а получать отчёты два раза, например один отчёт - одной кнопкой, второй - другой).. я сам такого способа не нашёл, но может он есть.

    3) автоматически должно, но проблема похоже в том что данный FastReport с данным принтером не может договориться как печатать страницу, читал в интернете о таком.
  • PabloPablo Рязань
    отредактировано 20:09
    serge написал: »
    Вот этот вопрос меня и интересует очень, есть ли способ напечатать два отчёта из одной диалоговой формы (чтобы выбирать в ней параметры только один раз, а получать отчёты два раза, например один отчёт - одной кнопкой, второй - другой).. я сам такого способа не нашёл, но может он есть.

    3) автоматически должно, но проблема похоже в том что данный FastReport с данным принтером не может договориться как печатать страницу, читал в интернете о таком.

    У меня вообще PrintReportDialog отключен. Все настройки задаю программно. Печатаю ч/з подтверждение от MessageDlg. Может это и Ваш выбор?
  • отредактировано 20:09
    Pablo написал: »
    У меня вообще PrintReportDialog отключен. Все настройки задаю программно. Печатаю ч/з подтверждение от MessageDlg. Может это и Ваш выбор?
    К сожалению нет, у меня большая форма, со множеством настроек, которые пользователь выбирает, чтобы получить потом в отчёте нужные данные.
    Т.к. это отчёт может печататься в очень разных вариантах и пользователи сами настраивают, без формы выбора не обойтись.
  • отредактировано 20:09
    Как подается бумага в принтер ?
    Не все модели принтеров меняют размеры листа, некоторым для печати альбомной страницы нужно и бумагу подавать соответствующим образом.
    В вашем случае проще всего изменить альбомную ориентацию на портретную и затем просто поменять местами ширину и высоту страницы.
  • отредактировано 20:09
    написал: »
    Как подается бумага в принтер ?
    Не все модели принтеров меняют размеры листа, некоторым для печати альбомной страницы нужно и бумагу подавать соответствующим образом.
    В вашем случае проще всего изменить альбомную ориентацию на портретную и затем просто поменять местами ширину и высоту страницы.
    из лотка, но специально вручную пользователи у нас для этой страницы подавать не хотят (неудобно), хотят чтобы всё было автоматически, печатают много.
    Если не ошибаюсь вы имеете в виду поставить свойство Orientation как poPortrait и потом размеры PaperHeight и PaperWidth поставить как для Альбомной.
    Так пробовал, печатает, но то альбомное, что торчит за границу портретной страницы не печатается (т.е. что входит в рамки портретной - печатается на листе, а что выходит за рамки, нет). Вот такая ситуация.
  • отредактировано 20:09
    Пока большое спасибо всем кто попытался помочь

    (примерно вот такое
    <!--fonto:Arial Black--><span style="font-family:Arial Black"><!--/fonto-->СПАСИБИЩЕ<!--fontc--></span><!--/fontc--> не маленькое)

    ))
  • отредактировано 20:09
    Какая модель принтера ?
    Так же неплохо было бы взглянуть на шаблон отчета.
  • отредактировано 20:09
    сам шаблон документа вам переправить наверно не смогу, он всё равно не запустится, т.к. в нём используются наборы данных которые есть только на нашем предприятии, к тому же я не садист, чтобы кому-то предлагать разбираться в этом отчёте, он очень большой, навороченный. Попробую сделать простой отчёт новый, с такой ошибкой.

    Подскажите пожалуйста как вам его прислать, когда он у меня получится?
    На всякий случай, хотя уже сомневаюсь что дело в принтере, сейчас попробовал на простом отчёте с разными тоже страницами, где за портретной идёт альбомная, напечатались обе - нормально, принтер всё-таки похоже не при чём.
    Ещё надо мне потестировать, кое-что проверить, может быть даже и ошибку найду, хотя в этом есть большие сомнения.
  • отредактировано July 2010
    Тестировал, и пришёл к выводу что, по крайней мере в моём случае и моём отчёте это исправить нельзя.
    Эта ошибка возникает из-за того, что FastReport (по крайней мере нашей версии) не умеет печатать отчёты с разной ориентацией страниц.
    Поводом к ошибке служат такие вещи как например, что на предыдущей портретной странице, перед альбомной, есть объект RichText, изменение его настроек ничего не даёт. Или есть Мемо с размерами отличными от исходных (когда его только что положили на страницу). При первоначальных размерах поля Мемо, всё печатается нормально.
    Если у кого-то не правильно печатается отчёт со страницами разной ориентации, то виновата не страница которая не печатается, а предыдущая(ие) страница(ы), наличие на них полей RichText, или Мемо с изменёнными размерами может влиять. Или может быть ещё что-то. Больше всего ошибка конечно в самом том что FastReport не умеет или не всегда может правильно напечатать такой отчёт, с разными страницами.
    На уровне конкретного отчёта исправить ничего нельзя, к такому выводу пришёл. Поля Мемо чаще всего используют и их высоту часто нужно менять (провоцирует ошибку у меня изменение высоты Мемо, а не длины, не только в дизайнере, но и при выводе многострочного текста, когда оно автоматически раздвигается).

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

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