Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Печать на принтер по умолчанию (число прочтений - 16472 )
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Печать на принтер по умолчанию
12. Августа 2010 :: 06:28
Печать  
Проблема в следующем:
Есть 2 принтера
Printer1 (по умолчанию)
Printer2
Нужно провести автопечать (непосредственно на принтер без вывода на экран) сначала на Printer2, потом на Printer1
Если перед печатью не очищать в реестре Moxel печать не идет, поэтому в начале каждого из 2 циклов печати Moxel очищается, НО во втором цикле печать идет все-равно на Printer2.

Как сделать, чтобы во втором цикле печать шла на Printer1?

1.Вариант с ручным перебором принтеров не подходит.
2.Запись в Moxel принтера не помогает
3.Запись принтера в параметры таблицы не работает

  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Печать на принтер по умолчанию
Ответ #1 - 12. Августа 2010 :: 07:00
Печать  
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Печать на принтер по умолчанию
Ответ #2 - 12. Августа 2010 :: 10:49
Печать  
К сожалению, при таком способе автопечать совсем не идет Печаль
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Печать на принтер по умолчанию
Ответ #3 - 12. Августа 2010 :: 10:55
Печать  
Проверено - работает.
В своё время понавтыкал во все внешние печатные формы установку принтёра через ПараметрыСтраницы, сейчас - при групповой печати документов есть возможность указать явно на какой принтер печатать.

Да и способ с харе.ру работает.

ЗЫ: а какое имя принтёра, к примеру ?
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Печать на принтер по умолчанию
Ответ #4 - 12. Августа 2010 :: 11:09
Печать  
Имя принтера:

\\Bk-bkoffice03\HP LaserJet 4200 PCL 6

Такой способ работает если выводить печатную форму на экран, если прямо на принтер - не пашет.

Я включил в печатную форму имя принтера
Тбв.ПараметрыСтраницы(1,,1,5,5,5,5,0,0,1,1,ИмяПринтера());
через вызов функции:

Функция ИмяПринтера()  Экспорт 
     Реестр=СоздатьОбъект("РеестрWin");
     Ключ="HKEY_CURRENT_USER";
     ИмяЗначения="Device";
     Режим="KEY_ALL_ACCESS"; 
     Имя="Software\Microsoft\Windows NT\CurrentVersion\Windows";
     Реестр.ОткрытьКлюч(Ключ,Имя,Режим); 
     ИмяПринтера="";
     Реестр.ЗапроситьЗначение(ИмяЗначения, ИмяПринтера); 
     Реестр="";
     Если  СтрДлина(СокрЛП(Строка(ИмяПринтера)))>0 Тогда 
           Запятая=Найти(ИмяПринтера,",");
           Если Запятая>0 Тогда
                 ИмяПринтера=СокрЛП(Лев(ИмяПринтера,Запятая-1));
           КонецЕсли;
           
     КонецЕсли; 
Возврат ИмяПринтера;
КонецФункции      

  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Печать на принтер по умолчанию
Ответ #5 - 12. Августа 2010 :: 11:13
Печать  
Опции заданы ?
Сделай имя принтёра короче.. типа HP4200

ЗЫ: и лучше поставь дрова от PCL 5, если есть массовая печать в pdf
в HP ошибку признали с замедлением печати, но косяк драйверов не исправили.

  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Печать на принтер по умолчанию
Ответ #6 - 12. Августа 2010 :: 11:21
Печать  
Попробуй еще так:

Код
Выбрать все
	Таб.Опции(,,,,"вася");
	Тбв.ПараметрыСтраницы(1,,1,5,5,5,5,0,0,1,1,ИмяПринтера());
	Таб.Показать(,,-1);
	Таб.Напечатать(0); 


  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Печать на принтер по умолчанию
Ответ #7 - 12. Августа 2010 :: 11:22
Печать  
Опции прописаны для каждой печатной формы.

Дело в  том, что если между двумя циклами напечатать вручную лист на нужном принтере, то автопечать на нужный принтер идет прекрасно. Это если в ПараметрахСтраницы не прописывать ИмяПринтера.

Закавыка состоит в том, как во втором цикле подменить имя принтера.
Это где-то должно быть прописано, может в реестре?

Потому что, если открыть, например, word документ выбрать НЕ default принтер и напечатать на него, второй раз (если документ не закрывать) при печати выберется опять же исходный принтер, а не тот который по умолчанию.

Вот как бы узнать почему это происходит - тогда и проблем с перевыбором не будет.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Печать на принтер по умолчанию
Ответ #8 - 12. Августа 2010 :: 11:32
Печать  
RuporAbsurda писал(а) 12. Августа 2010 :: 11:22:
Потому что, если открыть, например, word документ выбрать НЕ default принтер и напечатать на него, второй раз (если документ не закрывать) при печати выберется опять же исходный принтер, а не тот который по умолчанию.

Вот как бы узнать почему это происходит - тогда и проблем с перевыбором не будет.



Принтёр прописывается в само файло, а не в реестр. (это для ворда)
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Печать на принтер по умолчанию
Ответ #9 - 12. Августа 2010 :: 11:33
Печать  
(0) Попробуй печатать через Йоксел.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Печать на принтер по умолчанию
Ответ #10 - 12. Августа 2010 :: 11:52
Печать  
Попробуй, у меня это работает и всё печатается ...
  

_________.ert ( 396 KB | Загрузки )
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Печать на принтер по умолчанию
Ответ #11 - 12. Августа 2010 :: 12:16
Печать  
Да, засада.
На локальный печатает, на сетевые нет.
Причем, если сделать с запросом (1 вместо 0)      
Таб.Напечатать(1);
печатает  Нерешительный

Видимо придется делать через ж... - первый лист печатать с запросом. Плачущий
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Печать на принтер по умолчанию
Ответ #12 - 12. Августа 2010 :: 12:19
Печать  
а ты случайно в качастве имени принтера не полый путь используешь (\\buh\PrinterName) ?
  
Наверх
wwwICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Печать на принтер по умолчанию
Ответ #13 - 12. Августа 2010 :: 12:21
Печать  
RuporAbsurda писал(а) 12. Августа 2010 :: 12:16:
Да, засада.
На локальный печатает, на сетевые нет.
Причем, если сделать с запросом (1 вместо 0)      
Таб.Напечатать(1);
печатает  Нерешительный


а способ в #6 пробовал ? а пример в #10  печатает?

ЗЫ: Я проверил,у меня на сетевые тоже печатает  - всё пучком...
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Печать на принтер по умолчанию
Ответ #14 - 12. Августа 2010 :: 12:23
Печать  
Цитата:
а ты случайно в качастве имени принтера не полый путь используешь (\\buh\PrinterName)

Полный, а что?
Цитата:
а способ в #6 пробовал ? а пример в #10  печатает?

Йоксел и короткое название не пробовал.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать