печать через веб-сервис #705606


#0 by temmy70
Добрый день. Очень хочется печатать из внешнего приложения на принтер, который указывается ручками. Но печать не проходит. По логам строку печати проходит, но результата никакого. Вообще возможно печатать через веб-сервис? Еще заметил, при запуске теста печати из обработки, что у одного пользователя 1С работает установка принтера , а другому пользователю побарабану, он печатает на тот, что стоит поумолчанию. Это как-то связано между собой?
#1 by temmy70
Платформа (8.2.19.83). Апач стартует под пользователем с правами на принтер.
#2 by temmy70
ап
#3 by braslavets
Доступность: Тонкий клиент, веб-клиент, толстый клиент.
#4 by temmy70
это доступность чего? ИмяПринтера
#5 by temmy70
у свойства табличного документа ИмяПринтера Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. у общего модуля, из которого печать Доступность: Клиент, Сервер, ВнешнееСоединение
#6 by braslavets
Напечатать
#7 by temmy70
то есть никак не напечатать из веб-сервиса? (
#8 by braslavets
можно получить base64 закодированный печ.файл - к примеру пдф, сохранить его и запулить на печать. Зависит от приложения которое пользует вебсервис. У меня было так: из одной базы через веб-сервис запрашивал пакет печатных форм из другой - zip с mxl файлами. Разворачивал и печатал.
#9 by temmy70
имеется ввиду сохранить файл, и 1Синой же его напечатать?
#10 by braslavets
У меня было так - на складе печатали расходку, налоговую и ттн из УТ. Склад удаленный, у него своя конфа.
#11 by temmy70
спасибо, интересная идея. можно пожалуйста поподробнее про base64? не совсем понял как реализовать.
#12 by braslavets
А это на уровне выходного параметра у операции вебсервиса - устанавливаешь ему тип: "base64Binary (;, направление: выходной. А в методе назначаешь ему значение:
#13 by braslavets
А на стороне получателя разворачиваешь.
#14 by temmy70
аа вот как. ясно. у меня немного другая задача, клиентское приложение только отдает команду печати, а печатать надо на сетевом принтере с сервера.
#15 by braslavets
Ну, сохраняй в ексель, открывай через COMОбъект("Excel.Application") и печатай
#16 by temmy70
[b]braslavets[/b] спасибо большое за советы, буду так пробовать.
#17 by Serginio1
Еще на 8.1 помню изворачивался для сохранения файлов в xls через запуск 1С конфигурации в которой при запуске проверял параметры запуска в котором хранился путь к документу и пересохранял его в экселевский формат. ЗапуститьПриложение(ИсполняемыйФайл,"ENTERPRISE /F """+путьКБазе+""" /C """+ИмяФайлаМХЛ+""""); А в Базе уже ПриНачалеРаботыСистемы анализируешь ПараметрЗапуска печатаешь и выходишь.
#18 by temmy70
тоже была мысль запуска 1С под пользователем для печати, но это не очень хорошо. Если вдруг лицензий будет не хватать, то весь функционал встанет. А как печатать через COMОбъект на указанный принтер?
#19 by Serginio1
Например
#20 by temmy70
спасибо, буду изучать
#21 by temmy70
Запуск 1С работает быстрее чем COMОбъект Excel. Но дальше столкнулся с предыдущей проблемой. Не устанавливается имя принтера. Точнее оно устанавливается, но не воспринимается при печати, используется принтер по умолчанию. Может быть причина в самом табличном документе? или в пользователе?
#22 by temmy70
продолжаем биться с печатью из вебсервиса. принято решение формировать файл Excel через COMОбъект, заполнять печатать и закрывать не сохраняя. Из обработки из под пользователя печатает. Но из вебсервиса ругается на команде говорит что не установлены принтеры. Как быть? как ему (и кому?) установить принтеры?
#23 by Serginio1
Вообще то для принтеров нужно устанавливать драйвера пути. Устройства и ПринтерыУстановка принтера
#24 by temmy70
так принтеры установлены. вебсервис возвращает клиенту список принтеров, но печатать на них не хочет.
#25 by Serginio1
Надо так понимать, что печать из под сервиса из 64 разрядного приложения? Проблема может быть в драйверах и правах доступа
#26 by braslavets
пользователю, от имени которого работает агент сервера 1С.
#27 by temmy70
извините, не понял вопроса. Команды в вебсервис идут из приложения на java, из браузера. Первые два раза печатал, потом перестал. сначала просто перестал, потом стал ругаться на принтеры. Какие права доступа посмотреть? Апач работает от пользователя со всеми правами. От пользователя 1С, под которым подключается вебсервис, вроде ничего зависить не должно. база файловая.
#28 by Serginio1
Очередь печати смотрел?
#29 by temmy70
да, пусто может можно как-то программно установить принтер?
#30 by Serginio1
По уму печить из запускаемой 1С должна быть такой же как при интерактивной печати. Печатать из 1С с программной установкой пробовал?
#31 by temmy70
да, но у меня получается что сеанс 1С не запускается. Или когда приходит команда в вебсервис из внешнего источника что-то запускается? Что значит печатать из 1С с программной установкой? Печатать Табличный документ не выходит, потому что команда недоступна для внешнего соединения. Печатать запуская батник или сеанс 1С тоже не получится, так не доступно для внешнего соединения.
#32 by Serginio1
в 17 если ты в ИмяФайлаМХЛ можешь передать имя файла в котором сохранишь путь к табличному документу и имя принтера то А в Базе уже ПриНачалеРаботыСистемы анализируешь ПараметрЗапуска печатаешь и выходишь. По сути должно выполняться как интерактивный запуск.
#33 by temmy70
а, понял, но команда ЗапуститьПриложение не доступна для внешнего соединения. :( я так уже пробовал.
#34 by Serginio1
Ну запусти через COM
#35 by Serginio1
#36 by temmy70
ух ты! Спасибо огромное, сейчас буду пробовать.
#37 by Serginio1
Если что описание и DLL лежит здесь
#38 by temmy70
что-то у меня по ссылке на вирусы ругается :(. видимо у меня библиотеки нет, потому что COMОбъект создать не может: "недопустимая строка класса".
#39 by temmy70
регистрация comcntr.dll не помогла.
#40 by Serginio1
Ты читал описание в 37? Для проведения тестов нужно распаковать архив . Затем нужно  зарегистрировать Нужные DLL. Запускаем РегистрацияКомСервера.exe и выбираем NetObjetToIDispatch45.dll которая лежит в DLLNetObjetToIDispatch45 Соответственно на компьютере должна быть установлена WindowsMicrosoft.NETFrameworkv4.0.30319 38
#41 by temmy70
скачал, изучаю, спасибо большое
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С