Имя: Пароль:
1C
 
Двусторонняя печать на принтере
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);
   исключение
       Предупреждение("Не доступен сетевой дуплекс-принтер !");
   КонецПопытки;    
КонецПроцедуры
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.