Почему 1С печатает не туда и как назначить нужный принтер

· 10 мин

Содержание

Отдельной настройки «принтер по умолчанию» в 1С:Предприятие 8.3 нет: платформа печатает на тот принтер, который назначен по умолчанию в операционной системе компьютера, где запущен клиент. Чтобы установить принтер по умолчанию для 1С, назначьте его в Windows (Параметры → Bluetooth и устройства → Принтеры и сканеры), закройте и снова откройте 1С. Для разовой печати на другой принтер выберите его в диалоге печати (Ctrl+P).

Если счёт уходит на принтер бухгалтерии этажом ниже, а накладная печатается в PDF-файл, дело почти всегда в настройках Windows, сеанса удалённого рабочего стола или браузера. В самой программе принтер можно только выбрать для конкретной печати или прописать в коде печатной формы.

Откуда 1С берёт принтер для печати

Платформа 1С не хранит свой список принтеров. Она спрашивает у операционной системы, какие устройства установлены и какое из них главное. Отсюда несколько следствий.

  • 🖥️ Печать идёт с клиентского компьютера. В клиент-серверном варианте тонкий клиент печатает на принтеры рабочего места пользователя, а не сервера 1С. Ставить принтер на сервер приложений бессмысленно.
  • 👤 Принтер по умолчанию — настройка пользователя Windows. У двух сотрудников на одном терминальном сервере он может быть разным, и это нормально.
  • 📄 Печатная форма — табличный документ. Счёт, акт, ТОРГ-12 или ведомость перед печатью превращаются в табличный документ. У него есть свои параметры: ориентация, поля, масштаб, число копий и имя принтера.
  • 🌐 Веб-клиент печатает через браузер. Там принтер выбирают в окне печати браузера, и 1С на этот выбор почти не влияет.

Порядок, в котором определяется принтер:

  1. Если в коде печатной формы явно задано имя принтера — печать идёт на него.
  2. Если пользователь выбрал принтер в диалоге печати — на выбранный.
  3. Во всех остальных случаях — на принтер по умолчанию операционной системы.

Это правило одинаково для 1С:Бухгалтерии, ЗУП, УТ и других конфигураций на платформе 8.3. Путь меню в самой программе не зависит от конфигурации, потому что настройка находится не в ней.

Как установить принтер по умолчанию в Windows для 1С

Это основной способ. Он закрепляет принтер для всех программ сразу, включая 1С.

Windows 11

  1. Откройте Пуск → Параметры → Bluetooth и устройства → Принтеры и сканеры.
  2. Пролистайте вниз до блока параметров принтера и снимите флажок «Разрешить Windows управлять принтером, используемым по умолчанию».
  3. Вернитесь к списку, нажмите на нужный принтер.
  4. Нажмите «Использовать по умолчанию».

Windows 10

  1. Откройте Пуск → Параметры → Устройства → Принтеры и сканеры.
  2. Снимите флажок «Разрешить Windows управлять принтером, используемым по умолчанию».
  3. Нажмите на принтер и выберите «Управление» → «Использовать по умолчанию».

Через классическую панель управления путь такой: Панель управления → Оборудование и звук → Устройства и принтеры, правая кнопка мыши по принтеру → «Использовать по умолчанию». Принтер по умолчанию отмечен зелёной галочкой.

Флажок «Разрешить Windows управлять…» снимайте обязательно. Пока он включён, Windows сама делает главным последний использованный принтер. Распечатали один раз письмо на цветном — и завтра 1С отправит на него весь пакет накладных.

Из командной строки

Удобно, когда нужно настроить десяток рабочих мест скриптом входа или через удалённый доступ. Имя принтера пишется точно так, как в списке устройств.

rundll32 printui.dll,PrintUIEntry /y /n "HP LaserJet Pro M404"

Тот же результат в PowerShell:

Get-CimInstance Win32_Printer -Filter "Name='HP LaserJet Pro M404'" |
  Invoke-CimMethod -MethodName SetDefaultPrinter

Проверить, какой принтер сейчас главный:

