Подписи к документу не отрывать?

xvvxvv
отредактировано 03:43 Раздел: FastReport 3.0
Есть печатная форма документа. в конце подписи уполномоченых лиц. Как сделать так чтоб они не перелазили на последнюю страницу, а если нужно вместе сними перетаскивалось туда несколько строчек отчёта?

Есть одно решение - добавить подвал страницы высоту которого позволить задовать пользователю, но оно не сильно красивое.

Комментарии

  • Andrew_ShAndrew_Sh г.Минск
    отредактировано 03:43
    xvv написал:
    Есть печатная форма документа. в конце подписи уполномоченых лиц. Как сделать так чтоб они не перелазили на последнюю страницу, а если нужно вместе сними перетаскивалось туда несколько строчек отчёта?

    Есть одно решение - добавить подвал страницы высоту которого позволить задовать пользователю, но оно не сильно красивое.
    Зависит от структуры отчета. В простейшем случае, если есть бэнд MasterData1 и ReportSummary1, на котором выодятся подписи, то:
    1) делаете отчет двухпроходным;
    2) в первом проходе считаете количество строк для MasterData1 и запоминате в переменной MasterLineCount;
    3) во втором проходе в обработчике OnBeforePrint для MasterData перед печатью нужной строки анализиируете свободное место на листе и если оно меньше необходимого, то перенонсите на новый лист.
    var
      MasterLineCount: integer;
    const
      RowCountKeepWithSummary = 2;
    
    procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
    begin
      if Engine.FinalPass
         and (<line#>=(MasterLineCount-RowCountKeepWithSummary+1))
         and (Engine.FreeSpace < (MasterData1.Height*RowCountKeepWithSummary + ReportSummary1.Height {+PageFooter1.Height}) )
        then Engine.NewPage;
    end;
    

    Здесь, константа RowCountKeepWithSummary должна содержать число строк, которое будет переноситься вместе с ReportSummary на новый лист. Допишите код для подсчета строк в MasterData1.

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

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