Почему в 1С 7.7 не работают кнопки «Печать», «Параметры страницы» и «Предварительный просмотр» и как это исправить?

Системный администратор 1С v7.7 1С:Комплексная автоматизация IT и автоматизация бизнеса
← На главную

При работе в среде 1С:Предприятие 7.7 (особенно в терминальных сессиях RDP или Citrix) пользователи нередко сталкиваются с неприятным поведением интерфейса: при открытии любого табличного документа (отчета, накладной, счета) кнопки «Печать», «Параметры страницы» и «Предварительный просмотр» перестают реагировать на нажатия. Аналогично не срабатывает выбор этих пунктов через главное меню «Файл». При этом сама программа не выдает никаких явных ошибок, но распечатать или настроить документ невозможно.

Разберем детально, почему возникает такая ситуация, какие системные механизмы платформы 1С 7.7 вызывают эту блокировку и как последовательно восстановить работоспособность подсистемы печати.

Причина 1: Слишком длинное имя принтера или сетевой путь

Платформа 1С 7.7 разрабатывалась под 32-разрядные операционные системы и имеет жесткие внутренние ограничения на длину строковых буферов, хранящих имя устройства печати и его сетевой путь (UNC-путь). Если принтер по умолчанию имеет составное системное имя, проброшен через сессию Citrix/RDP или подключен по длинному сетевому пути (например, \\kalina001\HP LaserJet P2050 Series PCL6 (redirected 2)), движок табличного процессора Moxel не может корректно прочитать параметры устройства и полностью блокирует функции предварительного просмотра и настройки страницы.

Рассмотрим, как решить эту проблему:

  1. Откроем в операционной системе Панель управления и перейдем в раздел Устройства и принтеры.
  2. Найдем принтер, назначенный по умолчанию, и откроем его свойства.
  3. Переименуем принтер, задав ему максимально короткое и простое имя латиницей без пробелов и специальных символов, например: HP2050.
  4. Если устройство подключено по сети, проверим сетевое имя общего ресурса (Share Name) на сервере печати и также сделаем его коротким (до 8–10 символов).
  5. В случаях работы через терминальный сервер рекомендуется подключать принтеры напрямую через локальный порт TCP/IP (Standard TCP/IP Port), избегая динамического перенаправления с длинными именами сессий.

Причина 2: Повреждение ветки реестра Moxel

Все индивидуальные параметры печатных форм (поля, ориентация, масштаб, выбранный принтер) платформа 1С 7.7 сохраняет в системном реестре Windows в ветке конкретного пользователя. Если в реестр записались некорректные значения (например, отрицательные отступы, битые пути или некорректные имена опций печати), интерфейс печати зависает.

Частая ошибка системных администраторов — удаление только строкового параметра DefaultPrinter. Этого недостаточно, так как поврежденные метрики остаются в подразделах. Выполним полную и безопасную очистку ветки параметров печати:

  1. Обязательно завершим работу всех запущенных сеансов 1cv7s.exe или 1cv7.exe у проблемного пользователя.
  2. Запустим редактор реестра: нажмем сочетание клавиш Win + R, введем regedit и нажмем Enter.
  3. Перейдем к ветке конфигурации пользователя: HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\<ИмяБазы>\V7\<ИмяПользователя>\
  4. Перед внесением изменений обязательно сделаем резервную копию: нажмем правой кнопкой мыши на раздел Moxel, выберем пункт Экспортировать и сохраним .reg-файл.
  5. Удалим раздел Moxel целиком. При следующем запуске базы 1С автоматически создаст эту ветку с корректными параметрами по умолчанию.

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

Причина 3: Несовместимость драйвера печати и зависание моста splwow64

На 64-разрядных версиях Windows взаимодействия 32-битного приложения 1С 7.7 с 64-битными драйверами принтеров происходят через системный транслятор splwow64.exe. Драйверы типа HP Universal Print Driver (UPD) или версии PCL6 часто вызывают зависание этого процесса, из-за чего 1С перестает получать метрики страницы.

Проанализируем шаги по устранению проблем с драйверами:

  1. Откроем Диспетчер задач на сервере/компьютере и найдем процесс splwow64.exe. Завершим его принудительно (система перезапустит его автоматически при следующем обращении к печати).
  2. Перезапустим системную службу Диспетчер печати (Print Spooler) через консоль services.msc.
  3. Заменим на сервере драйвер принтера: вместо версии PCL6 установим драйвер PCL5, PostScript (PS) или базовый совместимый драйвер из стандартной поставки Windows.
  4. В качестве временного диагностического решения назначим принтером по умолчанию виртуальный принтер (например, Microsoft Print to PDF или Microsoft XPS Document Writer). Если после этого кнопки в 1С заработают — проблема гарантированно кроется в драйвере физического принтера.

Причина 4: Именные опции печати в программном коде конфигурации

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

Посмотрим на пример стандартного вызова метода:


Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
// Пятый параметр задает уникальное имя настроек печати в реестре
Таб.Опции(0, 0, 0, 0, "НакладнаяПродажи");
Таб.ВывестиСекцию("Шапка");
Таб.Показать("Печатная форма");

Если в пятом параметре передается имя опции (в примере — "НакладнаяПродажи"), настройки страницы сохраняются не в Moxel\Default, а в подраздел Moxel\НакладнаяПродажи. Если удалить только дефолтные параметры, сбойная форма продолжит обращаться к своему персональному ключу в реестре. Именно поэтому при ручной очистке необходимо удалять родительскую папку Moxel полностью.

Дополнительная проверка: права на системный каталог TEMP

При формировании графических метафайлов предварительного просмотра движок 1С 7.7 создает временные файлы в каталоге пользователя %TEMP%. Если папка переполнена или у учетной записи ограничены права на запись/удаление файлов в этом каталоге, диалоговые окна печати не смогут инициализироваться. Для исправления очистим содержимое папки %TEMP% в профиле пользователя и проверим права доступа NTFS.

← На главную