При работе в среде 1С:Предприятие 7.7 (особенно в терминальных сессиях RDP или Citrix) пользователи нередко сталкиваются с неприятным поведением интерфейса: при открытии любого табличного документа (отчета, накладной, счета) кнопки «Печать», «Параметры страницы» и «Предварительный просмотр» перестают реагировать на нажатия. Аналогично не срабатывает выбор этих пунктов через главное меню «Файл». При этом сама программа не выдает никаких явных ошибок, но распечатать или настроить документ невозможно.
Разберем детально, почему возникает такая ситуация, какие системные механизмы платформы 1С 7.7 вызывают эту блокировку и как последовательно восстановить работоспособность подсистемы печати.
Платформа 1С 7.7 разрабатывалась под 32-разрядные операционные системы и имеет жесткие внутренние ограничения на длину строковых буферов, хранящих имя устройства печати и его сетевой путь (UNC-путь). Если принтер по умолчанию имеет составное системное имя, проброшен через сессию Citrix/RDP или подключен по длинному сетевому пути (например, \\kalina001\HP LaserJet P2050 Series PCL6 (redirected 2)), движок табличного процессора Moxel не может корректно прочитать параметры устройства и полностью блокирует функции предварительного просмотра и настройки страницы.
Рассмотрим, как решить эту проблему:
HP2050.Все индивидуальные параметры печатных форм (поля, ориентация, масштаб, выбранный принтер) платформа 1С 7.7 сохраняет в системном реестре Windows в ветке конкретного пользователя. Если в реестр записались некорректные значения (например, отрицательные отступы, битые пути или некорректные имена опций печати), интерфейс печати зависает.
Частая ошибка системных администраторов — удаление только строкового параметра DefaultPrinter. Этого недостаточно, так как поврежденные метрики остаются в подразделах. Выполним полную и безопасную очистку ветки параметров печати:
1cv7s.exe или 1cv7.exe у проблемного пользователя.regedit и нажмем Enter.HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\<ИмяБазы>\V7\<ИмяПользователя>\Moxel, выберем пункт Экспортировать и сохраним .reg-файл.Moxel целиком. При следующем запуске базы 1С автоматически создаст эту ветку с корректными параметрами по умолчанию.Быстрый альтернативный способ без ручной правки реестра: в окне запуска 1С выберем проблемную базу, нажмем кнопку «Изменить» и незначительно скорректируем ее название (например, добавим пробел или символ нижнего подчеркивания в конец строки). Платформа воспримет это как новую базу и создаст в реестре абсолютно чистую ветку настроек пользователя.
На 64-разрядных версиях Windows взаимодействия 32-битного приложения 1С 7.7 с 64-битными драйверами принтеров происходят через системный транслятор splwow64.exe. Драйверы типа HP Universal Print Driver (UPD) или версии PCL6 часто вызывают зависание этого процесса, из-за чего 1С перестает получать метрики страницы.
Проанализируем шаги по устранению проблем с драйверами:
splwow64.exe. Завершим его принудительно (система перезапустит его автоматически при следующем обращении к печати).services.msc.Если кнопки блокируются только в одном конкретном документе или отчете, выясним, как вызывается табличный документ в коде 1С. Разработчики конфигураций часто используют метод Опции() для фиксации строк и сохранения настроек.
Посмотрим на пример стандартного вызова метода:
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
// Пятый параметр задает уникальное имя настроек печати в реестре
Таб.Опции(0, 0, 0, 0, "НакладнаяПродажи");
Таб.ВывестиСекцию("Шапка");
Таб.Показать("Печатная форма");
Если в пятом параметре передается имя опции (в примере — "НакладнаяПродажи"), настройки страницы сохраняются не в Moxel\Default, а в подраздел Moxel\НакладнаяПродажи. Если удалить только дефолтные параметры, сбойная форма продолжит обращаться к своему персональному ключу в реестре. Именно поэтому при ручной очистке необходимо удалять родительскую папку Moxel полностью.
При формировании графических метафайлов предварительного просмотра движок 1С 7.7 создает временные файлы в каталоге пользователя %TEMP%. Если папка переполнена или у учетной записи ограничены права на запись/удаление файлов в этом каталоге, диалоговые окна печати не смогут инициализироваться. Для исправления очистим содержимое папки %TEMP% в профиле пользователя и проверим права доступа NTFS.