Почему 1С печатает не туда и как закрепить нужный принтер
Содержание
Отдельной настройки «принтер по умолчанию» в 1С 8.3 нет: программа печатает на тот принтер, который назначен основным в Windows. Чтобы настроить принтер для печати по умолчанию, сделайте нужное устройство основным в Windows и отключите автоматическую смену принтера системой. После этого перезапустите 1С: список принтеров клиент читает при старте.
Есть ещё два уровня, где можно переопределить выбор. Для одной печатной формы принтер задают в параметрах страницы, и типовые конфигурации запоминают это за пользователем. Для обработок и внешних печатных форм принтер можно указать в коде. Какой уровень выбрать, показывает таблица.
| Способ | Когда подходит | Что учесть |
|---|---|---|
| Принтер по умолчанию в Windows | Один принтер на всё | Действует на все программы, не только на 1С |
| Параметры страницы печатной формы | Накладные на один принтер, отчёты на другой | Настройка своя у каждого пользователя |
| Подключаемое оборудование | Принтер этикеток, ценники | Нужен драйвер оборудования |
Свойство ИмяПринтера в коде | Обработки, массовая печать без диалога | Нужен программист и расширение |
Основной принтер в Windows: с этого начинается настройка
1С не хранит собственный список устройств. Клиент берёт их у операционной системы, а принтер по умолчанию — тот, что отмечен основным в Windows. Поэтому первая проверка всегда на уровне системы.
Windows 10 и 11
- Откройте
Параметры → Bluetooth и устройства → Принтеры и сканеры(в Windows 10 —Параметры → Устройства → Принтеры и сканеры). - Снимите флажок «Разрешить Windows управлять принтером, используемым по умолчанию».
- Выберите нужный принтер в списке и нажмите «Использовать по умолчанию».
- Закройте все окна 1С и запустите программу заново.
Пока флажок из шага 2 включён, Windows сама назначает основным последний принтер, на который вы печатали. Утром накладные уходят на склад, после обеда — в бухгалтерию. Так выглядит «самопроизвольная» смена принтера в 1С.
Проверка из командной строки
Если интерфейс параметров недоступен или нужно проверить несколько рабочих мест, принтер по умолчанию можно посмотреть в PowerShell:
Get-CimInstance Win32_Printer | Where-Object Default | Select-Object Name
Команда выводит имя текущего основного принтера. Сравните его с тем, на который должна уходить печать из 1С.
Терминальный сервер и RDP
При работе с 1С через удалённый рабочий стол принтеры перенаправляются с вашего компьютера. По умолчанию в сеансе становится основным тот принтер, который основной у вас локально. Отсюда два частых сюрприза:
- 🖨️ поменяли основной принтер на своём компьютере — поменялся и в 1С на сервере;
- 🔌 отключили перенаправление принтеров в клиенте RDP — в сеансе остаются только принтеры сервера, иногда виртуальные вроде «Microsoft Print to PDF».
Администратор сервера может запретить переносить локальный основной принтер в сеанс. Для этого в групповых политиках служб удалённых рабочих столов есть параметр «Не задавать принтер клиента по умолчанию как принтер по умолчанию в сеансе». Тогда пользователь выбирает основной принтер внутри сеанса сам, и выбор сохраняется в его профиле.
Выбор принтера в печатных формах: Такси и обычное приложение
Когда печатных устройств несколько, удобнее назначить принтер конкретной форме, а не менять основной для всей системы. Механизм зависит от интерфейса.
Интерфейс «Такси» (управляемое приложение)
В БП 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на БСП печатная форма открывается в окне предварительного просмотра. Дальше:
- Нажмите
Ctrl+Pили кнопку «Печать» на панели окна — откроется системный диалог печати. Принтер выбирается в нём на один раз. - Чтобы закрепить выбор, откройте параметры страницы: через меню «Ещё» окна печатной формы или через главное меню
Файл → Параметры страницы. - В окне параметров страницы выберите принтер, ориентацию и поля, нажмите «ОК».
- Напечатайте форму. При следующей печати того же документа параметры подтянутся.
Типовые конфигурации сохраняют параметры печати каждой печатной формы в настройках пользователя. Поэтому у Ивановой накладная может уходить на складской принтер, а у Петровой — на офисный, и это не ошибка.
Обычное приложение
В конфигурациях на обычных формах (БП 2.0, УПП, старые самописные базы) логика та же, но меню другое. Печатная форма открывается табличным документом. Принтер для неё задают через Файл → Параметры страницы, а печатают через Файл → Печать или Ctrl+P.
💡 Запоминание параметров в старых конфигурациях работает не везде. Если после перезапуска принтер сбрасывается, это решается только основным принтером Windows или доработкой формы.
Отчёты и варианты отчётов
Отчёты в 1С 8.3 формируются в табличный документ, и печатают их так же: Ctrl+P или главное меню Файл → Печать. Принтер в варианте отчёта не хранится. Вариант отвечает за отборы, группировки и оформление, а не за устройство вывода.
Если отчёты нужно печатать на другом принтере, чем документы, проще всего держать основным «отчётный» принтер, а для печатных форм задать свой через параметры страницы.
Принтеры этикеток и ценников
Этикетки, ценники и штрихкоды — отдельная история. Их печатают на термопринтерах с рулонной лентой, и путь зависит от способа подключения.
Вариант 1: обычный драйвер Windows
Многие принтеры этикеток (Zebra, TSC, Godex, Xprinter) ставятся как обычный принтер Windows. Тогда:
- В свойствах принтера в Windows задайте размер этикетки, например 58×40 мм, и зазор между этикетками.
- В 1С откройте обработку печати этикеток и ценников. В УТ 11 и Рознице она есть в разделе склада и в разделе продаж, в БП — в разделе «Склад».
- Выберите шаблон этикетки под тот же размер.
- В диалоге печати укажите принтер этикеток.
Размер бумаги в драйвере и размер шаблона в 1С должны совпадать до миллиметра. Иначе этикетка печатается со сдвигом или режется на две.
Вариант 2: подключаемое оборудование
В конфигурациях с библиотекой подключаемого оборудования (БП 3.0, УТ 11, Розница, УНФ) принтер этикеток можно подключить как оборудование. Раздел находится в администрировании: в БП это Администрирование → Подключаемое оборудование, в УТ 11 — внутри НСИ и администрирование, подраздел про РМК и оборудование.
Там добавляют экземпляр оборудования с типом «Принтеры этикеток», выбирают драйвер и рабочее место. Принтер привязывается к рабочему месту, а не к пользователю. На кассе и на складе могут стоять разные устройства, и каждое рабочее место печатает на своё.
Если драйвер оборудования для вашей модели не поставляется, используйте вариант 1. Печать через драйвер Windows поддерживают все типовые конфигурации с печатью ценников.
Настройки пользователя: где 1С хранит выбор принтера
Параметры страницы, сохранённые в печатной форме, лежат в хранилище настроек пользователя базы. Отсюда три практических следствия.
- 👤 У каждого пользователя свои параметры. Настроили принтер под собой — у коллеги ничего не изменилось.
- 💻 Настройки привязаны к пользователю базы, а не к компьютеру. Сели за другой ПК, где нет того принтера, — 1С не найдёт устройство и предложит основное.
- 🧹 Если параметры сбились (например, сохранился удалённый принтер), их можно очистить.
Как очистить или скопировать настройки
В конфигурациях на БСП есть обработка настроек пользователей: Администрирование → Настройки пользователей и прав → Настройки пользователей. В ней можно:
- Выбрать пользователя.
- Перейти на вкладку с прочими настройками и найти настройки печати.
- Очистить их или скопировать другому пользователю.
⚠️ Очистка возвращает к исходному виду все выбранные настройки, а не только принтер. Отмечайте только то, что действительно нужно сбросить. Пользователь при этом должен выйти из программы, иначе его сеанс перезапишет настройки при закрытии.
1С не видит принтер или печатает не на тот
Большинство проблем с печатью не связаны с конфигурацией. Ниже — симптомы и проверки по порядку.
Если не помогло
- 🔄 Переустановите драйвер принтера с сайта производителя, а не универсальный из Windows. С универсальным драйвером 1С иногда некорректно получает размер листа.
- 🧾 Напечатайте пробную страницу из Windows. Если она не выходит, проблема вне 1С.
- 🧪 Попробуйте печать под другим пользователем базы. Если у него всё работает, дело в сохранённых настройках вашего пользователя.
Выбор принтера из кода и внешних обработок
Когда нужно печатать пачку документов без вопросов «на какой принтер», выбор делают программно. У табличного документа есть свойство ИмяПринтера. Если его заполнить, печать уйдёт на указанное устройство, а не на основное.
&НаКлиенте
Процедура НапечататьНаСкладскойПринтер(ТабДок)
// Имя должно точно совпадать с именем принтера в Windows
ТабДок.ИмяПринтера = "HP LaserJet Склад";
ТабДок.КоличествоЭкземпляров = 2;
ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
КонецПроцедуры
Код выполняется на клиенте: принтеры есть только у клиентского компьютера, сервер 1С их не видит. Имя принтера сверяйте по выводу команды PowerShell из первого раздела. Ошибка в одной букве — и печать уйдёт на основной принтер.
Как внедрить без правки конфигурации
- 🧩 Внешняя печатная форма. Подключается через дополнительные отчёты и обработки, конфигурацию не трогает. Подходит, если нужна своя форма с выбором принтера.
- 📦 Расширение конфигурации. Позволяет перехватить процедуру печати типовой формы и подставить
ИмяПринтера. Обновления конфигурации ставятся без конфликтов. - 🗂️ Хранение имени принтера. Удобно держать имя в настройках пользователя или в константе, а не зашивать в код. Тогда при замене принтера не нужен программист.
Смена основного принтера Windows из 1С
Иногда проще переключить основной принтер системы перед печатью. В клиенте под Windows это делается через COM-объект WScript.Network:
&НаКлиенте
Процедура СделатьПринтерОсновным(ИмяПринтера)
Сеть = Новый COMОбъект("WScript.Network");
Сеть.SetDefaultPrinter(ИмяПринтера);
КонецПроцедуры
Этот способ меняет основной принтер для всех программ пользователя, а не только для 1С. В веб-клиенте и на Linux он не работает. Для разовой печати надёжнее свойство ИмяПринтера.
Частые вопросы
Можно ли задать принтер по умолчанию для всех пользователей базы сразу?
Почему на одном компьютере 1С печатает правильно, а на другом нет?
Как печатать на два принтера одновременно?
ИмяПринтера.