Бухгалтер нажимает «Печать» в удалённой 1С. На экране мелькает окно предварительного просмотра, потом оно исчезает, а принтер на столе молчит. С этого момента начинается обычный поиск виноватых: 1С, Windows, драйвер, принтер, интернет. Чаще всего виноватым назначают драйвер, и по привычке начинается его переустановка. Но у одного документа длинный путь, и прежде чем что-то переустанавливать, стоит выяснить, на каком участке он оборвался.

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

Что происходит после нажатия «Печать»

Представим цепочку для одного документа, например счёта или печатной формы накладной.

  1. 1С формирует печатную форму. Приложение строит табличный документ на сервере, в пользовательском сеансе. Пока это не завершено, принтер никак не участвует.
  2. Приложение выбирает принтер. Это принтер, который виден в удалённом сеансе: по умолчанию или выбранный в диалоге печати.
  3. Принтер должен существовать в сеансе. Локальное устройство попадает туда благодаря перенаправлению: при подключении клиент сообщает серверу о своих принтерах, и сервер создаёт их в сеансе пользователя.
  4. Задание попадает в очередь печати на стороне сервера и обрабатывается в соответствии с типом драйвера.
  5. Данные уходят обратно на клиентский компьютер по тому же RDP-соединению.
  6. Клиентская машина отдаёт задание локальному принтеру через его собственный драйвер и очередь.

Важно, что 1С участвует только в первом и втором шагах. Всё остальное — работа Windows, политик и клиента. Поэтому фраза «1С не печатает» почти всегда неточна: печатает либо не печатает цепочка целиком, а 1С — её первое звено.

Сначала отделяем приложение от очереди

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

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

Четыре наблюдаемых признака и что за ними стоит

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

Диагностические развилки по наблюдаемому признаку
Что видноГде вероятнее разрывС чего начать
В сеансе нет локального принтераПеренаправление не состоялосьПараметры клиента mstsc, политики сервера
Принтер есть, но задание не появляется в очередиВыбор принтера или формирование на стороне приложенияКакой принтер выбран, печатает ли тестовый документ
Задание есть в очереди и завислоДрайвер, передача на клиента, состояние локального принтераСтатус задания, очередь на клиентском компьютере
Печатается, но результат неверныйДрайвер или параметры страницыФормат бумаги, поля, сравнение с тестовым документом

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

Принтера нет в удалённом сеансе

Это самый «чистый» случай, потому что он говорит о том, что до драйверов дело просто не дошло. Принтер не был создан в сеансе, значит, перенаправление не сработало. По документации Microsoft, для перенаправления нужно разрешение на стороне клиента и подходящие политики на сервере, а требования различаются для режимов Easy Print и legacy print (Microsoft: перенаправление принтеров).

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

Практический вывод: если принтера нет в сеансе, не трогайте драйверы. Они не при чём, потому что цепочка прервалась раньше. Сначала флажок у клиента, потом политика на сервере, и только после этого можно говорить о чём-то ещё.

Чтобы не гадать, полезно различать две причины, по которым список принтеров в сеансе пуст. В первом случае принтер не передавался вообще: флажок Printers снят или сервер не принимает перенаправление. Во втором случае принтер передавался, но не появился в сеансе из-за различий в режиме печати. Для Easy Print и legacy print требования разные (Microsoft: перенаправление принтеров), поэтому сначала выясните, какой режим у вас задуман, а уже потом ищите отсутствующую настройку.

Есть и простой способ проверить гипотезу о клиенте за пару минут. Запустите mstsc вручную, не из старого ярлыка, откройте вкладку Local Resources и убедитесь, что Printers отмечен. Затем подключитесь заново: настройка применяется при установлении сеанса, поэтому уже открытое подключение сама по себе она не изменит. Если после чистого входа принтер появился, причина была в сохранённых параметрах подключения. Если нет, дальше смотрим сервер, а не принтер на столе.

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

Принтер есть, но задание в очередь не попадает

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

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

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

Задание в очереди, но зависло

Это уже путь, который почти дошёл до цели. Задание создано, но не уходит. Здесь появляются сразу три кандидата: драйвер на стороне сервера, передача на клиента и состояние устройства на клиентской машине.

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

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации Россия, США, Франция и Великобритания. Оплата картой РФ и по СБП.

АРЕНДОВАТЬ СЕРВЕР

