Имя: Пароль:
1C
 
Двусторонняя печать hp 1320
Ø
0 Примус
 
02.11.05
08:37
Использовать двустороннюю печать возможно при установки параметра каждый раз перед печатью ручками. Как програмно заставить принтер печатать с двух сторон?
1 Ageres
 
02.11.05
08:59
В настройках принтера покопаться.
2 Sasha
 
02.11.05
09:01
Настроить в системе две копии принтера: с двусторонней печатью и без, и при необходимости отправлять печать на тот или иной принтер...
3 Примус
 
02.11.05
09:04
Параметр печать с обеих сторон в свойствах принтера не сохраняется!
4 Ageres
 
02.11.05
09:05
У меня нормально работает.
5 Начинающая
 
02.11.05
09:17
4-интересно, как. У меня тоже все ручками, поэтому двусторонней не пользуемся
6 smaharbA
 
02.11.05
09:20
есть обработка без ВК переключает...
7 Sasha
 
02.11.05
09:20
Настраивать два принтера надо в системе, а не в 1С ;)
Из 1С только посылать задание на нужный принетр...
8 Sasha
 
02.11.05
09:22
(6) WSH?
9 smaharbA
 
02.11.05
09:36
(8) нет... http://karat-e.ru/files/api4s1s/setprinter.rar
но можно просче, вот так сохраняешь 2 настройки
ИмяПринтера="\\igor\HP LaserJet 2200 Series PCL 6";
ФайлДуплекс=КаталогПользователя()+"Duplex.dat";
ФайлНеДуплекс=КаталогПользователя()+"NoDuplex.dat";
Предупреждение("Включите дуплекс");
КомандаСистемы("rundll32 printui.dll,PrintUIEntry /Ss /n"""+ИмяПринтера+""" /a """+ФайлДуплекс+"""");
Предупреждение("Отключите дуплекс");
КомандаСистемы("rundll32 printui.dll,PrintUIEntry /Ss /n"""+ИмяПринтера+""" /a """+ФайлНеДуплекс+"""");
....
а когда надо дуплекс(программно определяет 1С к примеру)
КомандаСистемы("rundll32 printui.dll,PrintUIEntry /Sr /n"""+ИмяПринтера+""" /a """+ФайлДуплекс+"""");
....
Когда не дуплекс нужен...
КомандаСистемы("rundll32 printui.dll,PrintUIEntry /Sr /n"""+ИмяПринтера+""" /a """+ФайлНеДуплекс+"""");
Можно и через WSH сделать...
10 Примус
 
02.11.05
09:48
(7) не получается. При указании ПараметрыСтраницы() имя второго принтера
не берутся установленные свойства принтера, даже альбомная ориентация листа. Т.е я так понял, что при использовании команды ПараметрыСтраницы()
все необходимые параметры надо указывать явно, но параметр двухсторон.печать в этой команде не предусмотрен.
11 Sasha
 
02.11.05
09:49
(10)Воспользуйся советом smaharbA - он более рациональный ;)
12 Примус
 
02.11.05
10:06
(10) Как сохранить две настройки?
13 smaharbA
 
02.11.05
10:11
в (10) весь код есть, почитай (10) внимательно
14 Примус
 
02.11.05
10:19
Что есть "Duplex.dat"?
15 smaharbA
 
02.11.05
10:21
Просто имя файла в которое сохраняешь текущие настройки принтера, можешь сменить на другое
16 Примус
 
02.11.05
14:10
Уважаемый smaharbA, подскажите все таки как сохранить настройки принтера в файл c расширением dat
17 smaharbA
 
02.11.05
14:16
Вот код для обработки, на форме полеввода длинной 160 симв. ИмяПринтераКакВСистеме, и две кнопочки с формулами НастройкаПечати(ИмяПринтераКакВСистеме) и Сформировать(ИмяПринтераКакВСистеме)...
http://www.forum.mista.ru/topic.php?id=133333& (тут код)
в коммандной строке так...
Открываешь настройки печати принтера ставишь дуплекс и в коммандной строке
rundll32 printui.dll,PrintUIEntry /Ss /n "\\igor\HP LaserJet 2200 Series PCL 6" /a "Duplex.dat"
вытащить обратно из файла
rundll32 printui.dll,PrintUIEntry /Sr /n "\\igor\HP LaserJet 2200 Series PCL 6" /a "Duplex.dat"
18 Примус
 
02.11.05
14:48
(17) Ругается, "Невозможно завершение операции.Введено неправильное имя принтера или указанный принтер утерял подключение к принтеру.
19 Примус
 
02.11.05
14:52
Извинясь, неправильно ввел имя принтера, разбираюсь дальше
20 xnd
 
02.11.05
15:03
up
21 Примус
 
02.11.05
16:44
Вот код.
ИмяПринтера="\\RESERV1C\hp1320";
ФайлДуплекс=КаталогПользователя()+"Duplex.dat";
ПечТабл.КоличествоЭкземпляров(КолЭкз);
КомандаСистемы("rundll32.dll,PrintUIEntry /Sr /n"""+ИмяПринтера+""" /a """+ФайлДуплекс+"""");
ПечТабл.Напечатать(0);
Черное окошко появляется, но в последующей печати переданные настройки не передаются
Куда рыть дальше?
22 smaharbA
 
02.11.05
17:07
(21) Я только что поставил в начале процедуры печати, до формирования таблицы и все ОК
Вот обработку возьми тут, и позырь... http://www.karat-e.ru/files/ert/duplex_noduplex_ert.rar
23 Примус
 
02.11.05
17:20
Файл duplex у меня в каталоге пользователя есть,
В начале процедуры до формирования таблицы использую
КомандаСистемы("rundll32 printui.dll,PrintUIEntry /Sr /n"""+ИмяПринтера+""" /a """+ФайлДуплекс+"""");
результата нет
Может дело в принтере?
24 Примус
 
02.11.05
17:28
Если через просмотр, то все ОК, при непосредственной печати не работает.
Пожалуста, smaharbA, может еще есть какие мысли
Прочитаю завтра, заранее списибо
25 LubK
 
02.11.05
18:40
У меня с hp1320 следующая проблема.
Если количество страниц дока непарное, н.п. 3, и даю 2 екзм на обеих страницах, разобрать, то печатает на I-ом листе 1 и 2 стр, на II-ом листе 3 и 1 стр., т.е. я должен програмно это просчитывать для каждого вида дока, и когда надо вставлять пустой лист - 4 страницу.
Можно ли как-то указать типа конец дока и далее с нового листа.
26 smaharbA
 
02.11.05
18:45
(25) Тупенько, отправить 2 разделителя страницы...
27 EXH
 
02.11.05
18:47
а скажите, уважаемый smaharbA, вы не публикуете свои бесценные советы на my1c.da.ru? а то вот я сейчас смотрю, вроде не надо, но может пригодиться, а когда понадобиться - хрен найдешь, где.
28 smaharbA
 
02.11.05
18:49
+(26) в конце таблицы
29 smaharbA
 
02.11.05
18:51
(27) Смотрите на мисте, в поиске + поиск по автору Ковычки (царствие ему небесное ;))
30 LubK
 
02.11.05
19:21
(25)-(27) Совет действительно бесценен.
Сработает для случая непарного количества страниц, но в случае парного сделает количество страниц непарным, т.е. сведет задачу к исходной.
Т.е. задача расчета парности страниц осталась, а добавляю я пустую строку или разделитель - такая мелочь.
Вопрос в том, можно ли решить эту задачу не просчитывая количества страниц, или просчитывая какой-то стандартной функцией для любой таблицы.
31 LubK
 
02.11.05
19:53
Вдогонку (30)
Кроме того, разделитель страниц вставляется в текст, т.е. в файл тхт.
А в таблицу вставляется перевод страницы, и вставляется он вверх строки, а не вниз, т.е. за переводом страницы всегда будет пустая страница.
32 smaharbA
 
02.11.05
20:05
Посчитать можно на лету через Win32_PrintJob и далее по ходу пьессы, либо сохранить этот джоб и послать заново либо еще как...
2 + 2 = 3.9999999999999999999999999999999...