powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / foxpro 2.0 редактирование report
25 сообщений из 26, страница 1 из 2
foxpro 2.0 редактирование report
    #32896332
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Проблема следующая. У нас на работе используется б.д. написанная на foxpro 2.0. Есть report он выводит кучу данных и может в зависимости от колличества данных распологаться как на одной странице, так и на нескольких. Проблема возникает, когда репорт вмещается на одной странице, при этом все проходит отлично, за исключением только того что строчка Главный бухгалтер переноситься на начало следующей страницы, а места на первой еще куча, и впринципе при самом жестком раскладе для этой строки там куча мекста. Как решить эту проблему ума не приложу, перепробывал все что мог, но ничего не помогло. Одна надежда на вас.
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32896366
FlyNC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте перенести подпись Главного бухгалтера в раздел Примечание отчета - тогда она будет печататься на одной странице с данными.
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32896408
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения, но я просто не вкурсе куда конкретно его перенести.
Там значит слева есть следующие разделы PgHead, Detail, PgFoot, Sumary
куда его ставить ? Или я не о том думаю ?
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32896526
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Логично поместить в summary.
Но у области summary не должно быть галки "печатать summary на отдельной странице".
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32896546
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще создать группу по равенству recno() reccount() - в этом случае можно будет задать для нее условие "печатать новую группу на следующей странице, если до конца текущей осталось меньше скольких-то строчек". Количество этих строчек рассчитать с учетом высоты диапазона summary. Красиво: если подпись бухгалтера не помещается на текущей странице, она переползет на следующую вместе с последней записью отчета.
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32896775
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не поню, у полосы Summary в FPD был признак "Печатать с новой страницы"?
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32896859
в FPD в SUMMARY есть свойство "New page"
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32896912
Фотография Игорь Л.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вывожу в раздел Page Footer, с проверкой, все ли записи выведены.
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32896918
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Игорь Л.
И миришься с пустым местом между последней строкой и подписью на полстраницы?
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32896938
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximZaikin

кстати, если у тебя подпись тоже в pagefooter-е, попробуй уменьшить количество строк в странице. Может, на первую страницу выводится нечто незапланированное отчетом, типа логотипа, добавляемого не через сам отчет, а как-то еще, например, через слияние файла с картинкой и отчета. При этом длина первой страницы короче остальных на высоту этого самого логотипа.
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32896953
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в выяснении источника проблемы тебе поможет печать отчета в файл. Посмотри потом на этот файл. Обрати внимание на наличие символа chr(12) (конца страницы) перед подписью. Если он там есть, значит, перенос подписи на следующую страницу запланированный и предопределенный в отчете. А если нет - то незапланированный (строк на странице, заданной в отчете, больше, чем может поместиться на конкретной бумажной странице при печати на конкретном принтере при прочих конкретных условиях).
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32898241
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Да действительно выставляется chr(12). Вопрос, а где можно в свойствах report глянуть что он выставляется ?
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32898265
Как было сказано выше у SUMMARY есть свойство "New Page" в диалоге включения/выключения Title/Summary
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32898285
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет в сумари такое св-во не установленно, и самое, что интересно, это то что summary я вобще недавно отключил, то есть убрал. И вот еще, почему то происходит так, печатает две выписки на одной странице, а все последующие на на отдельной, то есть одна выписка, одна страница. Так вот в редактировании смотрю там стоит esc(12) А в report его нету все там перерыл нет ничего подобного. Но хоть что ниделай две выписки сначала вместе, а потом каждая на отдельной странице. А надо что бы изначально каждая на своей странице была. Как это сделать ?
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32898290
дай посмотреть репорт, приложи файл
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32898295
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, к сожалению немогу. Так устроенна система
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32898462
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В отчете FPD можно было напрямую писать принтерные коды прямо в объектах печати. Т.е. если создать объект печати и написать в нем

CHR(27)+CHR(12)

то это и вызовет автоматический переход на новую страницу.

