Ошибка суммы по странице

отредактировано 16:54 Раздел: FastReport 4.0
Добрый день!
Delphi6, FastReport 4.22
используется 2 группы по полям (типа- цех, бригада) внутри второй группы выводится сумма по фамилии (сумм может быть несколько).
по каждой фамилии считается итого (правильно)
в конце листа - итого по странице.

если по какой-либо фамилии строки не помещаются - переносится на следующую страницу.
и при переносе последняя сумма, не вошедшая на предыдущую страницу, почему-то, считается в предыдущей странице, выводится на следующей, но на следующей, соответственно, не считается.
получаются неверные данные в итого по странице.

пробовал как сумму по полю,так и счет скриптами. результат - один и тот же.

как отследить хотя бы, что бэнд переносится и попытаться затем пересчитать.

Заранее благодарен за помощь.

Комментарии

  • gpigpi
    отредактировано August 2015
    Перед выводом бэнда в скрипте проверяйте Engine.FreeSpace. Если свободное место меньше высоты бэнда, то вызывайте Engine.NewPage
  • отредактировано 16:54
    gpi написал: »
    Перед выводом бэнда в скрипте проверяйте Engine.FreeSpace. Если свободное место меньше высоты бэнда, то вызывайте Engine.NewPage

    Спасибо, вопрос решен.
    Два прохода, первый с вычислением размеров бендов, второй - вывод с принудительным переносом.

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

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