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

· 9 мин

Содержание

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

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

Откуда 1С берёт принтер: роль платформы и системы

Платформа 8.3 не хранит собственный список принтеров. При печати она обращается к принтерам того компьютера, где запущен клиент.

Отсюда три важных следствия:

  • 🖥️ Клиент-серверный вариант. Печать идёт на стороне клиента. Принтеры на сервере 1С для печати документов пользователями не нужны.
  • 👤 Принтер по умолчанию — свой у каждого пользователя Windows. Это настройка профиля, а не компьютера. На одном терминальном сервере у Ивановой и Петровой могут быть разные основные принтеры.
  • 🌐 Веб-клиент. Печать идёт через браузер. Принтер выбирается в диалоге печати браузера, и 1С на этот выбор не влияет.

Тонкий и толстый клиент ведут себя одинаково: при открытии системного диалога печати сразу выделен принтер по умолчанию Windows.

Где работает пользовательОткуда берётся принтерГде менять
Тонкий клиент на своём ПКПринтер по умолчанию Windows этого пользователяПараметры Windows
Терминальный сервер (RDP)Принтер по умолчанию в сеансе на сервереПараметры Windows в сеансе + настройки RDP
Веб-клиент в браузереДиалог печати браузераНастройки браузера и ОС
Linux, macOSПринтер по умолчанию в CUPSСистемные настройки печати

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

Это основной способ. Он работает для всех конфигураций: БП 3.0, ЗУП 3.1, УТ 11, УНФ, ERP.

Windows 10 и 11

  1. Закройте 1С или хотя бы окно печати.
  2. Откройте Пуск → Параметры.
  3. Перейдите в Bluetooth и устройства → Принтеры и сканеры (в Windows 10 — Устройства → Принтеры и сканеры).
  4. Найдите переключатель «Разрешить Windows управлять принтером, используемым по умолчанию» и выключите его.
  5. Щёлкните нужный принтер и нажмите «Использовать по умолчанию».
  6. Запустите 1С заново и проверьте печать любого документа.

Пункт 4 — главный. Пока автоуправление включено, Windows назначает основным принтер, на котором печатали последним. Отсюда «прыгающий» принтер в 1С.

Через панель управления

Если привыкли к классическому окну:

  1. Нажмите Win + R, введите control printers и нажмите Enter.
  2. Правой кнопкой мыши щёлкните нужный принтер.
  3. Выберите «Использовать по умолчанию». У принтера появится зелёная галочка.

Командой для администратора

Когда принтер нужно назначить сразу многим пользователям, удобнее скрипт входа или PowerShell в сеансе пользователя:

# посмотреть установленные принтеры
Get-Printer | Select-Object Name, Type, PortName

# назначить принтер по умолчанию текущему пользователю
(New-Object -ComObject WScript.Network).SetDefaultPrinter("HP LaserJet Бухгалтерия")

Имя принтера в кавычках должно совпадать с тем, что показывает Get-Printer, символ в символ. Сетевой принтер с сервера печати указывается полным путём вида \\print-srv\HP-Buh.

Свой принтер для каждого пользователя 1С

Внутри 1С нет настройки «у этого пользователя базы печатать сюда». Персональные настройки пользователя в БП 3.0 и ЗУП 3.1 касаются организации, склада, подписей — но не принтера.

Поэтому задача «разные принтеры для разных сотрудников» решается на уровне Windows:

  • 🧑‍💼 Каждый работает на своём ПК — назначьте принтер по умолчанию на каждом компьютере.
  • 🖧 Все работают на одном терминальном сервере — назначьте принтер по умолчанию в профиле каждого пользователя Windows. Удобно делать через групповые политики: Конфигурация пользователя → Настройка → Параметры панели управления → Принтеры, с отметкой «Использовать этот принтер по умолчанию».
  • 👥 Несколько человек входят под одной учётной записью Windows — развести принтеры не получится. Это повод завести отдельные учётные записи.

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

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

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

Из формы документа

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

Выбор в этом диалоге действует только на текущую печать. Принтер по умолчанию Windows от этого не меняется.

Из любого табличного документа

Для отчётов (ОСВ, анализ счёта, кадровые отчёты) работает общее правило платформы:

  • Ctrl + P — открыть диалог печати с выбором принтера;
  • главное меню (кнопка с тремя полосками в заголовке окна) → Файл → Печать… — то же самое;
  • Файл → Параметры страницы — ориентация, поля, масштаб.