Посмотри собственно содержимое всех объектов печати. Может где-то есть такая штука
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32898867
Фотография Игорь Л.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Urri2 Игорь Л.
И миришься с пустым местом между последней строкой и подписью на полстраницы?
В принципе, да. Проверки на кол-во записей, проверки на выведенные записи и в итоге: если текста на полстраницы, то выводится SUMMARY, если больше, то выводится PAGE FOOTER. Приходится так делать ибо несовершенен ОН....
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32898995
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы просто не умеете их готовить ;-)))
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32899266
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть тупой и радикальный способ все отрегулировать - сначала сформировать report-ом текстовый файл, и затем открыть его на низком уровне. Типа:
fname=fopen('MyFile.txt')
потом удалить все прогоны листа, к примеру так:
n=0
do while !feof(fname)
a=fget(fname)
a=chrtran(a,chr(13)+chr(10),chr(10)+chr(12))
* - это замена прогона на конец строки
* если же, бывает вставляется один символ chr(13) - обычно программно
* тогда a=chrtran(a,chr(13),chr(0)) - что-то в этом роде
=fwrite(fname,a)
n=n+1
enddo
=fclose(fname)
А потом точно так же - навставлять самому эти прогоны - символы chr(13), по своим. каким угодно условиям - по количеству строк и т.п.
Можно подсчитать число строк - здесь в цикле переменная n - потом, разделив на число строк на листе, выяснить, "повиснет" ли в конце главбух - и сделать предпоследний лист с меньшим числом строк.
Это всего лишь один из способов "борьбы с report-ом" - своими "внутренними" ресурсами, по-моему, report не ликвидирует все вышеуказанные проблемы.
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32899436
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь!!! там выше что-то не совсем так. Сейчас некогда разобраться.
Вот быстренько накарябал рабочий вариант:
fn=fope('MyFile.txt')
fm=fcre('temp.txt')
do whil !feof(fn)
a=fget(fn)
if !sss$a
=fput(fm,a)
endif
enddo
=fclo(fn)
=fclo(fm)
!copy temp.txt MyFile.txt
здесь вместо sss - надо подставить символ "зеркальца" (т.е. chr(13)) в символьном отображении и в кавычках по краям - в FPD он легко ставится из верхней менюшки редактора - System - ASCII chart.
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32900773
Фотография Игорь Л.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UrriВы просто не умеете их готовить ;-)))
Просто я давно уже не работаю в досе. И, конечно, такой трюк (см. предыдущий пост) в винде не сделаешь (особенно если все принтеры, с которыми приходится работать - лазерные, а то и пс)
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #32900869
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто о чем, а я - о своем... варианте :)
В первом случае там в команде fopen - пропущен параметр (по умолчанию - только чтение), т.е. надо: fname=fopen('MyFile.txt',2) - открывается для записи и чтения.
потом - после чтения строки fget-ом позиция чтения-записи в файле меняется, и надо опять вернуться к началу строки командой =fseek(fname,-len(a),1)
Но, короче, все равно - второй приведеныый там выше мной вариант (который - "рабочий") лучше, потому что позволяет в цикле чтения файла удалять лишние пустые строки - можно вставить в цикл после команды чтения fget:
if EMPTY(a)
i=1
do while EMPTY(a)
a=fget(fn)
i=i+1
enddo
endif
* где i - получается число пустых срок подряд, допустим maxpust - максимально
* нужное число пустых строк, тогда
* можно разрешить запись в другой файл, только если
if i<=maxpust
=fwrite(fname,a)
endif
И второй файл будет короче первого.
Кстати команду копирования внизу можно вообще выкинуть, а сразу же посылать получившийся файл (TEMP.TXT) на принтер или в процедуру просмотра-печати.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
foxpro 2.0 редактирование report
    #36518136
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите, пожалуйста. Имею навыки программирования без спец. образования. Столкнулся с неожиданной проблемой, когда попытался сконструировать report в foxpro 2.0 (в VFP - без проблем). Располагаю все, что мне нужно, на планшете отчета и в режиме предварительного просмотра убеждаюсь, что все работает, как надо. Но все попытки сохранить отчет пресекаются сообщением: memo file is missing or испорчен. Причем я понимаю, что речь идет о frt-файле, но не понимаю, почему он is missing. Почему он не создается? Кто мне поможет?
...
Рейтинг: 0 / 0
foxpro 2.0 редактирование report
    #36518164
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,

Начните новый топик!
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / foxpro 2.0 редактирование report
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]