|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Добрый день. Проблема следующая. У нас на работе используется б.д. написанная на foxpro 2.0. Есть report он выводит кучу данных и может в зависимости от колличества данных распологаться как на одной странице, так и на нескольких. Проблема возникает, когда репорт вмещается на одной странице, при этом все проходит отлично, за исключением только того что строчка Главный бухгалтер переноситься на начало следующей страницы, а места на первой еще куча, и впринципе при самом жестком раскладе для этой строки там куча мекста. Как решить эту проблему ума не приложу, перепробывал все что мог, но ничего не помогло. Одна надежда на вас. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 10:32 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Попробуйте перенести подпись Главного бухгалтера в раздел Примечание отчета - тогда она будет печататься на одной странице с данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 10:43 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Прошу прощения, но я просто не вкурсе куда конкретно его перенести. Там значит слева есть следующие разделы PgHead, Detail, PgFoot, Sumary куда его ставить ? Или я не о том думаю ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 11:00 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Логично поместить в summary. Но у области summary не должно быть галки "печатать summary на отдельной странице". ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 11:34 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Можно еще создать группу по равенству recno() reccount() - в этом случае можно будет задать для нее условие "печатать новую группу на следующей странице, если до конца текущей осталось меньше скольких-то строчек". Количество этих строчек рассчитать с учетом высоты диапазона summary. Красиво: если подпись бухгалтера не помещается на текущей странице, она переползет на следующую вместе с последней записью отчета. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 11:38 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Не поню, у полосы Summary в FPD был признак "Печатать с новой страницы"? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 12:39 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
в FPD в SUMMARY есть свойство "New page" ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 13:06 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Я вывожу в раздел Page Footer, с проверкой, все ли записи выведены. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 13:19 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
2 Игорь Л. И миришься с пустым местом между последней строкой и подписью на полстраницы? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 13:21 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
MaximZaikin кстати, если у тебя подпись тоже в pagefooter-е, попробуй уменьшить количество строк в странице. Может, на первую страницу выводится нечто незапланированное отчетом, типа логотипа, добавляемого не через сам отчет, а как-то еще, например, через слияние файла с картинкой и отчета. При этом длина первой страницы короче остальных на высоту этого самого логотипа. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 13:26 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
А в выяснении источника проблемы тебе поможет печать отчета в файл. Посмотри потом на этот файл. Обрати внимание на наличие символа chr(12) (конца страницы) перед подписью. Если он там есть, значит, перенос подписи на следующую страницу запланированный и предопределенный в отчете. А если нет - то незапланированный (строк на странице, заданной в отчете, больше, чем может поместиться на конкретной бумажной странице при печати на конкретном принтере при прочих конкретных условиях). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2005, 13:31 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Спасибо. Да действительно выставляется chr(12). Вопрос, а где можно в свойствах report глянуть что он выставляется ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2005, 03:32 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Как было сказано выше у SUMMARY есть свойство "New Page" в диалоге включения/выключения Title/Summary ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2005, 06:18 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Нет в сумари такое св-во не установленно, и самое, что интересно, это то что summary я вобще недавно отключил, то есть убрал. И вот еще, почему то происходит так, печатает две выписки на одной странице, а все последующие на на отдельной, то есть одна выписка, одна страница. Так вот в редактировании смотрю там стоит esc(12) А в report его нету все там перерыл нет ничего подобного. Но хоть что ниделай две выписки сначала вместе, а потом каждая на отдельной странице. А надо что бы изначально каждая на своей странице была. Как это сделать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2005, 07:05 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
дай посмотреть репорт, приложи файл ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2005, 07:10 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Блин, к сожалению немогу. Так устроенна система ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2005, 07:23 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
В отчете FPD можно было напрямую писать принтерные коды прямо в объектах печати. Т.е. если создать объект печати и написать в нем CHR(27)+CHR(12) то это и вызовет автоматический переход на новую страницу. Посмотри собственно содержимое всех объектов печати. Может где-то есть такая штука ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2005, 10:01 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Urri2 Игорь Л. И миришься с пустым местом между последней строкой и подписью на полстраницы? В принципе, да. Проверки на кол-во записей, проверки на выведенные записи и в итоге: если текста на полстраницы, то выводится SUMMARY, если больше, то выводится PAGE FOOTER. Приходится так делать ибо несовершенен ОН.... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2005, 12:26 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Вы просто не умеете их готовить ;-))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2005, 13:10 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Есть тупой и радикальный способ все отрегулировать - сначала сформировать 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 не ликвидирует все вышеуказанные проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2005, 14:36 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Извиняюсь!!! там выше что-то не совсем так. Сейчас некогда разобраться. Вот быстренько накарябал рабочий вариант: 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2005, 15:20 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
UrriВы просто не умеете их готовить ;-))) Просто я давно уже не работаю в досе. И, конечно, такой трюк (см. предыдущий пост) в винде не сделаешь (особенно если все принтеры, с которыми приходится работать - лазерные, а то и пс) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2005, 10:49 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Кто о чем, а я - о своем... варианте :) В первом случае там в команде 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) на принтер или в процедуру просмотра-печати. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2005, 11:29 |
|
foxpro 2.0 редактирование report
|
|||
---|---|---|---|
#18+
Помогите, пожалуйста. Имею навыки программирования без спец. образования. Столкнулся с неожиданной проблемой, когда попытался сконструировать report в foxpro 2.0 (в VFP - без проблем). Располагаю все, что мне нужно, на планшете отчета и в режиме предварительного просмотра убеждаюсь, что все работает, как надо. Но все попытки сохранить отчет пресекаются сообщением: memo file is missing or испорчен. Причем я понимаю, что речь идет о frt-файле, но не понимаю, почему он is missing. Почему он не создается? Кто мне поможет? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2010, 12:54 |
|
|
start [/forum/topic.php?fid=41&msg=32896526&tid=1585508]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
104ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 209ms |
0 / 0 |