Если документ на А4 печатается на двух листах, откройте «Параметры страницы» и выставьте масштаб «По ширине страницы». Это не связано с принтером, но в жалобах «принтер печатает криво» причина чаще всего здесь.

Отдельный принтер для одной печатной формы

Частая задача на складе: накладные — на лазерный принтер, этикетки и ценники — всегда на термопринтер, без диалога. Штатно в типовых конфигурациях такой привязки нет. Её делает программист через расширение конфигурации , чтобы не снимать типовую с поддержки.

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

// фрагмент кода в расширении, на клиенте
ТабДок.ИмяПринтера = "Zebra ZD220 Склад";
ТабДок.КоличествоЭкземпляров = 1;
ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);

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

Сетевые, терминальные и виртуальные принтеры

Здесь возникает большая часть проблем с принтером по умолчанию в 1С.

Перенаправленные принтеры в RDP

При подключении к серверу через «Удалённый рабочий стол» локальные принтеры пробрасываются в сеанс. В списке они выглядят как HP LaserJet (перенаправлено 3). Число в скобках — номер сеанса, и он меняется при каждом входе.

Что из этого следует:

  • 🔁 Принтер по умолчанию в сеансе может каждый раз становиться другим.
  • 📌 Скрипт с жёстким именем «…(перенаправлено 3)» завтра перестанет работать.
  • ⚙️ В свойствах RDP-подключения на сервере есть параметр, который делает основным принтер по умолчанию клиента. Если он выключен, в сеансе по умолчанию оказывается первый попавшийся принтер.

Проверьте на стороне клиента: в программе «Подключение к удалённому рабочему столу» на вкладке «Локальные ресурсы» должен быть отмечен пункт «Принтеры». На сервере в групповых политиках, в разделе перенаправления принтеров служб удалённых рабочих столов, найдите политику про принтер клиента по умолчанию и не включайте запрет на его использование в сеансе.

Сетевой принтер через сервер печати

Принтер, подключённый как \\print-srv\HP-Buh, — самый надёжный вариант для офиса. Его имя не зависит от сеанса, его можно раздать политикой. Если в 1С он «пропадает», первым делом проверьте доступность сервера печати с рабочего места.

Виртуальные принтеры: PDF, факс, OneNote

В списке Windows часто есть «Microsoft Print to PDF», «Fax», «OneNote», а иногда и драйверы сервисов отправки документов. Если один из них стал основным, 1С при печати вместо бумаги предлагает сохранить файл .

  • 📄 Для PDF удобнее штатное сохранение из окна печатной формы: там есть кнопка сохранения в файл с выбором формата, включая PDF.
  • 🗑️ Ненужные виртуальные принтеры можно удалить в Принтеры и сканеры, чтобы они не перехватывали роль основного.
  • ✉️ Чтобы отправить документ контрагенту, в типовых конфигурациях есть отправка по почте прямо из окна печати — виртуальный принтер для этого не нужен.

Клиент 1С на Linux

На Linux печать идёт через CUPS. Принтер по умолчанию для текущего пользователя смотрят и меняют в терминале:

# показать принтер по умолчанию
lpstat -d

# список доступных принтеров
lpstat -p

# назначить принтер по умолчанию текущему пользователю
lpoptions -d HP_LaserJet_Buh

После смены перезапустите клиент 1С: список принтеров он получает при старте печати от системы, а открытые окна могут держать старое значение.

Диагностика: почему 1С не печатает на нужный принтер

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

Если ничего не помогло

  1. Проверьте печать вне 1С. Распечатайте пробную страницу из свойств принтера или текст из Блокнота. Не печатает и там — проблема в драйвере или очереди, а не в 1С.
  2. Очистите очередь печати. Зависшее задание блокирует все следующие. Откройте очередь принтера и отмените задания.
  3. Перезапустите службу диспетчера печати. В services.msc найдите «Диспетчер печати» и перезапустите её.

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

  1. Переустановите драйвер. Старые универсальные драйверы иногда некорректно сообщают параметры бумаги, и 1С выводит документ с неверными полями.
  2. Перезапустите 1С. Список принтеров клиент запрашивает у системы. После установки нового принтера при открытом сеансе 1С перезапуск снимает лишние вопросы.

Если проблема только у одного пользователя базы, а у остальных всё хорошо, сбросьте его сохранённые настройки форм. В БП 3.0 и ЗУП 3.1 это делается в Администрирование → Настройки пользователей и прав → Настройки пользователей: выберите пользователя и очистите настройки внешнего вида. Пользователь при этом должен выйти из программы.

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

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