powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Печать pdf документов в цикле
11 сообщений из 11, страница 1 из 1
Печать pdf документов в цикле
    #39247625
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги!
У меня странно работает вот такая конструкция:

SELECT ...

SCAN

programm = ...

lcDir = ...

lcFileName = ...

PRINTJOB

bzSettings = CreateObject("Bullzip.PDFPrinterSettings")
WITH bzSettings
.RemoveSettings(.t.)
.SetValue("Output", lcDir + lcFileName )
.SetValue("ShowPdf","no")
.SetValue("ShowSettings","never")
.SetValue("ShowProgress","no")
.SetValue("ShowProgressFinished","no")
.WriteSettings(.t.)
ENDWITH

SET PRINTER TO NAME "Bullzip PDF Printer"

DO &programm && Внутри процедуры &programm есть команда типа - REPORT FORM *.frx TO PRINTER

SET PRINTER TO DEFAULT

RELEASE bzSettings

ENDPRINTJOB

ENDSCAN


Может быть правильно было бы писать так - в каждой процедуре &programm оформить фрагмент


lcDir = ...

lcFileName = ...

PRINTJOB

bzSettings = CreateObject("Bullzip.PDFPrinterSettings")
WITH bzSettings
.RemoveSettings(.t.)
.SetValue("Output", lcDir + lcFileName )
.SetValue("ShowPdf","no")
.SetValue("ShowSettings","never")
.SetValue("ShowProgress","no")
.SetValue("ShowProgressFinished","no")
.WriteSettings(.t.)
ENDWITH

SET PRINTER TO NAME "Bullzip PDF Printer"

REPORT FORM *.frx TO PRINTER

SET PRINTER TO DEFAULT

RELEASE bzSettings

ENDPRINTJOB


И тогда вызов был бы таким:


SELECT ...

SCAN

programm = ...

DO &programm

ENDSCAN
...
Рейтинг: 0 / 0
Печать pdf документов в цикле
    #39247726
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополню...

Попытки использовать DOEVENTS перед ENDSCAN не приводят к четкому последовательному вызову программ печати.

У меня есть подозрение, что первый вариант это рекурсивный вызов задания на печать, что приводит к вложенности пары PRINTJOB...ENDPRINTJOB, что не разрешено.
...
Рейтинг: 0 / 0
Печать pdf документов в цикле
    #39249708
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем именно проблема?
У меня (по сути) такая же конструкция работает нормально.
...
Рейтинг: 0 / 0
Печать pdf документов в цикле
    #39251930
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pulsar_p,

УБЕДИТЕЛЬНЕЙШАЯ ПРОСЬБА !!!

Выложите пожалуйста ваш фрагмент, который работает нормально.
Я их сравню посимвольно, по порядку следования команд, всеми доступными способами...

ОЧЕНЬ НУЖНО !!!
...
Рейтинг: 0 / 0
Печать pdf документов в цикле
    #39252498
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UAP,
Вот процедура. Я предварительно формирую курсор с данными, а затем ее вызываю.

Печать в pdf-формат
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
PROCEDURE SBROSVFORMATPDF(PRIEMREPORT,PRIEMFILESBROS,priem_file_kuda1)
    *Вывод отчетов в формат PDF (справки)
    *PRIEMREPORT - Файл отчета
    *PRIEMFILESBROS - имя файла, в который печатаем
    *priem_file_kuda1 - Путь для файла (если путь отличается от пути по умолчанию (по умолчанию putpdf))
    IF VARTYPE(priem_file_kuda1)='C'
        PRIEMFILESBROS=priem_file_kuda1+PRIEMFILESBROS+'.pdf'
    ELSE
        PRIEMFILESBROS=putpdf+PRIEMFILESBROS+'.pdf'
    ENDIF
    PRINTJOB
        BZSETTINGS = CREATEOBJECT("Bullzip.PDFPrinterSettings")
        WITH BZSETTINGS
            .REMOVESETTINGS(.T.)
            .SETVALUE("Output", PRIEMFILESBROS )
            .SETVALUE("ShowPdf","no")
            .SETVALUE("ShowSettings","never")
            .SETVALUE("ShowProgress","no")
            .SETVALUE("ShowProgressFinished","no")
            .WRITESETTINGS(.T.)
        ENDWITH
        SET PRINTER TO NAME "Bullzip PDF Printer"
        REPORT FORM &PRIEMREPORT TO PRINTER

        SET PRINTER TO DEFAULT
        RELEASE BZSETTINGS
    ENDPRINTJOB


...
Рейтинг: 0 / 0
Печать pdf документов в цикле
    #39252753
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pulsar_p,

Большое спасибо!

Приступил к изучению...
...
Рейтинг: 0 / 0
Печать pdf документов в цикле
    #39252793
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pulsar_p,

Направил вам по почте снимок того, что наблюдается на экране при появлении ошибки
...
Рейтинг: 0 / 0
Печать pdf документов в цикле
    #39252848
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pulsar_p,

Я сравнил вашу и мою программы.

Они идентичны.

Прилагаю изображение на экране при отправке на печать - "распахивание".

Пока у меня не получается найти причину проблемы.
...
Рейтинг: 0 / 0
Печать pdf документов в цикле
    #39252855
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pulsar_p,

То, что вы видите в прикрепленном файле должно быть ПДФ документом.
ПДФ документ действительно формируется.
Но на экране появляется "это", похожее на ПРЕВЬЮ.
Через пару секунд оно исчезает и все продолжается нормально.
Напоминаю, у меня идет печать ПДФ документов в цикле.
Ошибка появляется чаще всего на первом документе.
Если первый документ формировать отдельно, самостоятельно, а не в цикле, то все нормально.
...
Рейтинг: 0 / 0
Печать pdf документов в цикле
    #39252972
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pulsar_p,

Похоже, что параметр NOCONSOLE решает проблему.

REPORT FORM *.frx TO PRINTER NOCONSOLE

Но нужно проверить еще многократно...
...
Рейтинг: 0 / 0
Печать pdf документов в цикле
    #39252984
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UAP,
Может и NOCONSOLE. У меня таких проблем не возникает(ло).
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Печать pdf документов в цикле
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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