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

· 9 мин

Содержание

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

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

Откуда 1С берёт принтер: три уровня настройки

Прежде чем что-то менять, определите, на каком уровне задан принтер. От этого зависит, где его менять.

УровеньЧто задаётГде меняетсяНа кого действует
WindowsПринтер по умолчаниюПараметры WindowsВсе программы этого пользователя Windows, включая 1С
Печатная формаПринтер и параметры страницы для конкретной формыОкно печати или Файл → Параметры страницыТекущий пользователь 1С, эта форма
Код конфигурацииЖёстко заданное имя принтераРасширение, внешняя обработкаВсе, кто печатает этой командой
  • 🖨️ Уровень Windows — основной. Если в окне печати вы ничего не выбирали, 1С печатает сюда.
  • 📄 Уровень формы нужен, когда счета идут на один принтер, а ценники на другой.
  • 🧩 Уровень кода встречается в доработанных базах. Если принтер «сам» меняется обратно, проверьте именно его.

Работает это одинаково в Бухгалтерии 3.0, ЗУП 3.1, Управлении торговлей 11 и других конфигурациях на платформе 8.3. Печать — функция платформы, а не прикладного решения.

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

Это самый частый случай: купили новый МФУ, старый унесли, а 1С по-прежнему отправляет документы «в никуда».

Windows 10 и Windows 11

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

Тот же список доступен через классическую панель: нажмите Win+R, введите control printers и нажмите Enter. Правый клик по принтеру → «Использовать по умолчанию».

Почему нужен перезапуск 1С

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

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

Принтер по умолчанию в Windows хранится в профиле пользователя Windows, а не на компьютере в целом. Бухгалтер и кладовщик, входящие под разными учётными записями, видят разные настройки. Меняйте принтер под той учётной записью, из-под которой запускают 1С.

Выбор принтера для одного документа или печатной формы

Разовая смена нужна, когда большая часть документов печатается на основном принтере, а отдельные формы — на другом: цветном, широкоформатном, складском.

Напечатать документ на другом принтере один раз

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

Кнопка «Печать» на панели формы в типовых конфигурациях отправляет документ сразу, без диалога. Поэтому для выбора принтера используйте именно Ctrl+P или главное меню.

Закрепить принтер за печатной формой

  1. Откройте печатную форму.
  2. Откройте главное меню (кнопка с тремя полосками в левом верхнем углу) → Файл → Параметры страницы.
  3. В окне параметров выберите принтер, ориентацию, поля, масштаб.
  4. Нажмите «ОК» и напечатайте.

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

Если после смены принтера форма стала печататься мелко или обрезается по краю, дело не в 1С. У разных принтеров разная непечатаемая область. Поставьте в параметрах страницы масштаб «По ширине страницы» или уменьшите поля.

Сбросить сохранённые настройки печати

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

Принтеры чеков и этикеток: подключаемое оборудование

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

КонфигурацияГде найти список оборудования
Бухгалтерия 3.0Администрирование → Подключаемое оборудование
Управление торговлей 11НСИ и администрирование → Администрирование → РМК и оборудование → Подключаемое оборудование

Порядок замены принтера этикеток:

  1. Установите на компьютер драйвер нового принтера от производителя.
  2. В списке подключаемого оборудования создайте новый экземпляр нужного типа (принтер этикеток, ККТ и т. д.).
  3. Выберите драйвер и рабочее место — компьютер, к которому подключено устройство.
  4. Откройте настройки экземпляра и выполните проверку связи.
  5. Старое устройство отключите (снимите флаг использования), чтобы печать не уходила на него.

Рабочее место привязано к компьютеру. Если кассир пересел за другой ПК, оборудование «пропадёт» — его нужно подключить и для нового рабочего места.

Многие принтеры этикеток можно поставить и как обычный Windows-принтер. Тогда ценники печатаются как табличный документ, и принтер выбирают через Ctrl+P. Главное — задать в драйвере реальный размер этикетки, например 58×40 мм. Иначе 1С разложит ценник на лист A4, и принтер выдаст ленту с пустыми наклейками.

Принтер в тонком клиенте, через RDP и в веб-клиенте

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

Тонкий клиент на рабочем месте

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

1С на терминальном сервере (RDP, RemoteApp)

Здесь 1С видит принтеры терминального сервера и принтеры, проброшенные из вашего компьютера через RDP-сессию.

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

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

Перенаправление принтеров могут запретить групповые политики на сервере. Если пункт «Принтеры» отмечен, а принтера в сессии нет, это вопрос к администратору сервера.

Веб-клиент и облачная 1С в браузере

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

  • 🌐 Если вместо диалога ничего не происходит, проверьте блокировку всплывающих окон для адреса базы.
  • 📐 Поля и масштаб задавайте в диалоге браузера: колонтитулы браузера с адресом страницы отключаются там же.
  • 🔒 Программно задать принтер в веб-клиенте не получится: браузер не даёт сайтам выбирать устройство печати.

Принтер не печатает или пропал: диагностика

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

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

Перезапуск службы печати

Если задания висят в очереди и не удаляются, перезапустите диспетчер печати. Откройте командную строку от имени администратора:

net stop spooler
net start spooler

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

Ошибки, которые показывает сама 1С

Если 1С выдаёт сообщение при печати, прочитайте его целиком: в нём обычно есть имя принтера. Когда в тексте указано устройство, которого уже нет, значит, оно сохранено в параметрах страницы или прописано в коде. Когда принтер правильный, а печать не идёт, переустановите драйвер принтера: повреждённый драйвер — частая причина отказа именно из 1С при нормальной печати из «Блокнота».

Как задать принтер в 1С программно

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

Печатная форма в 1С — это табличный документ. У него есть свойство ИмяПринтера и метод Напечатать. Пример для клиентской процедуры:

&НаКлиенте
Процедура НапечататьНаСкладскойПринтер(ТабДок)

    ТабДок.ИмяПринтера = "\\SRV-PRINT\Kyocera-Sklad";
    ТабДок.КоличествоЭкземпляров = 2;
    ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);

КонецПроцедуры

Имя принтера пишется ровно так, как оно показано в Windows. Для сетевого принтера — с именем сервера печати, для локального — просто имя, например "HP LaserJet M404".

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

Жёсткое имя в коде неудобно: у каждого рабочего места свой принтер. Лучше хранить его в настройках пользователя и читать перед печатью:

&НаСервереБезКонтекста
Функция ПринтерНакладных()

    Возврат ХранилищеОбщихНастроек.Загрузить("НастройкиПечати", "ПринтерНакладных");

КонецФункции

&НаКлиенте
Процедура НапечататьНакладную(ТабДок)

    ИмяПринтера = ПринтерНакладных();
    Если ЗначениеЗаполнено(ИмяПринтера) Тогда
        ТабДок.ИмяПринтера = ИмяПринтера;
        ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
    Иначе
        // принтер не настроен — показываем обычный диалог
        ТабДок.Напечатать(РежимИспользованияДиалогаПечати.Использовать);
    КонецЕсли;

КонецПроцедуры

Значение в хранилище записывается так же, методом ХранилищеОбщихНастроек.Сохранить("НастройкиПечати", "ПринтерНакладных", ИмяПринтера) — например, из небольшой формы настройки, где пользователь вводит имя своего принтера.

Если принтер из настройки недоступен, без диалога печать тихо уйдёт не туда или не выйдет совсем. Ветка с диалогом в примере страхует первый запуск; для рабочего режима добавьте понятное сообщение пользователю, что принтер не настроен.

Код работает в тонком и толстом клиенте. В веб-клиенте выбор принтера всё равно останется за браузером.

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

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