Что делать, если пропала кнопка «Печать» в документах 1С? Подробный разбор причин и решений

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Внезапное исчезновение кнопки «Печать» (или значка принтера) в документах — распространенная проблема, с которой сталкиваются пользователи и администраторы систем на платформе 1С:Предприятие 8.3 (особенно в конфигурациях на управляемых формах, таких как 1С:Управление торговлей 11, 1С:ERP, 1С:Комплексная автоматизация и 1С:Бухгалтерия). Уникальность ситуации часто заключается в том, что обновлений системы не проводилось, код никто не менял, но кнопка неожиданно пропала у одного или сразу у всех пользователей.

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

Решение 1. Настройка видимости команд печати в администрировании БСП

В современных конфигурациях 1С, использующих Библиотеку Стандартных Подсистем (БСП), командная панель печати формируется динамически. Администраторы системы могут гибко управлять составом подменю печати для различных документов без изменения конфигурации.

Если кнопка печати пропала сразу у всех пользователей (включая учетные записи с полными правами), в первую очередь проверим глобальные настройки программы:

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

После выполнения этих простых действий кнопка «Печать» должна вернуться на свое штатное место в формах документов и списков.

Решение 2. Проверка прав доступа и роли «Вывод»

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

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

Для решения проблемы выполним следующие шаги:

  1. Перейдем в раздел Администрирование — Настройки пользователей и прав.
  2. Проверим профили групп доступа, назначенные пользователю.
  3. Убедимся, что у пользователя активна роль, разрешающая вывод информации (печать).

Решение 3. Изменение масштаба интерфейса и перенос кнопки в меню «Еще»

Иногда физического исчезновения кнопки не происходит — она просто скрывается из-за особенностей отображения интерфейса «Такси» на конкретном мониторе. Выясним причину:

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

Рассмотрим, как это проверить и исправить:

  1. Откроем проблемный документ и нажмем на кнопку «Еще» в правом верхнем углу командной панели.
  2. Проверим, нет ли команды «Печать» внутри этого списка.
  3. Чтобы вернуть кнопку на основную панель, уменьшим масштаб отображения (меню Сервис и настройки — Изменить масштаб...) или установим стандартное разрешение экрана.

Решение 4. Очистка кэша и сброс настроек формы пользователя

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

Для исправления ситуации выполним сброс настроек формы:

  1. В открытом документе нажмем «Еще» — Изменить форму....
  2. В открывшемся окне настройки формы нажмем кнопку «Еще» (внутри окна настройки) и выберем пункт Установить стандартные настройки. Это сбросит все персональные изменения внешнего вида документа.
  3. Если это не помогло, закроем 1С и очистим локальный кэш базы данных. Самый простой способ — удалить базу из списка запуска в окне 1cestart и добавить ее заново под тем же путем. При этом папки с кэшем создадутся заново, очистив все устаревшие интерфейсные настройки.

Решение 5. Сбои при инициализации внешних печатных форм

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

В этот момент происходит прерывание выполнения процедуры формирования кнопок, и подменю печати вообще не выводится на форму.

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


Для Каждого Настройка Из НастройкиПрограммногоИнтерфейса Цикл
    Попытка
        Таблица.Колонки.Добавить(Настройка.Ключ, Настройка.ОписаниеТипов);
    Исключение
        ТекстОшибки = НСтр("ru = 'Не удалось зарегистрировать настройку программного интерфейса подключаемых объектов.
            |Ключ: ""%1"", описание типов: ""%2"", описание ошибки: ""%3"".'");
        ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
            ТекстОшибки,
            Настройка.Ключ,
            Строка(Настройка.ОписаниеТипов),
            КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
        ВызватьИсключение ТекстОшибки;
    КонецПопытки;
КонецЦикла;

Если на данном этапе возникает исключение из-за некорректной структуры подключаемой внешней обработки, весь механизм построения интерфейса ломается. Для проверки этой гипотезы перейдем в раздел НСИ и администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки и временно отключим внешние печатные формы для исследуемого документа, после чего проверим, появилась ли стандартная кнопка печати.

Решение 6. Проблемы со службой печати в Windows

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

Выполним проверку операционной системы:

  1. Перейдем в Панель управления — Устройства и принтеры.
  2. Убедимся, что в системе установлен хотя бы один принтер и он выбран в качестве принтера по умолчанию (отмечен зеленой галочкой). Если физического принтера нет, установим любой виртуальный принтер (например, Microsoft Print to PDF).
  3. Проверим службу Windows: откроем утилиту services.msc (Службы) и убедимся, что служба Диспетчер печати (Spooler) запущена и работает. При необходимости перезапустим ее.

Решение 7. Разработчикам: проверка регистрации документа в БСП

Если вы разрабатываете новый документ или переводите старый документ на БСП, кнопка «Печать» не появится на форме сама по себе. Для ее динамического конструирования необходимо выполнить требования подсистемы печати:

  1. Убедимся, что документ включен в состав определяемого типа ОбъектСКомандамиПечати.
  2. Проверим общий модуль УправлениеПечатьюПереопределяемый. В процедуре ПриОпределенииОбъектовСКомандамиПечати наш документ должен быть зарегистрирован.
  3. В модуле менеджера нашего документа должна быть объявлена экспортная процедура ДобавитьКомандыПечати(КомандыПечати), которая наполняет таблицу команд доступными макетами. Пример структуры такой процедуры:

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Идентификатор = "РеализацияТоваров";
    КомандаПечати.Представление = НСтр("ru = 'Накладная самовывоза'");
    КомандаПечати.ПроверятьПроведениеПередПечатью = Истина;
КонецПроцедуры

Если данные требования БСП не выполнены, свойство ТекущаяПодсистема.ВключатьВКомандныйИнтерфейс вернет значение Ложь, и кнопка печати не будет выведена на управляемую форму документа.

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

← На главную