При печати двухсторонних печатных форм (особенно альбомной ориентации, таких как ТОРГ-12 или Акт об оказании услуг) из конфигураций на платформе 1С:Предприятие 8.2 или 1С:Предприятие 8.3 в режиме совместимости пользователи часто сталкиваются со сбоем: обратная сторона листа печатается вверх ногами. При этом из сторонних программ (например, Microsoft Excel) или из более новых конфигураций (1С:Бухгалтерия 3.0 на 8.3) двусторонняя печать работает корректно.
Проанализируем причины возникновения этой проблемы и разберем по шагам проверенные способы ее решения.
Рассмотрим, почему происходит сброс ориентации переплета именно при вызове диалога печати из 1С:
ТабличныйДокумент платформы 8.2 отсутствует прямое программное управление осью переворота листа. Платформа формирует структуру DEVMODE для драйвера печати таким образом, что для альбомных документов («Ландшафт») способ двусторонней печати принудительно сбрасывается на переворот по короткой стороне («Переплет сверху»).КлючПараметровПечати. Если однажды сохранилась некорректная конфигурация дуплекса, 1С будет подгружать её при каждом формировании документа, игнорируя системные настройки Windows.Разберем наиболее эффективное решение со стороны платформы. Начиная с версии 8.3.3 в объект ТабличныйДокумент было добавлено программное управление типом двусторонней печати через свойство ТипДвустороннейПечати и системное перечисление ТипДвустороннейПечати.
Если конфигурация (например, 1С:Управление производственным предприятием 1.3) запущена в режиме совместимости с версией 8.2, этот механизм не работает на полную мощность. Для устранения ошибки выполним следующие шаги:
ТабличныйДокумент.ТипДвустороннейПечати = ТипДвустороннейПечати.ПереворотВлево;
Значение ПереворотВлево соответствует переворот страницы по длинному краю, что исключает переворачивание обратной стороны листа вверх ногами.
Если оперативно обновить платформу или отключить режим совместимости невозможно из-за доработок конфигурации, применим обходное решение на уровне операционной системы.
HP_LJ400_Duplex_LongEdge.Проанализируем работу драйверов печати HP. Драйверы формата **PCL 6** часто некорректно обрабатывают байтовую структуру настроек `DEVMODE`, передаваемую из 32-разрядных клиентов 1С 8.2.
Посмотрим, как очистить сохраненные пользовательские настройки, из-за которых 1С подтягивает старые параметры страницы.
Если настройки печатной формы зависли в пользовательском кэше, сбросим их программно в коде вызова печатной формы, изменив КлючПараметровПечати:
// Принудительно меняем ключ, чтобы 1С не читала старые настройки страницы
ТабличныйДокумент.КлючПараметровПечати = "УникальныйКлючПечати_ТОРГ12_" + Строка(Новый УникальныйИдентификатор);
Также пользователь может очистить сохраненные настройки печатных форм через меню Главное меню > Все функции > Стандартные > Хранилище настроек пользователей (или через интерфейс сброса пользовательских настроек печати).
В некоторых случаях сброс параметров дуплекса происходит в момент передачи документа в службу спулинга Windows. Чтобы предотвратить сбой:
Применение одного из описанных способов (или их комбинации) позволяет полностью устранить проблему перевернутой двусторонней печати альбомных документов из 1С.