Имеем локальный комп с локальным этикеточным принтером, воткнутым в лпт1. Еще имеем удаленный сервер терминалов, на котором крутится 1С 7.7. В одинэске есть обработка печати этикеток, которая, тварь такая, работает не с очередью печати, а напрямую с портом. Необходимо заставить 1С, запущенную в терминальной сессии, печатать на локальный порт LPT1.
Вариант "расшарить подключенный по RDP локальный принтер, назначить очереди печати виртуальный порт LPT (через net use или метод AddPrinterConnection объекта WScript.Network в VBS) и печатать на него" не предлагать, ибо это означает делать более 9000 действий при каждом подключении к RDP, причем пользователям, которых делать членами группы "операторы печати" админы удаленного сервера логично не хотят.
Примечание:
Вышли из положения через задницу, но вроде работает хорошо:
1С-ная обработка вместо LPT пишет принтерные команды прямо в файл \\tsclient\...\rdpprint.txt
на локальном компе VBS-скрипт следит за появлением этого файла и при его появлении запускает батник, из двух очевидных строчек
"echo rdpprint.txt > lpt1"
"del rdpprint.txt"
P.S. Buravchik, иногда лучше молчать, чем позориться.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.