Смена принтера в 1С 8.3 и 7.7: от окна печати до терминального сервера

· 9 мин

Содержание

Поменять принтер для печати в 1С 8.3 можно двумя способами. Разово: откройте печатную форму, нажмите Ctrl+P и выберите нужное устройство в списке окна печати. Насовсем: сделайте нужный принтер основным в Windows. Своего списка принтеров у 1С нет, программа берёт их из операционной системы.

Частое заблуждение — искать «настройку принтера» в разделе администрирования 1С. Обычных офисных принтеров там нет, есть только подключаемое оборудование: фискальные регистраторы, принтеры этикеток и чеков. Правило одно для всех типовых конфигураций (Бухгалтерия, ЗУП, УТ, УНФ): вопрос решается на уровне платформы и Windows.

Подготовка: принтер должен работать в Windows

Если принтер не печатает из Блокнота, 1С тоже на нём не напечатает. Перед сменой проверьте три вещи.

  1. 🖨️ Принтер виден в системе. Windows 10 и 11: Параметры → Bluetooth и устройства → Принтеры и сканеры (в Windows 10 — Параметры → Устройства → Принтеры и сканеры). Устройство должно быть в списке без пометки «Отключён» или «Не в сети».
  2. 📄 Пробная страница выходит. В карточке принтера есть команда печати пробной страницы. Вышла — драйвер рабочий.
  3. 🧩 Драйвер родной, а не универсальный. Встроенный универсальный драйвер Windows печатает, но иногда неверно обрабатывает поля и масштаб. Для офисного МФУ лучше поставить драйвер с сайта производителя.

Сетевой принтер стоит подключать по имени сервера печати (\\print-srv\HP-Buh), а не через случайно найденный порт. Тогда имя устройства одинаково у всех пользователей. Это пригодится, если имя принтера где-то зашито в настройках или коде.

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

Как поменять принтер в 1С 8.3 через окно печати

Способ работает в тонком и толстом клиенте, в интерфейсе «Такси» и в обычных формах.

Разовая смена для одного документа

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

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

Пакетная печать из списка документов

В журнале документов можно выделить сразу несколько строк (с Ctrl или Shift) и нажать Печать в командной панели списка. Все формы откроются в одном окне просмотра, и принтер выбирается один раз на весь пакет. Это удобно, когда нужно перевести на новый аппарат печать накладных за день: не придётся выбирать устройство для каждого документа.

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

Как проверить, что смена сработала

Простой тест занимает минуту:

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

Если первым всё ещё стоит старый принтер, проблема в настройках Windows, а не в 1С.

Параметры страницы под новый принтер

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

  • 📐 ориентацию (книжная или альбомная);
  • 🔍 масштаб или режим «по ширине страницы»;
  • ↔️ поля сверху, снизу, слева и справа;
  • 🖨️ принтер, к которому применяются эти параметры.

Лоток, двустороннюю печать и качество 1С не задаёт. Это свойства драйвера, их настраивают в Windows в разделе Настройки печати у самого принтера.

Веб-клиент

В браузере печатная форма уходит в окно печати браузера. Принтер выбирают там же, в поле «Принтер» или «Назначение». Основной принтер Windows для браузера тоже работает как значение по умолчанию.

Как сменить принтер по умолчанию, чтобы 1С печатала на него всегда

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

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

Тот же переключатель можно выключить через реестр. Удобно, если компьютеров много:

reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v LegacyDefaultPrinterMode /t REG_DWORD /d 1 /f

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

Принтер в 1С 7.7: что осталось от старых правил

Для 1С:Предприятие 7.7 логика та же: своих принтеров у программы нет, используется список Windows. Печать запускают через меню Файл → Печать, после чего открывается стандартное окно Windows, где и выбирают устройство.

Особенности семёрки, которые до сих пор мешают:

  • 🔄 Принтер подхватывается при запуске. Сменили основной принтер в Windows — закройте 1С 7.7 полностью и откройте заново.
  • 🧓 Старые драйверы. Программа 32-разрядная и рассчитана на давние версии Windows. На современных системах печать на некоторых моделях идёт с искажёнными полями или неверным шрифтом. Помогает другой драйвер того же принтера, например PCL вместо PostScript или наоборот.
  • 📏 Отчёты «под матричный принтер». Часть старых форм свёрстана под узкую бумагу. На лазерном аппарате их приходится уменьшать масштабом в параметрах страницы.

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

Печать из регламентных и фоновых заданий

Здесь кроется частая путаница. Фоновое задание в клиент-серверной базе выполняется на сервере 1С, а не на компьютере пользователя. У сервера свой набор принтеров и своя учётная запись службы (по умолчанию служба агента сервера запускается от пользователя USR1CV8). Принтеров, подключённых у бухгалтера, там нет.

