Для работы с сетевыми ресурсами в WSH предназначен объект WshNetwork. Из "1С:Предприятие" можно напрямую управлять сетевыми ресурсами, в том числе и принтерами.
Получить список принтеров
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Функция ПолучитьСписокПринтеров() СписокПринтеров = Новый СписокЗначений; СписокПринтеров.Очистить(); Принтеры = Новый COMОбъект(«WScript.Network»); Prn = Принтеры.EnumPrinterConnections(); й = 0; Пока й < Prn.Count() – 1 Цикл СписокПринтеров.Добавить(Prn.Item(й + 1)); й = й + 2; КонецЦикла; Принтер = СписокПринтеров.ВыбратьЭлемент(); //даём пользователю выбрать принтер Если Принтер <> Неопределено Тогда …… Сообщить(Принтер.Значение); // например …… КонецЕсли; КонецФункции |
Подключение сетевого принтера
1 2 3 4 5 6 7 8 9 10 11 |
//Создаём новый СОМ-объект Сеть = Новый СОМОбъект("Wscript.Network"); Попытка //устанавливаем принтер Сеть.AddWindowsPrinterConnection("\\ИмяСервера\ИмяПринтера"); //делаем этот принтер принтером по умолчанию Сеть.SetDefaultPrinter("\\ИмяСервера\ИмяПринтера"); Исключение //в случае неудачного подключения принтера Сообщить("Невозможно произвести подключение"); КонецПопытки; |
Объект WshNetwork позволяет определить список подключенных сетевых принтеров. Для этого используется метод EnumPrinterConnections, который возвращает коллекцию принтеров. Данную коллекцию можно перебрать с помощью конструкции
1 |
Для каждого... из... Цикл...КонецЦикла |