Почему в 1С:Предприятие 8.3 перестала работать двухсторонняя печать и как это исправить?

Системный администратор 1С v8.3 (Обычные формы) 1C:Бухгалтерия
← На главную

Переход с платформы 8.2 на 8.3 часто сопровождается неожиданными изменениями в поведении привычных механизмов. Одной из самых распространенных проблем является отказ или некорректная работа двухсторонней печати (дуплекса) — для решения этой задачи пригодится обработка пакетной печати с поддержкой дуплекса. Пользователи и системные администраторы замечают, что настройки, выставленные в драйвере принтера по умолчанию, игнорируются, а документы выходят на печать на отдельных листах. Разберем подробно, почему это происходит и как вернуть привычный функционал.

Причина изменения логики работы печати в платформе 8.3

Проанализируем ситуацию: в старых версиях платформы (8.2 и ранее) 1С практически не вмешивалась в работу драйвера принтера. Программа передавала графические данные, а за параметры дуплекса, лотков и качества отвечала системная служба печати Windows и настройки самого драйвера. Начиная с версии 8.3.3.721, логика существенно изменилась.

В объект ТабличныйДокумент было добавлено встроенное свойство ДвусторонняяПечать. Теперь платформа 1С пытается самостоятельно управлять механизмом переворота страниц, посылая явные команды принтеру через структуру DevMode. Выясним причину конфликта: если в настройках страницы 1С указано, что печать односторонняя, программа принудительно «перебивает» настройки драйвера принтера, даже если в самой Windows жестко задан дуплекс. Происходит конфликт приоритетов, в котором настройки приложения оказываются выше настроек операционной системы.

Решение 1: Настройка параметров страницы через интерфейс пользователя

Для большинства случаев проблему можно решить без привлечения программиста, изменив настройки непосредственно в интерфейсе программы. Рассмотрим этот процесс по шагам:

  1. Откроем любой документ, который необходимо распечатать (например, накладную или отчет).
  2. Перейдем в меню Файл и выберем пункт Параметры страницы.
  3. В открывшемся окне найдем поле Двусторонняя печать. Скорее всего, там установлено значение «Нет» или «Использовать настройки принтера», которое в версии 8.3 может отрабатывать некорректно.
  4. Выберем один из вариантов: Переворот влево (для стандартной книжной ориентации) или Переворот вверх.
  5. Нажмем «ОК» и попробуем распечатать документ.

Важный нюанс: эти настройки сохраняются в профиле пользователя для каждого конкретного типа документа. Если вы настроили печать для «Счета на оплату», это не означает, что она автоматически заработает для «УПД». Процедуру придется повторить для основных печатных форм.

Решение 2: Проблема «перевернутого» текста в альбомной ориентации

Иногда пользователи сталкиваются с тем, что вторая страница печатается «вверх ногами» относительно первой. Это особенно актуально для широких отчетов в альбомной ориентации. Проанализируем, как с этим бороться.

В параметрах страницы 1С при альбомной ориентации попробуем установить значение Переворот вверх. Одновременно с этим в настройках самого принтера (через свойства драйвера в Windows) необходимо убедиться, что дуплекс настроен по короткому краю. Сочетание этих двух параметров обычно позволяет добиться корректного расположения текста на обеих сторонах листа.

Решение 3: Очистка кэша настроек печати (для конфигураций на БСП)

В современных конфигурациях, таких как «Бухгалтерия предприятия 3.0» или «Управление торговлей 11», используется Библиотека стандартных подсистем (БСП). Она кэширует настройки печати в хранилище общих настроек. Если один раз произошел сбой, некорректный параметр может «приклеиться» к пользователю. Посмотрим, как это исправить административными методами:

Перейдем в раздел Администрирование — Настройки пользователей и прав. Найдем конкретного пользователя, выберем Настройки и на вкладке Прочие настройки найдем записи, связанные с печатью нужного документа. Удаление этих записей приведет к сбросу параметров страницы к заводским значениям, после чего их можно будет задать заново по инструкции из первого решения.

Решение 4: Программная установка дуплекса (для разработчиков)

Если необходимо, чтобы двухсторонняя печать включалась автоматически для всех пользователей программно, следует внести изменения в модуль печати. Для объекта ТабличныйДокумент мы можем задать свойство ДвусторонняяПечать, используя системное перечисление ТипДвустороннейПечати.

Рассмотрим пример кода:


// В процедуре формирования печатной формы
ТабДокумент = Новый ТабличныйДокумент;
// ... заполнение документа данными ...

// Устанавливаем тип двухсторонней печати
// Варианты: ПереворотВлево, ПереворотВверх, Односторонняя, ИспользоватьНастройкиПринтера
ТабДокумент.ДвусторонняяПечать = ТипДвустороннейПечати.ПереворотВлево;

ТабДокумент.Показать();

Разберем подробнее: использование ТипДвустороннейПечати.ИспользоватьНастройкиПринтера теоретически должно возвращать управление драйверу, но на практике в релизах платформы 8.3.24 и 8.3.25 это часто работает как «Односторонняя». Поэтому рекомендуется явно прописывать ПереворотВлево для документов, которые гарантированно должны быть напечатаны на двух сторонах — упростить управление выводом на печать помогут внешние печатные формы с настройкой параметров страницы.

Влияние драйверов и терминального режима (RDP)

Выясним причину, если вышеуказанные способы не помогают. Проблема может крыться в механизме проброса принтеров через RDP (Remote Desktop Protocol). При использовании технологии EasyPrint настройки DevMode часто передаются в урезанном виде, и 1С 8.3 не может корректно сообщить серверу печати о необходимости использования дуплекса.

Проанализируем ситуацию с драйверами (отдельного внимания заслуживают случаи, когда настраивается печать на мобильных принтерах по bluetooth и сети):

Таким образом, основное решение проблемы двухсторонней печати в 1С 8.3 заключается в переносе ответственности за эту функцию с драйвера Windows на саму платформу через меню Параметры страницы или программную установку свойств ТабличногоДокумента.

← На главную