Бухгалтер нажимает «Печать» в удалённой 1С. На экране мелькает окно предварительного просмотра, потом оно исчезает, а принтер на столе молчит. С этого момента начинается обычный поиск виноватых: 1С, Windows, драйвер, принтер, интернет. Чаще всего виноватым назначают драйвер, и по привычке начинается его переустановка. Но у одного документа длинный путь, и прежде чем что-то переустанавливать, стоит выяснить, на каком участке он оборвался.
Давайте проследим этот путь шаг за шагом. Он состоит из нескольких звеньев, и у каждого звена свои видимые признаки поломки. Если научиться их различать, диагностика превращается из гадания в короткую последовательность вопросов.
Что происходит после нажатия «Печать»
Представим цепочку для одного документа, например счёта или печатной формы накладной.
- 1С формирует печатную форму. Приложение строит табличный документ на сервере, в пользовательском сеансе. Пока это не завершено, принтер никак не участвует.
- Приложение выбирает принтер. Это принтер, который виден в удалённом сеансе: по умолчанию или выбранный в диалоге печати.
- Принтер должен существовать в сеансе. Локальное устройство попадает туда благодаря перенаправлению: при подключении клиент сообщает серверу о своих принтерах, и сервер создаёт их в сеансе пользователя.
- Задание попадает в очередь печати на стороне сервера и обрабатывается в соответствии с типом драйвера.
- Данные уходят обратно на клиентский компьютер по тому же RDP-соединению.
- Клиентская машина отдаёт задание локальному принтеру через его собственный драйвер и очередь.
Важно, что 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С.
- Только если расхождение воспроизводится на любом документе, переходите к драйверу.
Такой порядок экономит время: первые два шага не меняют систему, а третий отделяет «неверную форму» от «неверного устройства». Если рамка ровная, а форма уезжает, исправлять надо параметры формы, и драйвер здесь не нужен.
Почему не стоит лечить всё переустановкой драйвера
Из таблицы видно, что драйвер реально участвует лишь в двух из четырёх ситуаций, да и то не всегда. Переустановка в остальных случаях ничего не даёт, но создаёт новые проблемы: теряются настройки, меняется поведение у других пользователей, а причина остаётся на месте. Есть и менее заметный риск: драйвер, скачанный с неизвестного сайта «потому что там всё работает», может принести с собой лишнее. Если драйвер действительно нужен, берите его только у производителя принтера или из каталога самой 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С действительно формируется и ошибки приложения нет.
- Откройте список принтеров в сеансе: есть ли там локальный принтер?
- Если нет, проверьте флажок Printers в параметрах локальных ресурсов mstsc, затем политики сервера.
- Если есть, проверьте, какой принтер выбран в диалоге печати.
- Отправьте простой тестовый документ и сравните с документом 1С.
- Посмотрите очередь: где находится задание, в каком оно состоянии, не блокирует ли его старое.
- Сравните рабочие места и учётные записи, чтобы понять, следует ли проблема за компьютером или за пользователем.
- Только если картина указывает на драйвер, разбирайтесь с ним, используя драйвер производителя или системный.
Возвращаясь к одному документу
Теперь представим того же бухгалтера и тот же счёт. Если в сеансе нет принтера — исправлять надо перенаправление: флажок у клиента или политику на сервере. Если принтер виден, а задания нет — выбранное устройство и форма. Если задание повисло — очередь, передача или состояние локального принтера. Если лист вышел кривым — драйвер и параметры страницы. У каждого симптома своё звено, и до замены драйвера дело доходит лишь тогда, когда все предыдущие звенья проверены и целы.