Имя: Пароль:
1C
1С v8
Возможно ли штатно получить список установленных принтеров в 1с ?
0 Конфигуратор1с
 
15.08.11
12:24
Маловероятно, но все же, есть ли в 1с встроенная функция получения списка установленных принтеров?
1 Axel2009
 
15.08.11
12:26
не находил
2 Wobland
 
15.08.11
12:27
штатно нет, а скрипт - вот он:
http://www.windowsfaq.ru/content/view/413/70/
3 Поручик
 
15.08.11
12:27
(0) Нет. Используй WMI
http://infostart.ru/public/21019/
4 asady
 
15.08.11
12:31
ИмяКомпьютера=".";
ServiceSet=GetCOMObject("winmgmts:{impersonationLevel=impersonate}!\\"+ИмяКомпьютера+"\root\cimv2");
PrinterSet=ServiceSet.Get("Win32_Printer");

   Попытка
       Items=ServiceSet.ExecQuery("Select * from Win32_Printer");
   Исключение
       Сообщить(ОписаниеОшибки());
       Отказ=Истина;
       возврат;
   КонецПопытки;    
   Принтеры.Очистить();
     для каждого стр из Items Цикл
       новстр=Принтеры.Добавить();
       новстр.ПоУмолчанию = стр.Default;
       если новстр.ПоУмолчанию Тогда
           ИмяПринтера= стр.Name;
           ПринтерПоУмолчанию=ИмяПринтера;
       КонецЕсли;    
       новстр.Имя = стр.Name;
       новстр.Состояние=СписокСостояний[стр.PrinterStatus%8];
       новстр.Комментарий=стр.Comment;
       новстр.Описание=стр.Description;
       новстр.ИмяПорта=стр.PortName;
   КонецЦикла;

это рабочий код
5 Конфигуратор1с
 
15.08.11
13:25
Спасибо огромное
6 Кокос
 
29.08.11
12:42
(4) а есть кусок кода как потом на этот список выслать один документ по очереди..?
Основная теорема систематики: Новые системы плодят новые проблемы.