Get-CimInstance Win32_Printer | Where-Object Default | Select-Object Name

Linux

Клиент 1С под Linux печатает через CUPS. Принтер по умолчанию для текущего пользователя задаётся командой lpoptions -d ИмяПринтера, список очередей и текущий выбор показывает lpstat -p -d.

После смены принтера

Закройте 1С полностью и запустите снова. Клиент получает список принтеров и устройство по умолчанию при старте сеанса. Если поменять принтер при открытой программе, печать может по-прежнему уходить на старый.

Выбор принтера при печати из документа 1С

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

Печать с предварительным просмотром

  1. Откройте документ и нажмите «Печать» в командной панели формы.
  2. Выберите печатную форму. Откроется окно с табличным документом.
  3. Нажмите Ctrl+P или кнопку печати в этом окне.
  4. В диалоге печати выберите принтер из списка, укажите число копий и диапазон страниц.
  5. Нажмите «Печать».

В типовых конфигурациях на БСП в окне печатных форм можно задать число копий для каждой формы отдельно, если печатается комплект: например, два экземпляра счёта-фактуры и один акта.

Параметры страницы

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

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

Печать без открытия формы

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

Принтер по умолчанию в коде печатной формы

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

Пример для внешней обработки или доработки в расширении конфигурации:

&НаКлиенте
Процедура НапечататьНаСкладскомПринтере(ТабДок)
	
	ТабДок.ИмяПринтера = "Zebra ZD421";
	ТабДок.КоличествоЭкземпляров = 2;
	ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
	
КонецПроцедуры

Что важно знать о свойстве:

  • 🔤 Имя должно совпадать с именем принтера в системе символ в символ, включая пробелы и регистр. Посмотреть его можно командой из раздела про Windows.
  • 🔄 Пустое значение ИмяПринтера означает «принтер по умолчанию системы».
  • 🖨️ РежимИспользованияДиалогаПечати.НеИспользовать отправляет форму сразу на печать без окна выбора. Подходит для этикеток и чеков-заказов, где пользователь не должен ничего выбирать.
  • 🧩 Типовую конфигурацию для этого не снимают с поддержки: доработку делают в расширении конфигурации или во внешней печатной форме.

Имя принтера, прописанное в коде, работает только там, где такой принтер установлен под тем же именем. На втором рабочем месте с другим именем устройства печать уйдёт не туда или не выполнится. Имя лучше хранить в настройках пользователя или константе, а не прямо в коде.

Фискальные регистраторы и принтеры этикеток для маркировки в типовых конфигурациях обычно работают через подсистему подключаемого оборудования, а не через принтер Windows. Для них принтер по умолчанию системы роли не играет — настройка делается в карточке подключаемого оборудования.

Печать в веб-клиенте, тонком клиенте и через удалённый рабочий стол

Тонкий и толстый клиент

Оба клиента печатают одинаково: через принтеры Windows локального компьютера. Всё, что описано выше, работает без изменений. Отличий по выбору принтера между файловой и клиент-серверной базой нет.

Веб-клиент

В браузере 1С показывает печатную форму, а печатает уже браузер. Принтер выбирается в его окне печати:

  1. Откройте печатную форму и нажмите кнопку печати в окне 1С.
  2. Браузер откроет своё окно печати.
  3. В поле «Принтер» или «Назначение» выберите устройство. Chrome и Edge обычно запоминают последний выбор для следующих печатей.

Принтер по умолчанию в веб-клиенте — тот, что установлен по умолчанию в Windows, если браузер не запомнил другой. Частая ловушка: в поле назначения стоит «Сохранить как PDF», и вместо печати пользователь получает файл.

Свойство ИмяПринтера и печать без диалога в веб-клиенте не работают так, как в тонком: браузер в любом случае показывает своё окно печати. Если нужна тихая печать на конкретный принтер, используйте тонкий клиент.

Удалённый рабочий стол (RDP) и терминальный сервер

Когда 1С работает на терминальном сервере, клиентский принтер пробрасывается в сеанс. В списке он выглядит как «HP LaserJet (перенаправлено 2)» — номер сеанса меняется при каждом подключении.

