Возможности Pagefooter

tavistavis Кировоград
отредактировано November 2007 Раздел: FastReport 4.0
День добрый.
Есть задача, не знаю как ее решить с помощью FastReport
Существует такое понятие как спецификация изделия. На первой странице спецификации внизу печатается большой штамп, на последующих маленький. Я штамп нарисовал в PageFooter, но он соответственно печатается на всех страницах. Подскажите как можно реализовать эту задачу? У меня версия еще 2.52 :)

Комментарии

  • отредактировано 16:37
    tavis написал: »
    День добрый.
    Есть задача, не знаю как ее решить с помощью FastReport
    Существует такое понятие как спецификация изделия. На первой странице спецификации внизу печатается большой штамп, на последующих маленький. Я штамп нарисовал в PageFooter, но он соответственно печатается на всех страницах. Подскажите как можно реализовать эту задачу? У меня версия еще 2.52 :)
    Пробуйте через скрипт
    ЧТо-то вроде
    if [Page]=1 then Штамп_большой.Visible = TRUE
    else
      Штамп_Маленький.Visible = TRUE
    

  • tavistavis Кировоград
    отредактировано 16:37
    _andrews_ написал: »
    Пробуйте через скрипт
    ЧТо-то вроде
    if [Page]=1 then Штамп_большой.Visible = TRUE
    else
      Штамп_Маленький.Visible = TRUE
    
    Через скрипт пробовал. Получается что штамп становится невидимым, но место под него остается. Тоесть высота большого штампа 40 мм, маленького 15мм. Когда делаю через скрипт

    if [Page#] > 1 then Visible :=False;

    Получается, что на второй странице (почему еще не понял) остается большой штамп, а на последующих - штамп исчезает, но место пустое остается.
  • отредактировано 16:37
    tavis написал: »
    Через скрипт пробовал. Получается что штамп становится невидимым, но место под него остается. Тоесть высота большого штампа 40 мм, маленького 15мм. Когда делаю через скрипт

    if [Page#] > 1 then Visible :=False;

    Получается, что на второй странице (почему еще не понял) остается большой штамп, а на последующих - штамп исчезает, но место пустое остается.
    у тебя изначально два штампа лежит на бэнде?*
    Логика какая-Когда тебе нужно-один ты прячешь-другой показываешь и наоборот
  • tavistavis Кировоград
    отредактировано 16:37
    _andrews_ написал: »
    у тебя изначально два штампа лежит на бэнде?*
    Логика какая-Когда тебе нужно-один ты прячешь-другой показываешь и наоборот
    Я сейчас разместил в PageFooter только один штамп. Скажу честно, не знаю где можно разместить второй. Ведь PageFooter только один...
    В событии PageFooter OnBeforePrint я написал:

    begin
    if [[PAGE#]>1] then Visible:=False
    end

  • отредактировано 16:37
    tavis написал: »
    PageFooter только один...
    Тут ты прав
    Если ты разместишь только один штамп, а потом его спрячешь, кто кроме тебя будет знать, что где-то должен появится еще один?*
    Второй штамп размещяешь в томже PageFooter. Прямо сверху первого
    Когда надо-прячешь ненужный и все отлично
  • tavistavis Кировоград
    отредактировано 16:37
    _andrews_ написал: »
    Тут ты прав
    Если ты разместишь только один штамп, а потом его спрячешь, кто кроме тебя будет знать, что где-то должен появится еще один?*
    Второй штамп размещяешь в томже PageFooter. Прямо сверху первого
    Когда надо-прячешь ненужный и все отлично
    Кажется я понял. Попробую. Большое спасибо за помощь.
  • tavistavis Кировоград
    отредактировано 16:37
    Попробовал. Не получилось.
    Вставил на бэнд PageFooter два бэнда Child
    На одном разместил для теста Мемо1, на втором Мемо 2 и наложил один на другой.
    Получился интерестный эффект: оба мемо стали принадлежать тому Child-y, который сверху.

    Написал в событии OnBeforePrint

    begin
    if [PAGE#]>1 Child1.Visible:=False;
    end

    Результата это не дало :) (((
  • mvbmvb Казань
    отредактировано 16:37
    а нельзя сделать первую страницу отдельно?
  • tavistavis Кировоград
    отредактировано 16:37
    mvb написал: »
    а нельзя сделать первую страницу отдельно?
    Интерестная идея.
    Тоесть один шаблон для первой страницы и другой для последующих.
    Большое спасибо :)
  • mvbmvb Казань
    отредактировано 16:37
    не шаблон даже (если ты имеешь ввиду отдельный файл), а просто вторую страницу добавь...
  • tavistavis Кировоград
    отредактировано 16:37
    mvb написал: »
    не шаблон даже (если ты имеешь ввиду отдельный файл), а просто вторую страницу добавь...
    А можешь подсказать как указать, чтобы к примеру первые 39 строк шли на первую страницу, а последующие на вторую?
  • mvbmvb Казань
    отредактировано 16:37
    не знаю как в двойке (я из фри прыгнул в четверку), но по-идее можно воткнуть #LINE и в скрипте смотреть, если переменная = 40, то NewPage...
  • tavistavis Кировоград
    отредактировано 16:37
    mvb написал: »
    не знаю как в двойке (я из фри прыгнул в четверку), но по-идее можно воткнуть #LINE и в скрипте смотреть, если переменная = 40, то NewPage...
    Как-то интерестно получается:
    Поставил в событии MasterData1 OnBeforePrint
    begin
    if[LINE#]>10 then NewPage
    end

    Получилось следующее: отчет первую страницу действительно отсчитал 10 линий, а потом использует тот же шаблон для вывода остальных записей таблицы, причем по одной на страницу. После чего допечатывает Page2

    Когда напечатал в Page1 OnBeforePrint
    begin
    if[Page#]>1 then NewPage
    end
    Ничего не изменилось: сначала вывел отчет на просмотр все записи таблицы, а потом распечатал вторую страницу :)
  • mvbmvb Казань
    отредактировано 16:37
    ну вообще-то все правильно... Я имел ввиду, если у тебя первая страница титульная, то ее можно сделать отдельно, а если тебе надо начинать вывод данных сразу с 1 страницы, тогда придется изворачиваться с pagefooter. Кстати, странно, что нельзя положить больше 1 футера...
  • tavistavis Кировоград
    отредактировано November 2007
    mvb написал: »
    ну вообще-то все правильно... Я имел ввиду, если у тебя первая страница титульная, то ее можно сделать отдельно, а если тебе надо начинать вывод данных сразу с 1 страницы, тогда придется изворачиваться с pagefooter. Кстати, странно, что нельзя положить больше 1 футера...
    Согласен, без настройки футера тяжеловато приходится :)
    Я нашел еще один [topic="5344"]топик[/topic] , посвященные этой [topic="5344"]теме[/topic] В принципе - это решение всех вопросов. Как всегда приходится делать все обходными путями... Но, в принципе тема закрыта.

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

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