Имя: Пароль:
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) никак. Двусторонняя печать задается в настройках драйвера жестко. Вы ее задаете один раз на рабочем месте пользователя и больше никак ею не управляете. Далее все определяется тем, на какой из двух принтеров послан документ.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший