Имя: Пароль:
1C
1С v8
Как определить неактивный принтер из списка?
0 Мимохожий Однако
 
22.12.13
20:02
Есть функция
Функция  ВернутьСписокПринтеров(ПринтерПоУмолчанию)
    ИмяКомпьютера=".";
    ServiceSet=GetCOMObject("winmgmts:{impersonationLevel=impersonate}!\\"+ИмяКомпьютера+"\root\cimv2");
    PrinterSet=ServiceSet.Get("Win32_Printer");
    
    Попытка
        Items=ServiceSet.ExecQuery("Select * from Win32_Printer");
    Исключение
        Сообщить(ОписаниеОшибки());
        Отказ=Истина;
        возврат Неопределено;
    КонецПопытки;
    Принтеры.Очистить();
    для каждого стр из Items Цикл
        новстр=Принтеры.Добавить();
        новстр.ПоУмолчанию = стр.Default;
        если новстр.ПоУмолчанию Тогда
            ИмяПринтера= стр.Name;
            ПринтерПоУмолчанию=ИмяПринтера;
        КонецЕсли;    
        новстр.Имя = стр.Name;
        новстр.Состояние=стр.PrinterStatus;
        новстр.Комментарий=стр.Comment;
        новстр.Описание=стр.Description;
        новстр.ИмяПорта=стр.PortName;
    КонецЦикла;
    Возврат Принтеры;
КонецФункции
..
Список я получил, но как определить готовность принтера, который может засыпать или отваливаться.
1 kumena
 
22.12.13
20:04
принтер еще может бумагу зажевать, или её нехватит. тоже надо проверять?
2 Мимохожий Однако
 
22.12.13
20:07
(1)Если возможно, то да. Ситуация обычно такая: на складе в другом помещении надо распечатать среди прочих накладную. Когда принтер на складе по каким-то причинам не готов, то печать идёт в основной офис. Приходится проверять активность,будить принтер и потом повторять  печать. При пакетной печати напрягает пользователей.
3 Мимохожий Однако
 
23.12.13
07:46
вопрос актуален пока
4 ИС-2
 
naïve
23.12.13
08:01
(0) интересно. Надо у себя попробывать. Только не понимаю, как пользователю узнают где искать накладную?
5 БалбесВ1с
 
23.12.13
08:01
(0)Опросить все принтеры.
6 MUXACb
 
23.12.13
08:21
(0) Метод ПроверитьВывод:
При возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение.
7 Мимохожий Однако
 
23.12.13
08:56
(4)На складе только один принтер. Когда туда приходит накладная, то складские рабочие сразу приступают к подборке товара. А в офисе одновременно распечатываются остальные накладные.
(6)Этот метод у какого объекта?
8 Мимохожий Однако
 
23.12.13
09:22
(6)Спасибо. Нашел.
9 Мимохожий Однако
 
23.12.13
09:51
PrinterStatus в моём случае выдавала значения "1","2" или "3"
Где-нибудь есть описание по этим значениям?