Как исправить ошибки печати в 1С:Предприятие 8.3.15: проблемы с Kyocera, форматом Tabloid и Linux-клиентами

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При переходе на платформу 1С:Предприятие версии 8.3.15.16xx и смежные релизы многие системные администраторы и разработчики столкнулись с серьезными дефектами в подсистеме печати. Эти проблемы варьируются от полной невозможности печати через терминальный сервер до самопроизвольного изменения формата бумаги с привычного А4 на экзотический Tabloid. В этой статье мы подробно разберем причины возникновения данных ошибок и рассмотрим проверенные методы их устранения, включая настройку драйверов, работу с файловой системой и обновление платформы.

Проблема 1: Ошибки печати на принтеры Kyocera при работе через RDP

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

Выясним причину: конфликт возникает из-за специфической реализации драйверов Kyocera серии KX Driver. Эти драйверы используют сложные команды графической подсистемы Windows (GDI), которые в 15-й ветке платформы стали обрабатываться иначе. Рассмотрим пошагово, как обойти это ограничение:

  1. Замена типа драйвера. Попробуем отказаться от универсального KX Driver. Практика показывает, что использование KPDL Driver или Classic Driver (PCL6) полностью решает проблему передачи задания на печать через RDP-сессию.
  2. Отключение расширенных функций. В свойствах принтера на сервере перейдем на вкладку «Дополнительно» и снимем флажок «Разрешить дополнительные возможности печати» (Enable advanced printing features). Это упростит формат данных, передаваемых спулеру печати.
  3. Настройка изоляции драйверов. В консоли управления печатью Windows рекомендуется установить для драйвера Kyocera режим «Изолирован», что предотвратит падение процесса printisolationhost.exe при ошибках рендеринга из 1С.

Проблема 2: Подмена формата бумаги А4 на Tabloid или Letter

Многие пользователи заметили, что даже если в настройках принтера и в параметрах страницы 1С жестко задан формат А4, программа упорно пытается отправить документ на печать в формате Tabloid. Это ошибка 10212015, которая затронула релизы с 8.3.15.1194 по 8.3.15.1469.

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

Во-первых, проанализируем состояние кэша настроек пользователя. Часто 1С сохраняет параметры печати в профиле, и даже после исправления кода платформы старые (ошибочные) настройки продолжают влиять на результат. Нам необходимо выполнить очистку. Рассмотрим процедуру:

  1. Завершим работу всех сеансов 1С.
  2. Перейдем в каталог %AppData%\Roaming\1C\1cv8\.
  3. Найдем папки с уникальными идентификаторами баз и удалим из них файлы с расширением .mxl, а также папку Config. В этих файлах платформа хранит историю настроек принтера для каждого конкретного отчета.

Во-вторых, если проблема наблюдается в Linux-клиенте (ошибка 10212942), это связано с взаимодействием платформы и системы печати CUPS. Платформа неверно сопоставляет внутренние идентификаторы форматов 1С с именами в PPD-файлах. Решением здесь является обновление до релиза 8.3.15.1702 или выше, где механизм сопоставления был переписан.

Проблема 3: Некорректный шрифт (размер 28) при экспорте в Excel

Разберем еще одну неприятную особенность версии 8.3.15.1656. При выгрузке печатной формы в формат Excel (XLSX) шрифты в колонтитулах, которые в 1С имеют размер 12, внезапно превращаются в гигантский размер 28. Проанализируем причину: это баг механизма масштабирования при формировании XML-структуры файла Excel.

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


ТабДок = Новый ТабличныйДокумент;
// Заполнение документа...
ТабДок.АвтоМасштаб = Ложь;
ТабДок.МасштабПечати = 100;
ТабДок.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLSX);

Установка фиксированного масштаба 100 вместо автоматического позволяет сохранить корректное начертание шрифтов при экспорте.

Проблема 4: Особенности печати в среде Linux

Для пользователей ОС Linux (особенно в связке с тонким клиентом) ситуация с печатью в 15-й ветке оставалась нестабильной долгое время. Мы часто сталкиваемся с тем, что поля документа обрезаются, даже если настройки выглядят корректно. Выясним причину: платформа использует жестко зашитые непечатные зоны, которые могут не совпадать с реальными границами вашего принтера в CUPS.

Рассмотрим рекомендации по стабилизации печати в Linux:

  1. Использование веб-клиента. Как ни странно, в некоторых случаях печать через современный браузер (Chrome/Firefox) из веб-клиента 1С работает стабильнее, так как рендеринг документа на печать берет на себя браузер, а не графическое ядро платформы.
  2. Проверка PPD-файла. Убедитесь, что в системе установлен именно специфический драйвер для вашей модели принтера, а не «Generic PCL». 1С очень чувствительна к описанию форматов PaperDimension и ImageableArea внутри PPD-файла.

Общие выводы и рекомендации

Подводя итог, можно сказать, что ветка 8.3.15.16xx была переходным этапом с большим количеством экспериментов в графическом ядре. Если вы столкнулись с описанными проблемами, мы рекомендуем следующий план действий:

  1. Обновление. Самым стабильным релизом в этой ветке считается 8.3.15.2107. В нем исправлено большинство ошибок, связанных с форматом Tabloid и масштабированием.
  2. Переход на новые ветки. Если инфраструктура позволяет, рассмотрите переход на 8.3.18 или 8.3.21. В этих версиях механизмы взаимодействия с очередью печати в RDP и работа с драйверами под Linux были значительно переработаны.
  3. Очистка настроек. При любых странностях с печатью первым делом очищайте кэш пользователя в AppData, так как 1С склонна «запоминать» ошибочные параметры принтера навсегда.

Мы надеемся, что этот подробный разбор помог вам разобраться в причинах сбоев печати и найти подходящее решение для вашей информационной системы.

← На главную