Имя: Пароль:
1C
1С v8
Двусторонняя печать программно, подскажите пожалуйста
,
0 Анастасия Изотова
 
13.09.17
09:20
День добрый. у меня 8.1.
пытаюсь настроить программно двустороннюю печать.
есть внешняя обработка, в ней 5 макетов.
есть принтер, с поддержкой двусторонней печати.

скажите, посоветуйте, как в коде прописать что бы печаталось:
1 макет -  на одном листе

ТабДок2 = Новый ТабличныйДокумент();
ТабДок2.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Макет = ПолучитьМакет("МакетОдин");
Табдок2.Показать("мой Первый документ");
Табдок2.Напечатать();
2 макет так же

а 3-й и 4-й макеты (две страницы одного документа)  напечатать двусторонне ..
ну и 5-й и 6-й так же двусторонне.

и все это по нажатию одной кнопки в печать
1 Анастасия Изотова
 
13.09.17
09:21
То есть я нажимаю кнопку, выходит на печать по порядку первый макет, на отдельном листе - второй, а дальше макеты сдвоенные  двусторонне ...

вот Как, это программно передать на принтер ?
2 NorthWind
 
13.09.17
09:25
есть опасения, что одной кнопкой никак. Двусторонняя печать настраивается в драйвере, у разных драйверов это происходит по-разному и программно не управляется. Возможно, можно создать в винде два принтера, которые ссылаются на один и тот же физический принтер, и настроить на одном двустороннюю печать, а на другом одностороннюю, после чего печатать попеременно туда и сюда.
3 NorthWind
 
13.09.17
09:27
если есть другие варианты - рад бы тоже был услышать, одно время интересовался вопросом.
4 rozer76
 
13.09.17
09:28
(0) в 8.1 никак- переходите на 8.3 или в дровах настраивайте
5 1dvd
 
13.09.17
09:28
(3) делать все двусторонние, но вставлять пустые страницы?
6 Dmitrith
 
13.09.17
09:40
У нас еще с времен клюшек организованно так: делаются два принтера: один с односторонней печатью, второй с двухсторонней. И разные печатные формы печатали на разные принтеры
7 Анастасия Изотова
 
13.09.17
09:52
А если к рабочему месту подключен только один физический принтер ?   мне в виндовс создать два разных (но с одним физическим ip), разные настройки печати,   но !  - какой документ на какой принтер отправлять, все равно руками выбирать при печати ?
8 Анастасия Изотова
 
13.09.17
09:57
А как программно прописать именно Двустороннюю печать ?
в конце каждого выводимого макета (ТабДок)?

ТабДок.ДвусторонняяПечать = ТипДвустороннейПечати;   ?
как то так ?

(я искала но не могу найти синтаксис, что и где прописать в коде, что бы принтер выводил все макеты (по сути отдельные страницы документов) по очереди, чередуя с пустыми (якобы имитируя одностороннесть тех доков, где второй страницы просто нет) ...
9 NorthWind
 
13.09.17
11:29
(7) да, именно так. Создаете в виндовс два разных принтера, которые указывают на один и тот же физический. Одному прописываете в настройках драйвера двустороннюю печать, другому одностороннюю. И потом по нажатию кнопки отправляете двусторонний макет на первый принтер, а односторонний на другой. Указать программно имя принтера, насколько я помню, не проблема, т.е. в принципе вроде бы есть возможность сделать все без дополнительных запросов к пользователю.
10 NorthWind
 
13.09.17
11:31
(8) никак. Двусторонняя печать задается в настройках драйвера жестко. Вы ее задаете один раз на рабочем месте пользователя и больше никак ею не управляете. Далее все определяется тем, на какой из двух принтеров послан документ.