Такая вещь.
Хотит бухгалтерия печатать документы автоматически.
Возможность выдать автоматом на печать есть во всех печатных формах.
Я делаю так.
Код
ИсхТабл.Опции(0,0,0,0,"Счет_фактура",,,); //запоминаю опции печати как Счет_фактура
ИсхТабл.ПараметрыСтраницы(2,,,,,,,,,1,,Устройство);
ИсхТабл.КоличествоЭкземпляров(КолвоКопий);
ИсхТабл.Напечатать(0);
Где Устройство="AGFA-AccuSet v52.3" //принтер как она назван в реестре
КолвоКопий=1 //печатаем 1 копию
И получается довольно не плохо. Пользователь печатает. НО! Пара нюансов. Печать идёт не совсем верно. Двухсторонняя печать не работает, в некоторых печатных формах не срабатывает задавание устройства для вывода на печать.
Всё легче если установить в Windows текущим принтером тот который тебе нужен для печати.
Но как я понял, в windows текущий принтер определяется не для пользователя а для компьютера.
1С-ка как-то там сама помнит куда надо слать на печать. Видимо имя опций печати ей помогают. У меня это Счет_фактура.
И ещё. Довольно примитивно-скверный момент.
Когда делаешь
ИсхТабл.Напечатать(0);
ИсхТабл.Напечатать(0);
то 1 раз печатает а второй раз пишет "нет данных для вывода на печать".
Как я понял 1С разрушает объект ИсхТабл, но в документации не сказано что Напечатать() рушит объект. :-(
Да! Можно задать количество копий для вывода на печать. НО при этом не верно работает двухсторонняя печать у принтера. 1С шлёт 1 задание 2 раза подряд. Принтер думает что это 1 задание и не правильно переворачивает некоторые листы. Не знает какой лист перевернуть а какой и нет... :-(
Ошибку исправил добавив пару махинаций с таблицей.
Может кто-нибудь решал уже подобную задачу? Какие подводные камни есть в методе Напечатать()?
Используйте тэг [CODE]