Тут пригодится сравнение тестового и рабочего документа. Если лёгкий текстовый файл проходит, а большая печатная форма с таблицей застревает, дело может быть в том, как драйвер справляется с объёмом или сложностью задания. Если не проходит и тест — вероятнее проблема системного уровня: связь с клиентом, режим драйвера, состояние устройства. И здесь же стоит помнить о канале: данные печати идут по тому же соединению, что и картинка экрана. Microsoft отмечает, что нагрузка RDP зависит от разрешения, частоты обновления экрана и типа содержимого, и оценивать её только по скорости тарифа нельзя (Microsoft: полоса RDP). Для нас это означает практическую вещь: на слабом или нестабильном канале тяжёлое задание может доходить медленно, и со стороны это выглядит как «зависло», хотя оно просто едет.

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

  • Задание ещё едет. Статус в очереди меняется, объём обработанных данных растёт, хоть и медленно. Это признак тяжёлого задания на слабом канале, а не поломки.
  • Задание стоит на месте. Статус не меняется долго, а лёгкие документы за ним тоже не проходят. Тогда подозревайте блокирующее задание в начале очереди или недоступный клиентский принтер.
  • Задание ушло на клиента. В сеансе очередь пуста, а бумаги нет. Смотрим локальную очередь клиентского компьютера и состояние самого устройства.

Чтобы отличить медленную передачу от остановки, не оценивайте канал по скорости тарифа: нагрузка RDP определяется тем, что происходит на экране, и тарифная цифра этого не отражает (Microsoft: полоса RDP). Если параллельно в сеансе кто-то работает с изменяющейся графикой, печать делит с ней один канал, и тяжёлое задание проходит медленнее. Поэтому повторите проверку, когда канал свободнее, и сравните: если время заметно изменилось, причина в передаче, а не в драйвере.

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

Печатает, но не так

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

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

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

Проверять стоит по порядку, от самого дешёвого шага к самому затратному:

  1. Откройте параметры страницы в самой печатной форме: ориентация, формат, поля, масштаб.
  2. Сравните их с настройками печати принтера по умолчанию в сеансе пользователя.
  3. Напечатайте простую страницу с рамкой по краям: если рамка обрезана, смещение создаёт драйвер или принтер, а не форма 1С.
  4. Только если расхождение воспроизводится на любом документе, переходите к драйверу.

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

Почему не стоит лечить всё переустановкой драйвера

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

Кроме того, режимы печати различаются принципиально. В документации Microsoft упомянуты Easy Print и legacy print с разными требованиями. Это значит, что вопрос «нужен ли драйвер на сервере» зависит от режима, и слепая установка драйверов на сервер может оказаться бессмысленной или даже вредной. Сначала нужно понять, в каком режиме работает ваша схема, и только потом решать, что именно требуется.

Права пользователя и разные рабочие места

Часто проблема проявляется не у всех. У одного сотрудника печатает, у другого нет, у третьего печатает только после перезахода. Это не мистика, а подсказка: звенья цепочки зависят от пользователя и от компьютера.

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

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

Роль самого сервера

Терминальный сервер, на котором работает 1С, делит ресурсы между сеансами. Печать — не самая тяжёлая нагрузка, но очередь, обработка заданий и сам сеанс расходуют процессор и память, а сетевой канал делят экран и данные печати. Если сервер развёрнут на VPS, имеет смысл понимать, что ресурсы тарифа — отправная точка для тестирования, а не обещание конкретной ёмкости. Для небольшой группы пользователей с 1С можно начинать с конфигураций вроде Uab (2 vCPU, 4 ГБ RAM, 80 ГБ NVMe) или Heka (4 vCPU, 8 ГБ, 160 ГБ), а затем проверять поведение под реальной нагрузкой, включая массовую печать в конце отчётного периода. О том, как подготовить VPS под 1С с нуля, рассказано в материале Пошаговая настройка VPS под 1С в облаке с нуля.

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

Порядок действий без лишних движений

  1. Убедитесь, что печатная форма в 1С действительно формируется и ошибки приложения нет.
  2. Откройте список принтеров в сеансе: есть ли там локальный принтер?
  3. Если нет, проверьте флажок Printers в параметрах локальных ресурсов mstsc, затем политики сервера.
  4. Если есть, проверьте, какой принтер выбран в диалоге печати.
  5. Отправьте простой тестовый документ и сравните с документом 1С.
  6. Посмотрите очередь: где находится задание, в каком оно состоянии, не блокирует ли его старое.
  7. Сравните рабочие места и учётные записи, чтобы понять, следует ли проблема за компьютером или за пользователем.
  8. Только если картина указывает на драйвер, разбирайтесь с ним, используя драйвер производителя или системный.

Возвращаясь к одному документу

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