На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила раздела:

  • Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
  • Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
  • Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.

Высказать своё мнение о модераторах раздела можно здесь: evGenius
Модераторы: evGenius
  
> 1C 7.7, 27 релиз платформы, пакетная печать из внешней обработки, Напечатать(0), Теряется часть документов при пакетной печати
    Доброго времени суток всем!
    Ну вот и я наступил на эти, довольно часто обсуждаемые, грабли 1С 7.7.
    Поискал по форумам - проблема не нова, решений нашел несколько, пока ни одно не помогло.

    Итак, подробнее и проблеме:
    Идет пакетная печать большого количества документов из 1С 7.7 напрямую на принтер из 1С 7.7, печатают на три принтера три разных пользователя, все работают в терминале Win 2003 Server.
    При печати часть документов просто не выводится на принтер. При этом, если печатать с предварительным выводом на экран (Напечатать(1)), либо если печатать не пакетной печатью, а из документа, то все печатается корректно.
    Как уже писал выше, поискав по форумам нашел несколько вариантов решения, а именно:
    1. Снести в реестре ветку Moxel
    2. Установить параметр DWORD в ветке реестра HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\<Имя_базы>\V7\<Имя_пользователя>\Settings\PreviewPages в значение 1.
    3. Изменить настройки принтера, убрать галочку "Печатать напрямую на принтер"
    4. Перед вызовом метода Напечатать(0), выполнить следующие строки
    Таб.Опции(0, 0, 0, 0, "ТестовыеОпцииДляПроверкиПечати");
    Таб.ПараметрыСтраницы(1,,,5,5,2,2,0,0,1,,"\");
    5. Есть еще версия что данный метод не дружит с дровами HP, которые установлены как дрова по умолчанию для всех трех принтеров, но дрова ставили из комплекта с оборудованием,
    других нет. Этот пункт пока не пробовал изменять.

    Пункты с 1 по 4 ничего не дали, как печать происходила в зависимости от вспышек на солнце и настроения разработчиков платформы, так и происходит.
    Я уже подумываю написать внешнюю компоненту, для вызова своего метода печати, если это вообще возможно :wall: . В общем, жду советов и рекомендаций.

    P/S/ Да, чуть не забыл, принтеры сетевые, со своей сетевой картой, имена в пределах 8 символов без пробелов и на английском с цифрами, модели Kyocera FS-4300dn и Kyocera 4020dn.
    [А что Если… КонецЕсли]
      Хм. Ну вообще с такой проблемой не сталкивался. Делал пакетную печать, но при этом показывал просмотр перед печатью. Просто все нужные документы собирал в одну таблицу, а не выводил каждый документ в свою. При этом правда была особенность: нужно было унифицировать все печатные формы по ширине столбцов, иначе в 7.7 будет беда. Может такой вариант будет выходом из проблемы?

      Или же пробовать тогда вместо печати сохранять печатные формы в некую папку на диске в pdf, а затем при появлении некой программой по таймауту читать эту папку и печатать/удалять из нее документы.

      Еще вариант. Есть замечательная компонента Yoksel. Не помню может ли она сама печатать. Если может, то попробовать использовать ее для печати, но вообще это больше похоже на глюк драйвера, принтера или сети. Лучшим вариантом было бы все же собрать документы в одну таблицу и показать пользователю перед печатью, если конечно оперативная память вместит этого монстра. Печатали таким образом порядка 100-200 листов и нормально, и даже в восьмерке сейчас похожим образом сделано.
        Цитата evGenius @
        но вообще это больше похоже на глюк драйвера, принтера или сети

        Тоже думал об этом. Но против этой версии говорит то, что не печатаются строго определенные документы, печать которых вызывается из внешней обработки.
        Печатать все на одном листе - в принципе идея, но непонятно как поведет себя 1С в плане выделения памяти, т.к. печататься может до 500 листов, общим объемом несколько сотен мегабайт (печатаются сканы документов).
        В принципе памяти на сервере хватит, установлено 32 Гб, но вытянет ли платформа 1С. Подумаю над этой реализацией.
        [А что Если… КонецЕсли]
          Кстати, может попробовать вывести их в одну таблицу и отправить ее на печать, не показывая. Одной таблицей, а не кучей.

          Проблема мне кажется в том, что слишком часто формируются задания на печать. Еще вариант исходя из этого предположения: сделать паузу между отправкой на печать документов в 1-2 секунды.
            В общем победил я эту беду с печатью. Скачал компоненту йоксель и переделал внешнюю обработку на печать через йоксель.
            Полет нормальный, все документы печатаются без проблем, благо что печатная форма была во внешней обработке.
            Внес минимальные изменения в обработку, даже конфигурацию изменять не пришлось. Я доволен, клиенты тоже :)
            [А что Если… КонецЕсли]
              Поторопился я говорить что вопрос решен. После пары дней работы снова та же проблема.
              Т.е. дело уже не в 1С. Самое плохое что у меня кончились идеи. Даже не знаю куда еще копать.

              Снова не печатаются некоторые документы в пакетной печати (печатная форма во внешней обработке). При этом при печати из самого документа все печатается.
              [А что Если… КонецЕсли]
                Rust
                А если в начале их сохранить во что-то(xls), затем вызвать программу этого формата и отправить на печать? В винде есть кнопка напечатать если правой кл. нажать на известном типе файла.
                "Воля - это то, что заставляет тебя побеждать, когда твой рассудок говорит тебе, что ты повержен" Карлос Кастанеда
                    Вылечил установкой родных дров. По умолчанию ставились универсальные драйвера от HP (МФУ Keocera). Поставил родные - печатает вообще без задержек и все документы.
                    Видимо платформа 7.7 не очень дружит с универсальными дровами HP.
                    [А что Если… КонецЕсли]
                        Цитата Rust @
                        ставились универсальные драйвера от HP (МФУ Keocera)

                        :wacko: А зачем вообще ставить драйвера, пускай якобы универсальные на аппарат другого вендора?
                        "Воля - это то, что заставляет тебя побеждать, когда твой рассудок говорит тебе, что ты повержен" Карлос Кастанеда
                          Цитата ^D^ima @
                          А зачем вообще ставить драйвера, пускай якобы универсальные на аппарат другого вендора?

                          Это надо спросить у винды - дрова от мелкомягких ставились именно как универсальные от HP
                          [А что Если… КонецЕсли]
                          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script Execution time: 0,0979 ]   [ 14 queries used ]   [ Generated: 25.09.17, 20:54 GMT ]