Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Собственно проблема - печать большого количества табдоков с клиента, пользователь долго ожидает завершения процесса печати. Очень хочется сделать что-то что позволит печатать в фоне (с клиента или сервера не важно), что бы после нажатия на кнопку - печать пошла отдельным "процессом", а пользователь мог работать с приложением дальше. Условия местности: есть ~7 ПК и сервер объединенные в локальную сеть, и есть ~5 принтеров в той же сети, доки печатаются на разные принтеры в зависимости от неких условий (пользователь не принимает участия в процессе печати, он просто нажимает кнопку, дальше 1С сама выполняет печать)
Печать через Adobe/Foxit API не предлагать, т.к. в серверном варианте не работает (у процесса под которым запущен сервер нет активного сеанса для запуска приложений), rundll32 printui.dll,PrintUIEntry не подходит по схожей причине. Отдельный сеанс 1С который будет печатать некую очередь - не подходит, печать должна происходить сразу, поэтому опрашивать очередь каждую секунду и держать активный сеанс на сервере не вариант.
С удовольствием выслушаю предложения и пожедлания
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8
ФоновыеЗадания.Выполнить(...);
Одним из параметров есть имя метода, ещё одним - дополнительные параметры, которые можно в метод передать. В результате метод будет выполняться в фоне. В самом методе прописываете алгоритм печати.
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8
Можно отправить файл на печать из командной строки. Так вот можно попробовать сохранить файл на сервере и выпонить соответствующую команду системы. И на сервере и где угодно должно работать по идее (если сервер или что угодно работают под ОС Windows).
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(Vofka @ 03.06.15, 16:28)
Можно отправить файл на печать из командной строки.
это либо rundll32 о котором я писал выше, либо "copy filename printername" но тут filename должен быть либо простым текстом, либо какими-то специальными двоичными данными которые воспримет принтер, что усложняет разработку, т.к. принтеры разные, и что надо разрабатывать - непонятно, хотя мне кажется это тоже требует командной строки которая требует активного сеанса, что в режиме работы сервера 1с не возможно.
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(Vofka @ 03.06.15, 17:25)
Установите на сервер какую-то прогу для чтения pdf
Не работает это в серверном варианте, это я писал в первом посте (adobe, foxit).
ЗапуститьПриложение выполняется, не вызывает исключение, но физически ничего не происходит, т.к. для запуска "какой-то проги" требуется активный сеанс.
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(Alpha666 @ 13.06.15, 13:20)
Используйте вкладку "Быстрая печать"
Смотрю вам было нечего делать, пройтись по форуму и оставить иногда бессмысленные сообщений. Не делайте так больше, читайте проблему - потом отвечайте. p.s. количество сообщений никаких привилегий не дает.
Личные бесплатные консультации не даю, для этого есть форум!
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!