HelpF.pro

Получить имя принтера выбранного по умолчанию

Код 1C v 7.x
  // maharbA
Функция Hex(Пар)
Результат="";
Пока Пар>0 Цикл
Результат=Сред("0123456789ABCDEF",Пар+1,1)+Результат;
Пар=Цел(Пар/16) ;
КонецЦикла;
Возврат ""+Результат;
КонецФункции
Функция ПолучитьПринтерПоУмолчанию()
ПринтерПоУмолчанию="";
Scr = CreateObject("MSScriptControl.ScriptControl");
Scr.Language = "javascript";
Scr.Timeout=-1;
КоллекцияПринтеров = Service.ExecQuery("S_elect Name,Attributes from Win32_Printer");
Scr.AddObject("o",КоллекцияПринтеров);
e=Scr.eval("new Enumerator(o);");
Пока e.atEnd(0)=0 Цикл
БайтАтрибута=Прав(Hex(e.item(0).Attributes),1);
Если ((БайтАтрибута>"3") И (БайтАтрибута<"8")) или (БайтАтрибута>"B") Тогда
ПринтерПоУмолчанию=e.item(0).Name;
Прервать;
КонецЕсли;
e.moveNext(0);
КонецЦикла;
Возврат ПринтерПоУмолчанию;
КонецФункции

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq7/view/622.html