1С не видит принтер: где выбрать устройство и почему его нет в списке

· 9 мин

Содержание

Своего списка принтеров в 1С нет: программа берёт их у операционной системы. Чтобы найти и выбрать принтер в 1С 8.3, откройте печатную форму и нажмите Ctrl+P (или главное меню Файл → Печать...). Появится системное окно печати, в нём и выбирается устройство.

Если нужного принтера там нет, ищите причину в Windows, на терминальном сервере или в браузере, а не в настройках 1С. Ниже по порядку: проверка в системе, выбор и запоминание принтера в программе, кассы и принтеры этикеток, зависшая очередь, веб-клиент и RDP, автоматический выбор принтера для разных документов.

1. Сначала проверьте, видит ли принтер Windows

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

  1. Нажмите Win+R, введите control printers и нажмите Enter.
  2. Найдите свой принтер в списке «Принтеры». Если его нет, установите драйвер производителя или добавьте сетевой принтер по имени \\сервер\имя_принтера.
  3. Откройте свойства принтера и напечатайте пробную страницу.
  4. Если пробная страница не вышла, 1С здесь ни при чём: проблема в драйвере, кабеле, сети или очереди печати (раздел 4).

Если принтер есть в Windows, но 1С упорно отправляет документы не туда, проверьте параметр Windows 10/11 «Разрешить Windows управлять принтером, используемым по умолчанию» (Параметры → Bluetooth и устройства → Принтеры и сканеры). При включённом флажке система сама переназначает принтер по умолчанию на последний использованный. Снимите флажок и задайте нужный принтер по умолчанию вручную.

Что ещё влияет на видимость устройства:

  • 🖥️ Другой пользователь Windows. Сетевой принтер, подключённый под одной учётной записью, не виден под другой. Это частая история, когда 1С запускают «от имени администратора».
  • 🌐 Сетевой принтер выключен или сменил адрес. Windows держит его в списке, но печать уходит в никуда.
  • 🖨️ Драйвер «универсальный» вместо родного. Документ печатается, но поля и масштаб съезжают.

2. Где выбрать принтер в самой 1С

В типовых конфигурациях на базе БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) печать идёт через общую форму печатных документов. Команда Печать в документе открывает предварительный просмотр, а дальше есть несколько путей.

СпособГдеМожно выбрать принтер
Системное окно печатиCtrl+P или Файл → Печать... в открытой печатной формеДа, из списка Windows
Кнопка «Печать» в форме печатиКомандная панель формыЗависит от релиза: может сразу отправить на принтер по умолчанию
Параметры страницыФайл → Параметры страницы...Ориентация, поля, масштаб, колонтитулы
Сохранение в PDFКнопка сохранения в форме печатиПринтер не нужен вовсе

Порядок, который работает в любой конфигурации:

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

Почему 1С «помнит» старый принтер

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

Как сбросить:

  1. Откройте Администрирование → Настройки пользователей и прав → Настройки пользователей.
  2. Выберите пользователя и очистите его настройки печати или все настройки (форма позволяет отметить нужные группы).
  3. Перезапустите сеанс 1С и выберите принтер заново через Ctrl+P.

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

3. Кассы, принтеры этикеток и чеков: подключаемое оборудование

Фискальный регистратор, принтер чеков и принтер этикеток работают иначе, чем офисный принтер. Обычный документ 1С отдаёт в Windows, а с этим оборудованием общается через драйвер подключаемого оборудования — внешнюю компоненту, которая поставляется с конфигурацией или производителем (АТОЛ, Штрих-М и другие).

Где подключается:

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

Общий порядок:

  1. Включите использование подключаемого оборудования (флажок в том же разделе).
  2. Откройте нужный тип: «Фискальные регистраторы», «Принтеры чеков» или «Принтеры этикеток».
  3. Создайте экземпляр, выберите драйвер и рабочее место (компьютер, к которому физически подключено устройство).
  4. Нажмите «Настроить», укажите порт, скорость или IP-адрес и выполните тест устройства.