Отсюда практические выводы:

  • ✅ Типовые конфигурации в фоне печать не запускают. Задание формирует документ или файл, а печатает пользователь в своём сеансе.
  • ✅ Если доработка всё же печатает на сервере, нужный принтер ставят на сервере 1С и делают доступным учётной записи, под которой работает служба.
  • ✅ Надёжнее выгружать результат в PDF в общую папку и печатать уже оттуда.

В своём коде на клиенте принтер для табличного документа можно задать явно и напечатать без окна выбора:

ТабДок.ИмяПринтера = "\\print-srv\HP-Buh";
ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);

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

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

Смена принтера в терминальной сессии: RDP и Citrix

На терминальном сервере 1С видит принтеры, которые перенаправлены с компьютера пользователя. У перенаправленных принтеров в RDP имя меняется от сеанса к сеансу, например HP LaserJet (перенаправлено 3), а при следующем входе номер другой. Поэтому принтер, «запомненный» в 1С, на следующий день может не найтись.

Что настроить в RDP

Параметры лежат в групповых политиках сервера: Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Узел сеансов удаленных рабочих столов → Перенаправление принтеров. Полезны три политики:

ПолитикаЧто даётКогда включать
Использовать драйвер Easy Print в первую очередьНе нужно ставить драйвер каждого принтера на серверПочти всегда
Перенаправлять только используемый по умолчанию принтер клиентаВ сеансе один принтер — основной у пользователяЕсли пользователи путаются в списке
Не задавать принтер клиента по умолчанию в сеансеОсновным остаётся принтер, назначенный на сервереЕсли печать должна идти на общий сетевой аппарат

На клиенте проверьте, что в подключении к удалённому рабочему столу на вкладке Локальные ресурсы отмечены принтеры. Без этой галочки локальный принтер в сеанс не попадёт.

Если в офисе стоят сетевые принтеры, проще подключить их прямо на терминальном сервере через сервер печати. Тогда имя устройства постоянное, и номера «перенаправлено N» перестают мешать.

Citrix

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

Публикация 1С через RemoteApp

При публикации 1С как приложения RemoteApp перенаправление работает так же, как в полном сеансе. Если в окне печати пусто, проверяйте в первую очередь политики перенаправления и драйвер Easy Print.

Принтер по умолчанию для всех пользователей сразу

Когда в офисе меняют МФУ, ходить по каждому компьютеру долго. Есть три рабочих способа.

1. Групповые политики (домен). В редакторе политик: Конфигурация пользователя → Настройка → Параметры панели управления → Принтеры. Создайте общий принтер, укажите путь \\print-srv\HP-Buh и отметьте установку по умолчанию. Можно ограничить действие группой безопасности, например только бухгалтерией.

2. Команда в сценарии входа. Назначить основной принтер можно стандартной утилитой Windows:

rundll32 printui.dll,PrintUIEntry /y /n "\\print-srv\HP-Buh"

Ключ /y делает принтер основным, /n задаёт его имя.

3. PowerShell. То же самое одной строкой, подойдёт для сценария входа:

(New-Object -ComObject WScript.Network).SetDefaultPrinter("\\print-srv\HP-Buh")

Все три способа меняют принтер в Windows, а 1С просто подхватывает его при следующем запуске. Не забудьте отключить автоматическое управление основным принтером (параметр реестра из раздела выше), иначе Windows вернёт старое.

Если 1С печатает не туда или не печатает вовсе

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

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

Можно ли закрепить отдельный принтер только за одной печатной формой?
Штатно — нет, типовые формы печатают на выбранный в окне печати или основной принтер. Закрепление делают доработкой: в коде формы задают свойство ИмяПринтера у табличного документа.
Почему у коллеги на этом же компьютере 1С печатает на другой принтер?
Основной принтер в Windows хранится для каждой учётной записи отдельно. Под другим пользователем Windows будет свой принтер по умолчанию.
Нужно ли перезапускать сервер 1С после замены принтера у пользователя?
Нет. Достаточно перезапустить клиент 1С на компьютере пользователя. Сервер затрагивают, только если печать идёт с него самого.
Как напечатать на принтер, которого нет в сети офиса?
Сохраните печатную форму в PDF командой сохранения в окне просмотра и отправьте файл туда, где есть принтер. Либо выберите виртуальный принтер «Microsoft Print to PDF».
Влияет ли смена принтера на макеты печатных форм?
На сам макет нет. Меняются только поля и масштаб при выводе. Если форма разъехалась, правят параметры страницы, а не макет.