сложные рассчеты...
Проблема в следующем: Есть отчет, состоящий из двух страниц (максимум): хидера (пустого, для отступа сверху), данных, подвала данных и подвала страницы. (все это на каждой из страниц)
Необходимо: Если данные не вмещаются на первую страницу, то уже в коде приложения разнести их по двум query и остаток засовывать на вторую страницу, иначе вторая страница.визибл:=фолс.
Сейчас это делается след. образом: Если кол-во возвращаемых записей>40 то производить вышеуказаные действия. Но это не совсем корректно, т.к. строчки могут быть длинными и растягиваться по высоте, что приводит к полному безобразию в отчете.
Соответственно, хотелось бы например после PrepareReport узнать, вместилось ли все на первую страницу и если нет, то уменьшать кол-во записей until это все не вместится.
Пробовал суммировать у мемки с датабэнда свойство Memo.Count, но оно почему то возвращает совсем не то что нужно (в итоге). Так же экспериментировал с (суммой MasterData1.Height) -FreeSpace, но разница становится отрицательной уже после 20ти записей,что тоже странно...
Ну и к тому же так и не понял как после preparereport получить в свой код приложения результат вычислений(влезло-невлезло).
Все так сложно, потому что структура страниц очень разная и стандартными средствами этого не сделать.
Заранее большое спасибо за помощь
Необходимо: Если данные не вмещаются на первую страницу, то уже в коде приложения разнести их по двум query и остаток засовывать на вторую страницу, иначе вторая страница.визибл:=фолс.
Сейчас это делается след. образом: Если кол-во возвращаемых записей>40 то производить вышеуказаные действия. Но это не совсем корректно, т.к. строчки могут быть длинными и растягиваться по высоте, что приводит к полному безобразию в отчете.
Соответственно, хотелось бы например после PrepareReport узнать, вместилось ли все на первую страницу и если нет, то уменьшать кол-во записей until это все не вместится.
Пробовал суммировать у мемки с датабэнда свойство Memo.Count, но оно почему то возвращает совсем не то что нужно (в итоге). Так же экспериментировал с (суммой MasterData1.Height) -FreeSpace, но разница становится отрицательной уже после 20ти записей,что тоже странно...
Ну и к тому же так и не понял как после preparereport получить в свой код приложения результат вычислений(влезло-невлезло).
Все так сложно, потому что структура страниц очень разная и стандартными средствами этого не сделать.
Заранее большое спасибо за помощь
Комментарии