|
v7: Как проверить наличие установленного принтера
| ☑ |
0
BLP
06.03.13
✎
17:02
|
Подскажите, как в процедуре указать следующее
Если "ТАкой-то принтер" имеется Тогда
блаблабла
Иначе
КонецЕсли;
Меня интересует как прописать после если проверку на принтер
|
|
1
sapphire
06.03.13
✎
17:05
|
использовать wmi
|
|
2
sapphire
06.03.13
✎
17:06
|
|
|
3
lucifer
06.03.13
✎
17:07
|
(0) в БСП реализована работа с Twain, и там есть такая возможность
|
|
4
lucifer
06.03.13
✎
17:07
|
(3) аа это 7, извиняюсь
|
|
5
Юрий Лазаренко
06.03.13
✎
17:08
|
(0) Вот кусок кода из 8-ки, думаю под 7.7 получится переделать:
&НаСервере
Процедура ПолучитьСписокПринтеровНаСервере()
ИмяКомпьютера = ".";
ServiceSet = GetCOMObject("winmgmts:{impersonationLevel=impersonate}!\\"+ИмяКомпьютера+"\root\cimv2");
PrinterSet = ServiceSet.Get("Win32_Printer");
Попытка
PrinterItems = ServiceSet.ExecQuery("Select * from Win32_Printer");
Исключение
Сообщить("Ошибка получения списка принтеров: " + ОписаниеОшибки());
Возврат;
КонецПопытки;
Принтеры.Очистить();
Для Каждого ТекСтрока Из PrinterItems Цикл
НоваяСтрока=Принтеры.Добавить();
НоваяСтрока.ПоУмолчанию = ТекСтрока.Default;
НоваяСтрока.Имя = ТекСтрока.Name;
//НоваяСтрока.Состояние = СписокСостояний[ТекСтрока.PrinterStatus%8];
//НоваяСтрока.Состояние = ТекСтрока.PrinterStatus % 8;
НоваяСтрока.Комментарий = ТекСтрока.Comment;
НоваяСтрока.Описание = ТекСтрока.Description;
НоваяСтрока.ИмяПорта = ТекСтрока.PortName;
КонецЦикла;
КонецПроцедуры
|
|
6
sapphire
06.03.13
✎
17:10
|
(5) это и есть wmi-запрос к ветке cimv2
|
|
7
Злопчинский
06.03.13
✎
18:44
|
(0) в формексе есть метод - возвращает список принтеров.
|
|
8
BLP
06.03.13
✎
19:51
|
(7) Короче, ничего не понял. (((
Вот Формекс у меня есть, а как написать эо конкретно, можно пожалуйста? ))
|
|
9
Тьма
06.03.13
✎
19:57
|
(8)
Сервис=Создатьобъект("Сервис");
СписокПринтеров=Сервис.ПолучитьСписокПринтеров();
|
|
10
DES
06.03.13
✎
20:07
|
Попытка
исключение
Прокатит ?
|
|
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс