Вот и я наступил на грабли. Куда не сунусь - получаю по лбу. Кто подскажет как с помощью WScript установить (получить) параметры конкретного принтера (!!не путать с Параметры страницы). А конкретно надо утановить/отменить программно режим двухсторонней печати. Получить список всех доступных принтеров - легко, получить принтер по умолчанию - нефиг снедать! А вот дальше хана... Туплю и конкретно.
Если не WScript, то хоть чертом лысым - лишь бы работало.
Если не WScript, то хоть чертом лысым - лишь бы работало.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Не хочется новую тему открывать.
Дл печати на разные принтеры реализовал следующим образом
1.
wshPrint = CreateObject("WScript.Shell");
Prn = wshPrint.RegRead("HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device");
ПозЗпт = Найти(Prn, ",");
Prn = Лев(Prn, ПозЗпт - 1);
2. Если Строка(Конт.Склад) = "7 гр. Количественного Учета" Тогда
Таб.ПараметрыСтраницы(1,,1,5,5,5,5,5,5,1,1, Prn);
Таб.КоличествоЭкземпляров(2);
Таб.Напечатать(1);
ИначеЕсли Строка(Конт.Склад) = "3 Реактивы и штуч.отдел" Тогда
Таб.ПараметрыСтраницы(1,,1,5,5,5,5,5,5,1,1,"\\OTDEL3\HP1200");
Таб.Напечатать(1);
Иначе
Таб.ПараметрыСтраницы(,,,,,,,,,,, Prn);
глНапечатать(Таб,НастройкаПечати);
КонецЕсли;
Для текущего документа все ОК. но если в нем отработала только ветка
ИначеЕсли Строка(Конт.Склад) = "3 Реактивы и штуч.отдел" Тогда
Таб.ПараметрыСтраницы(1,,1,5,5,5,5,5,5,1,1,"\\OTDEL3\HP1200");
Таб.Напечатать(1);
то следующий док печатается опять же на этот принтер.
Как вернуть принтер по умолчанию? в каждую обработку добавлять
Таб.ПараметрыСтраницы(,,,,,,,,,,, Prn);
как-то неестественно...
Дл печати на разные принтеры реализовал следующим образом
1.
wshPrint = CreateObject("WScript.Shell");
Prn = wshPrint.RegRead("HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device");
ПозЗпт = Найти(Prn, ",");
Prn = Лев(Prn, ПозЗпт - 1);
2. Если Строка(Конт.Склад) = "7 гр. Количественного Учета" Тогда
Таб.ПараметрыСтраницы(1,,1,5,5,5,5,5,5,1,1, Prn);
Таб.КоличествоЭкземпляров(2);
Таб.Напечатать(1);
ИначеЕсли Строка(Конт.Склад) = "3 Реактивы и штуч.отдел" Тогда
Таб.ПараметрыСтраницы(1,,1,5,5,5,5,5,5,1,1,"\\OTDEL3\HP1200");
Таб.Напечатать(1);
Иначе
Таб.ПараметрыСтраницы(,,,,,,,,,,, Prn);
глНапечатать(Таб,НастройкаПечати);
КонецЕсли;
Для текущего документа все ОК. но если в нем отработала только ветка
ИначеЕсли Строка(Конт.Склад) = "3 Реактивы и штуч.отдел" Тогда
Таб.ПараметрыСтраницы(1,,1,5,5,5,5,5,5,1,1,"\\OTDEL3\HP1200");
Таб.Напечатать(1);
то следующий док печатается опять же на этот принтер.
Как вернуть принтер по умолчанию? в каждую обработку добавлять
Таб.ПараметрыСтраницы(,,,,,,,,,,, Prn);
как-то неестественно...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот