powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
13 сообщений из 13, страница 1 из 1
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40028653
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую Visual Fox Pro 9 SP2
Создана программа - база договоров.
Одна запись в базе - это один отдельный договор.(содержит данные одного договора).
Из программы будет печататься за один раз только один отчёт (Report) - это договор, он ВСЕГДА на 8 страниц текста A4.

Проблема: Максимальная высота раздела "DETAIL" в отчёте (Report) ограничена по вертикали и не умещает 8 страниц текста A4.

Вопрос 1: Как расширить раздел "DETAIL" в отчёте (Report) по вертикали чтобы уместить 8 страниц текста A4 ?

Вопрос 2: Нужна возможность сохранять этот отчёт в файл PDF, RTF, Word - как это сделать ?

Либо подскажите другой лучший способ вывода такого отчёта на экран и сохранения в форматах PDF, RTF, Word

Заранее благодарен!
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40028681
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p672,

шаблон в Word - нужные поля обозначить и потом, вызывая его, поиском и заменой...
например, в шаблоне поле для E-Mail выглядит так: <mE_Mail>
подготавливается переменная mE_Mail... и аналогично остальные
дальше так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
loApp.Documents.Open(CurrentPath+"Shablon\Shablon.DOCX")
loApp.Selection.Find.Execute("\<*\>",,,.T.,,,.T.,1)
lcFoundText=loApp.Selection.Text
DO WHILE SUBSTR(lcFoundText,1,1)="<" AND SUBSTR(lcFoundText,LEN(lcFoundText),1)=">"
	lcCommand=loApp.Selection.Text
	lcCommand=SUBSTR(lcCommand,1,LEN(lcCommand)-1)
	lcCommand=SUBSTR(lcCommand,2)
	loApp.Selection.Text=EVALUATE(lcCommand)
	loApp.Selection.Find.Execute("\<*\>",,,.T.,,,.T.,1)
	lcFoundText=loApp.Selection.Text
ENDDO
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40028874
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
win 10 вывод текста из vfp 9 sp2 в word 2016 работает нормально

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
#define a chr(13)
q=create('word.application')
q.documents.add()
q.caption='caption'
z=GetObject('','word.basic')
z.Bold
z.CenterPara
z.insert('AABRAcadabra')
z.insert(a)
z.JustifyPara
z.insert(a)
z.insert('TRATATATA')
q.visible=.t.


это готовый PRG файл можно запустить на выполнение и посмотреть что будет..
насколько этот способ вывода правильный прошу критиковать..

Вопрос:
Как программно задать отступы на листе A4 сверху снизу слева справа ?
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40028877
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
от вывода обычным отчётом отказался, буду наверно так делать.

Где взять описание методов ? : CenterPara, JustifyPara и других.. - очень надо для работы..
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40028886
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ворде включаешь запись макроса, делаешь руками то что надо, выключаешь запись, открывешь макросы и портируешь его в свой код.
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40029156
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redrik,

Интересует этот вариант но как выводить опишите подробно и текст программы я не понял.
Впервые я это делаю, дайте более простой пример простейший на пальцах.
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40029159
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p672,

Чуть позже, если терпит, ОК?
Тяжелый и пакостный день...
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40029164
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p672,

как-то так...
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40029169
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redrik,

!!!Благодарю!!! Я продвинулся в решении задачи с вашей помощью! У меня бы не хватило ума!

Последний вопрос:
А есть ли вариант программы БЕЗ использования знаков < >, договор будет исключительно на русском языке, латинские метки БЕЗ знаков < > самодостаточны для идентификации мест вставки?

метод Selection.Find.Execute можно ведь использовать без знаков < >

вот текст с сайта Микрософт:
В этом примере выполняется поиск всех вхождений слова "Hi" в активном документе и замена каждого вхождения на "Hello".
Код: vbnet
1.
2.
3.
Set myRange = ActiveDocument.Content 
myRange.Find.Execute FindText:="hi", _ 
    ReplaceWith:="hello", Replace:=wdReplaceAll


ИЗВИНИТЕ за мою безграмотность!!!
!ОЧЕНЬ ПРОШУ ВАС! дать простой вариант без знаков < >
Если Вы заняты то может завтра выложите?! (очень надо!)
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40029187
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p672,

Конечно, можно!
Загоняем наши переменные и их значения в курсор, или в массив - как удобнее, нам лишь бы цикл организовать!
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40029197
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p672,

Оно там немного "разжевано" для облегчения...
А уже когда смысл понятен, можно убрать "лишние" переприсвоения ;)

Код: sql
1.
2.
3.
4.
5.
6.
7.
loApp.Documents.Open(CurrentPath+"Shablon_Dog.DOCX")
loApp.ActiveDocument.SaveAs(CurrentPath+"Dogovor.DOCX")
loApp.Selection.Find.Execute("\<*\>",,,.T.,,,.T.,1)
DO WHILE LEFT(loApp.Selection.Text,1)="<" AND RIGHT(loApp.Selection.Text,1)=">"
	loApp.Selection.Text=EVALUATE(STREXTRACT(loApp.Selection.Text,"<",">"))
	loApp.Selection.Find.Execute("\<*\>",,,.T.,,,.T.,1)
ENDDO
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40029199
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Именно сейчас и сам занимаюсь абсолютно аналогичной задачкой!
...
Рейтинг: 0 / 0
VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
    #40029200
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redrik,

Спасибо!
Стандартные средства отчётов в VFP не всегда дают возможность решить задачу.
Хорошо что есть возможность выдачи в word/excel.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP 9 SP2 Отчёт: высокий раздел "DETAIL" (в отчёте)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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