Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Фоновая печать табличных документов с клиента
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
logist
Собственно проблема - печать большого количества табдоков с клиента, пользователь долго ожидает завершения процесса печати. Очень хочется сделать что-то что позволит печатать в фоне (с клиента или сервера не важно), что бы после нажатия на кнопку - печать пошла отдельным "процессом", а пользователь мог работать с приложением дальше.
Условия местности: есть ~7 ПК и сервер объединенные в локальную сеть, и есть ~5 принтеров в той же сети, доки печатаются на разные принтеры в зависимости от неких условий (пользователь не принимает участия в процессе печати, он просто нажимает кнопку, дальше 1С сама выполняет печать)

Печать через Adobe/Foxit API не предлагать, т.к. в серверном варианте не работает (у процесса под которым запущен сервер нет активного сеанса для запуска приложений), rundll32 printui.dll,PrintUIEntry не подходит по схожей причине.
Отдельный сеанс 1С который будет печатать некую очередь - не подходит, печать должна происходить сразу, поэтому опрашивать очередь каждую секунду и держать активный сеанс на сервере не вариант.

С удовольствием выслушаю предложения и пожедлания smile.gif
Vofka
Запустить фоновое задание, которое напечатает всё.
logist
Цитата(Vofka @ 03.06.15, 11:07) необходимо зарегистрироваться для просмотра ссылки
Запустить фоновое задание, которое напечатает всё.

А подробней?
Vofka
ФоновыеЗадания.Выполнить(...);

Одним из параметров есть имя метода, ещё одним - дополнительные параметры, которые можно в метод передать. В результате метод будет выполняться в фоне. В самом методе прописываете алгоритм печати.
logist
Фоновое задание выполняется на сервере, там же будет недоступно ТабДок.Напечатать()
Vofka
Тогда да, не получится. Я думал, что на сервере печать доступна.
logist
Цитата(Vofka @ 03.06.15, 14:59) необходимо зарегистрироваться для просмотра ссылки
Я думал, что на сервере печать доступна.

Если бы была доступна - проблемы бы не было sad.gif
Vofka
Можно отправить файл на печать из командной строки. Так вот можно попробовать сохранить файл на сервере и выпонить соответствующую команду системы. И на сервере и где угодно должно работать по идее (если сервер или что угодно работают под ОС Windows).

Ну и, соответственно, делать все это в фоне.
logist
Цитата(Vofka @ 03.06.15, 16:28) необходимо зарегистрироваться для просмотра ссылки
Можно отправить файл на печать из командной строки.

это либо rundll32 о котором я писал выше, либо "copy filename printername" но тут filename должен быть либо простым текстом, либо какими-то специальными двоичными данными которые воспримет принтер, что усложняет разработку, т.к. принтеры разные, и что надо разрабатывать - непонятно, хотя мне кажется это тоже требует командной строки которая требует активного сеанса, что в режиме работы сервера 1с не возможно.
Vofka
Установите на сервер какую-то прогу для чтения pdf, сохраните печатную форму в соответствующий формат и попробуйте напечатать.
logist
Цитата(Vofka @ 03.06.15, 17:25) необходимо зарегистрироваться для просмотра ссылки
Установите на сервер какую-то прогу для чтения pdf

Не работает это в серверном варианте, это я писал в первом посте (adobe, foxit).

ЗапуститьПриложение выполняется, не вызывает исключение, но физически ничего не происходит, т.к. для запуска "какой-то проги" требуется активный сеанс.
Alpha666
Используйте вкладку "Быстрая печать"
необходимо зарегистрироваться для просмотра ссылки
logist
Цитата(Alpha666 @ 13.06.15, 13:20) необходимо зарегистрироваться для просмотра ссылки
Используйте вкладку "Быстрая печать"

Смотрю вам было нечего делать, пройтись по форуму и оставить иногда бессмысленные сообщений. Не делайте так больше, читайте проблему - потом отвечайте. p.s. количество сообщений никаких привилегий не дает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.