Hare.ru @ Коллективный разум / Hare.ru @ Дикое место

Архив hare.ru 
Мысли, конвертированные в текст

Собственные руки TM


Все статьи раздела

Одновременная печать на разные принтеры

Андрей Попов (Daddy) (июнь 2002)

Понадобилось мне тут организовать печать разных таблиц из одного документа одновременно на два разных принтера. И оказалось, что это не так просто, как написано в красно-жёлтых книжках.

Просто взять и указать имя принтера в параметре метода ПараметрыСтраницы() не удавалось. Точнее, указать-то можно, но толку от этого не будет.

Использование метода Опции() тоже ничего вразумительного (с первого раза) не дало.

Печать шла только на один из принтеров, хоть тресни. Пришлось заняться экспериментами.

В результате выяснилось, что метод ПараметрыСтраницы() воздействует только на последнюю объявленную опцию печати.

Ну и вот пример кода, позволяющего разделить печать по разным принтерам:

Таб1=СоздатьОбъект("Таблица");
Таб1.ИсходнаяТаблица("Таблица1");
Таб1.Вывести();

Таб2=СоздатьОбъект("Таблица");
Таб2.ИсходнаяТаблица("Таблица2");
Таб2.Вывести();

Таб1.Опции(,,,,"Опции1");
Таб1.ПараметрыСтраницы(,,,,,,,,,,,"\\server\printer");

Таб2.Опции(,,,,"Опции2");
Таб2.ПараметрыСтраницы(,,,,,,,,,,,"\\server_2\printer");

Таб1.Напечатать();
Таб2.Напечатать();

Вот таким образом всё работает. Эксперимент – великая сила.. ;-)


Примечание редактора

Вот уж воистину. Страшно вспомнить, сколько крови в своё время у меня выпила задача паралелльной печати потока документов на три принтера… Сколько драйверов было переставлено, сколько нехороших слов было выпущено в воздух. А до такого простого решения, как попробовать по-всякому переставить местами строки кода, я тогда так и не додумался. Век живи – век учись, с V7 иначе нельзя… 

Партнеры:


Также может быть интересно:

Канал Россия 1 на http://spbtvonline.ru/
   
 Сайт поддерживается за счет партнеров:
:::... Сайт содержит архив двух версий hare.ru Карта сайта