Типичные причины, по которым такой принтер «не находится»:

  • 🔌 Не тот компьютер в поле рабочего места. Оборудование привязано к рабочему месту; на соседнем ПК его не будет.
  • 📦 Драйвер не установлен в Windows. Компонента 1С вызывает драйвер производителя; без него тест падает с ошибкой загрузки компоненты.
  • 🔢 Разрядность. 32-битный драйвер не подхватится 64-битным клиентом 1С и наоборот. Ставьте драйвер той же разрядности, что и клиент.
  • 🧩 Компонента не загрузилась в веб-клиенте. Для неё нужно расширение работы с 1С:Предприятием в браузере.

Принтер этикеток, подключённый по USB как обычный Windows-принтер, можно использовать и без подключаемого оборудования: этикетка печатается как табличный документ через Ctrl+P. Но для печати на ленте точного размера удобнее режим подключаемого оборудования, где задаётся шаблон этикетки.

4. Документ ушёл, а принтер молчит: очередь печати

Если 1С ошибок не показывает, а бумага не выходит, задание застряло в очереди Windows. Проверить просто: откройте принтер в control printers и посмотрите «Просмотр очереди печати». Висит задание со статусом «Ошибка» или «Удаление» — причина найдена.

Как очистить очередь на своём компьютере:

  1. Закройте программы, которые печатают, в том числе 1С.
  2. Запустите командную строку от имени администратора.
  3. Выполните команды:
net stop spooler
del /Q /F %SystemRoot%\System32\spool\PRINTERS\*.*
net start spooler
  1. Напечатайте пробную страницу из Windows, затем повторите печать из 1С.

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

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

5. Тонкий клиент, веб-клиент и удалённый рабочий стол

Где искать принтер, зависит от того, где физически работает клиент 1С.

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

Терминальный сервер

Через RDP вы видите не принтеры своего компьютера, а их «перенаправленные» копии. Они обычно подписаны как Имя принтера (перенаправлено N), где N — номер сеанса. Номер меняется при каждом входе, поэтому сохранённая в 1С настройка с конкретным именем может перестать работать после переподключения.

Что проверить:

  1. В клиенте удалённого рабочего стола (mstsc) на вкладке «Локальные ресурсы» должен стоять флажок «Принтеры».
  2. На сервере перенаправление принтеров не должно быть запрещено групповой политикой.
  3. После входа на сервер откройте там control printers и убедитесь, что ваш принтер появился.

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

Веб-клиент

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

6. Как закрепить свой принтер за каждым документом

Частая задача: накладные идут на лазерный принтер склада, счета — на принтер бухгалтерии, этикетки — на термопринтер. Без доработок это решается так.

Без программирования:

  1. Для каждой печатной формы один раз выберите принтер через Ctrl+P.
  2. Платформа сохранит параметры печати для этой формы, и в следующий раз окно печати откроется с тем же принтером.
  3. Если пользователей много, настройте одного и скопируйте его настройки другим в форме Настройки пользователей (там есть команда копирования настроек).

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

  • ИмяПринтера — на какой принтер отправить документ;
  • КоличествоЭкземпляров — число копий;
  • КлючПараметровПечати — строка, под которой платформа хранит настройки печати этой формы;
  • метод Напечатать() — отправка на печать, с окном выбора или без него.

Пример: накладная уходит сразу на складской принтер в двух экземплярах, без окна выбора.

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

    ТабДок.ИмяПринтера = "Склад-HP-M404";
    ТабДок.КоличествоЭкземпляров = 2;
    ТабДок.КлючПараметровПечати = "НакладнаяСклад";
    ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);

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

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

Чтобы узнать точные имена принтеров на компьютере с Windows, удобно запросить их у системы через WMI:

&НаКлиенте
Процедура ПоказатьПринтеры()

    WMI = ПолучитьCOMОбъект("winmgmts:\\.\root\cimv2");
    Принтеры = WMI.ExecQuery("SELECT Name, Default FROM Win32_Printer");
    Для Каждого Принтер Из Принтеры Цикл
        Пометка = ?(Принтер.Default, " (по умолчанию)", "");
        Сообщить(Принтер.Name + Пометка);
    КонецЦикла;

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

Код с COM-объектами работает только в клиенте под Windows. В веб-клиенте и на Linux он не выполнится, а ИмяПринтера в веб-клиенте фактически не управляет выбором устройства: печатает браузер.

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

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

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