1CLenta.ru  

Получить список принтеров

Программирование системы     19.04.2016 08:44     7770

Объект встроенного языка "ТабличныйДокумент", обладает свойством "ИмяПринтера". Данное свойство содержит имя принтера, известного в системе, на который будет выводиться табличный документ при печати.

Для того чтобы отправить табличный документ на определенный принтер, необходимо получить список доступных устройств для печати. COM-объект "WScript.Network" позволяет получить список установленных принтеров в системе.

Функция ПолучитьМассивПринтеров()

WScriptNetwork = Новый COMОбъект("WScript.Network");
МассивПринтеров = Новый Массив;
Printers = WScriptNetwork.EnumPrinterConnections ();
КоличествоПринтеров = Printers.length - 1;

Для Номер = 0 По КоличествоПринтеров Цикл

ТекСтруктура = Новый Структура("Порт, Имя");
ТекСтруктура.Порт = Printers.Item(Номер);
Номер = Номер + 1;
ТекСтруктура.Имя = Printers.Item(Номер);
МассивПринтеров.Добавить(ТекСтруктура);

КонецЦикла;

Возврат МассивПринтеров;

КонецФункции

Как видно из примера функция "ПолучитьМассивПринтеров" возвращает массив структур. Каждая структура содержит "Порт" и "Имя" принтера. Для распечатки табличного документа, на нужном принтере, необходимо задать свойство "ИмяПринтера" и вызвать метод "Напечатать()".

//Например возьмём имя принтера из элемента массива с индексом "0".
ТабДок = Новый ТабличныйДокумент();
ТабДок.ИмяПринтера = МассивПринтеров[0]["Имя"];
ТабДок.Напечатать();

Комментарии (0)