Число строк на странице репорта

Обсуждение извечных проблем кларионовских (и не только) отчетов

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Александр Т.

Число строк на странице репорта

Сообщение Александр Т. »

Здравствуйте.
Имеем отчет - опись документов. В состав детали входит текстовое поле с переменной высотой. Необходимо в таких условиях посчитать количество строк на странице и поместить это значение в начало страницы. Кроме того в туда же нужно положить информацию из первой и последней записи на странице.
Мож кто че подскажет как побороть?
C6.1 ABC
Аватара пользователя
Admin
Администратор
Сообщения: 3960
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сообщение Admin »

Количество строк в текстовом поле или всего на странице?
Что значит "положить информацию из первой и последней записи на странице"
Документ многостраничный?
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Сообщение lsgsoftware »

Эта проблема уже обсуждалась на форуме.Классический пример документа такого рода - накладная по форме торг12.Если вы используете текстовую переменнную для вывода поля в несколько строк, то задача надежного решения просто не имеет.т.к.количество
строк будет сильно зависеть от содержимого поля(большие или маленькие буквы,узкие и широкие буквы ,цифры и т.д.).Т.е. в зависимости от конкретного набора символов поле,вмещающее одинаковое количество знаков , может занимать разное количество строк при печати.А принципе, если отказаться от текстового поля, то сделать можно, правда только ручками и очень это все муторно.Недавно юзал такую задачку плюс еще корректный перенос слов(unwrapping).Все в конце концов получилось как надо, но проклял я все на свете. Не теряйте надежды.При определенных усилиях все получится.
Александр Т.

Сообщение Александр Т. »

Да не обойтись без текстового контрола, к сожалению, слишком разное количество строк, и все нужны...
А может есть где-нить возможность перехватить смену страниц, сделать печать каждой страницы двухпроходной, причем первый проход отправить куда-нибудь в dummy? Но, впрочем, это фантазии на тему...
Александр Т.

Сообщение Александр Т. »

Admin писал(а):Количество строк в текстовом поле или всего на странице?
Что значит "положить информацию из первой и последней записи на странице"
Документ многостраничный?
1. На странице
2. "На странице документ с даты по дату, с номера по номер".
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Сообщение StillZero »

Александр Т. писал(а):не обойтись без текстового контрола
да можно обойтись :)

еще вариант...мож в Excel вывести...потом задать размеры страницы...посчитать сколько строк на странице...и где нибудь в уголок вывести :) два прохода будет
Александр Т.

Сообщение Александр Т. »

...или я сошел с ума, или одно из двух... Да всё просто: обычный footer со всеми итогами наложить на header? указав его Ypos. Мож я еще каких подводных камней не вижу, но ведь заработало!
Спасибо всем
Аватара пользователя
Admin
Администратор
Сообщения: 3960
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сообщение Admin »

Ха... Ну а как ты последюю распечатанную строку нашел?
Т.к. ты объяснил у тебя не могло по простому получиться.

P.S. Кстати один товарищ про твое сообщение сказал что ты сам виноват.
Просто не задался целью "подумать" :)
Все решается если хорошо подумать, наверное ...
Александр Т.

Сообщение Александр Т. »

Admin писал(а):Ха... Ну а как ты последюю распечатанную строку нашел?
Т.к. ты объяснил у тебя не могло по простому получиться....
Дело в том, что строки упорядочены по датам документа и по номерам. Использовал Total:Maximum (последняя строка) и Total:Minimum (первая строка) с прерыванием по смене страниц.
Admin писал(а):P.S. Кстати один товарищ про твое сообщение сказал что ты сам виноват.
Просто не задался целью "подумать" :)
Все решается если хорошо подумать, наверное ...
Прав товарищ. Я думал два дня, перебирал все варианты решения "через парадную дверь", а оказывается, все гораздо проще, если вовремя плюнуть и немножко "полениться" :) .
Токаревич А.
Ответить