Чтобы в сеансе принтером по умолчанию был локальный принтер пользователя:

  1. В клиенте подключения к удалённому рабочему столу откройте «Показать параметры» → «Локальные ресурсы».
  2. Отметьте флажок «Принтеры».
  3. На сервере проверьте, что групповая политика не запрещает перенаправление принтеров и не отключает использование принтера клиента по умолчанию. Эти параметры находятся в разделе политик служб удалённых рабочих столов, в группе «Перенаправление принтеров».
  4. Переподключитесь к сеансу.

Именно из-за меняющегося номера сеанса прописывать имя перенаправленного принтера в ИмяПринтера нельзя: завтра у него будет другое имя.

Какой способ выбрать: сравнение

СпособКогда подходитЧто учесть
Принтер по умолчанию в WindowsОдин основной принтер на рабочем местеОтключите автоуправление принтером в Windows
Выбор в диалоге печатиРазные формы на разные принтеры, редкие исключенияВыбор нужно делать каждый раз
Параметры страницы формыНужна своя ориентация, поля, масштабНа выбор устройства не влияет, только на макет листа
ИмяПринтера в кодеЭтикетки, складские формы, печать без вопросовНужен программист и одинаковые имена принтеров
Окно печати браузераРабота через веб-клиентПроверяйте, не выбрано ли «Сохранить как PDF»
Перенаправление принтера RDP1С на терминальном сервереИмя принтера меняется с каждым сеансом
lpoptions -dКлиент 1С под LinuxНастройка для текущего пользователя

Если 1С печатает не на тот принтер

Диагностика: выберите симптом

Ещё несколько ситуаций, которые встречаются в офисах.

  • 🔌 Сетевой принтер через общий доступ на другом компьютере. Если тот компьютер выключен, печать встаёт в очередь и висит. Надёжнее подключать сетевой принтер напрямую по IP-адресу.
  • ⏳ Печать медленная через RDP. Большие формы, например оборотно-сальдовая ведомость на сотню страниц, передаются в сеанс целиком. Помогает печать частями по диапазону страниц или сохранение в PDF и печать с локального компьютера.
  • 🧾 Очередь печати забита. Задание зависло, и всё следующее стоит за ним. Очистите очередь в окне принтера Windows. Если не очищается, перезапустите службу «Диспетчер печати» — на рабочем месте пользователя это безопасно, а на терминальном сервере прервёт печать у всех, кто сейчас печатает, поэтому делайте это в нерабочее время.

Если ни один пункт не подошёл, проверьте простую вещь: распечатайте пробную страницу из свойств принтера в Windows и любой документ из Блокнота. Не печатается и оттуда — проблема в принтере или драйвере, а не в 1С.

Частые вопросы

Можно ли задать свой принтер по умолчанию только для 1С, не меняя его в Windows?
Штатной настройки в пользовательском режиме для этого нет. Варианты: выбирать принтер в диалоге печати или доработать печатные формы через свойство ИмяПринтера в расширении конфигурации.
Почему у коллеги на терминальном сервере другой принтер по умолчанию?
Принтер по умолчанию — настройка конкретного пользователя Windows. На одном сервере у каждого сотрудника свой профиль и свой набор перенаправленных принтеров.
Запоминает ли 1С принтер, выбранный в диалоге печати?
На выбор устройства надёжно полагаться не стоит: после перезапуска программы печать обычно снова идёт на принтер по умолчанию системы. Параметры страницы — ориентация, поля, масштаб — типовые формы запоминают.
Как печатать чеки и этикетки, если принтер по умолчанию — офисный?
Фискальный регистратор и принтер этикеток подключают как подключаемое оборудование в настройках конфигурации. Тогда они не зависят от принтера по умолчанию Windows.
Нужно ли ставить принтер на сервер 1С?
Нет. Тонкий и толстый клиенты печатают на принтеры компьютера пользователя. На сервер принтер ставят, только если сама 1С запускается на нём, например на терминальном сервере.