7.7 Как правильно сделать массовую автопечать таблиц?

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем asmator, 21 ноя 2007.

  1. TopicStarter Overlay
    asmator
    Offline

    asmator

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

    Всё легче если установить в Windows текущим принтером тот который тебе нужен для печати.
    Но как я понял, в windows текущий принтер определяется не для пользователя а для компьютера.

    1С-ка как-то там сама помнит куда надо слать на печать. Видимо имя опций печати ей помогают. У меня это Счет_фактура.

    И ещё. Довольно примитивно-скверный момент.
    Когда делаешь
    ИсхТабл.Напечатать(0);
    ИсхТабл.Напечатать(0);
    то 1 раз печатает а второй раз пишет "нет данных для вывода на печать".
    Как я понял 1С разрушает объект ИсхТабл, но в документации не сказано что Напечатать() рушит объект. :-(
    Да! Можно задать количество копий для вывода на печать. НО при этом не верно работает двухсторонняя печать у принтера. 1С шлёт 1 задание 2 раза подряд. Принтер думает что это 1 задание и не правильно переворачивает некоторые листы. Не знает какой лист перевернуть а какой и нет... :-(
    Ошибку исправил добавив пару махинаций с таблицей. B)

    Может кто-нибудь решал уже подобную задачу? Какие подводные камни есть в методе Напечатать()? :unsure:

    Используйте тэг
    Код:
    [/color]
  2. TopicStarter Overlay
    asmator
    Offline

    asmator

    Регистрация:
    7 дек 2006
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Я уж думал дельный ответ будет :)
    CODE... не CODE... какая разница. Тем более что для кода программы там нет никакой логики. Это скорее алгоритм.
    Дайте тэг ALG :-D

    В общем ладно. Вряд ли кто-то по этой теме запаривался....
  3. TopicStarter Overlay
    asmator
    Offline

    asmator

    Регистрация:
    7 дек 2006
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1

Поделиться этой страницей