![]() |
![]() |
|
Двусторонняя печать на принтере | ☑ | ||
---|---|---|---|---|
0
xenus
03.03.07
✎
11:53
|
Как осуществить программно сабж? Принтер позволяет.
|
|||
1
Мулька
03.03.07
✎
11:57
|
Обычные настройки при выводе на принтер. Автоматом вроде не получится
|
|||
2
xenus
03.03.07
✎
12:01
|
А что делать, если очень нужно? А то в день на каждом принтере уходит по 4-5 упаковок бумаги. Принтеров штук 10... Начальство кричит, экономить надо... Как быть?
|
|||
3
Любоч
03.03.07
✎
12:41
|
(1)Неправда, можна и автоматом. (0) - создаешь Справочник.ДуплексПринтеры с реквизитом ИмяПринтера (полное сетевое). Заходишь через Пуск\Настройка\Принтеры...в нужный принтер, выставляешь дуплексную печать, сохраняещь в каталоге пользователя дуплексную настройку; потом снимаешь галочку дуплексной печати и сохраняешь моно-настройку. Код примерно такой (dll-ка и параметры командной строки могут быть другими, настройка для принтера "hp LaserJet 1320 PCL 6"):
Процедура СохранитьНастройку(ТипПечати)//ТипПечати "mono" или "duplex" - задаешь в диалоге на форме Если фПринтер.Выбран()=0 Тогда //(реквизит формы обработки НачальнаяНастройка - тип Справочник.ДуплексПринтеры) Предупреждение("Не выбран принтер"); Возврат; КонецЕсли; С="rundll32 printui.dll,PrintUIEntry /Ss /n """+СокрЛП(фПринтер.ИмяПринтера)+""" /a """+КаталогПользователя()+СокрЛП(фПринтер.Наименование)+"_"+ТипПечати+".dat"+""""; ЗапуститьПриложение(С); КонецПроцедуры После того, как в каталоге пользователя уже существуют нужные настройки можно например на панели инструментов в 1С добавить 2 кнопки - Моно-печать и Дуплекс-печать и вставить в эти кнопки обработки соответственно МоноПечать и ДуплексПечать, ниже приведен пример обработки дуплексПечать, моно - аналогично...Для коректной работы нужно ввести дополнительный реквизит ДуплексПринтер в справочнике "Пользователи" и переменную в глобальном модуле, смотри по тексту ниже Процедура ПриОткрытии() Принтер=глПользователь.ДуплексПринтер; Если Принтер.Выбран()=0 Тогда Если ПустоеЗначение(Форма.Параметр)=1 Тогда Предупреждение("Для текущего пользователя не выбран дуплекс принтер"); КонецЕсли; СтатусВозврата(0); Возврат; КонецЕсли; Если ФС.СуществуетФайл(КаталогПользователя()+СокрЛП(Принтер.Наименование)+"_duplex.dat")=0 Тогда Предупреждение("Для текущего пользователя отсутствует настройка дуплексного принтера "+Принтер.Наименование+" в режиме дуплекс"); СтатусВозврата(0); Возврат; КонецЕсли; попытка С="rundll32 printui.dll,PrintUIEntry /Sr /n """+СокрЛП(Принтер.ИмяПринтера)+""" /a """+КаталогПользователя()+СокрЛП(Принтер.Наименование)+"_duplex.dat"+""""; ЗапуститьПриложение(С); Предупреждение("Для дуплексного принтера "+СокрЛП(Принтер.Наименование)+" установлен ДУПЛЕКС режим"); глДуплекс=1; СтатусВозврата(0); исключение Предупреждение("Не доступен сетевой дуплекс-принтер !"); КонецПопытки; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |