К статье
Практический материал

Документы и Печать · 10 мин

Как отключить печать в 1С: права, настройки и программные способы

Как отключить печать в 1С: настройка прав пользователей, отключение вывода на печать через код, запрет печати документов и печатных форм в типовых конфигурациях.

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

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

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

Определяем, что именно нужно отключить

Фраза «отключить печать» скрывает несколько разных сценариев, и у каждого свой инструмент. Частая ситуация — бухгалтер или менеджер не должен распечатывать документы, но должен видеть их на экране. Здесь работает ограничение права «Вывод» на объект. Другой случай — документ нельзя печатать, пока он не согласован или не проведён: это решается программной проверкой при формировании печатной формы.

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

Маршрут решения

Как выбрать способ

Нужно запретить печать отдельным пользователям или группамНастройте роли и снимите право «Вывод» на нужные объекты
Печать запрещена по условию: документ не проведён, не согласованИспользуйте расширение или подписку с проверкой условия перед формированием печатной формы
Нужно убрать конкретную печатную форму из меню «Печать»Отключите её в настройках команд печати объекта или удалите через расширение
Печать должна быть невозможна физически для всех программОтключите принтер или службу печати на уровне Windows и политик безопасности

Ограничение прав пользователей

Самый чистый способ запретить печать конкретным сотрудникам — настроить роли. В конфигураторе у каждого объекта метаданных (документ, справочник, отчёт) есть набор прав, среди которых «Вывод» — именно оно отвечает за возможность вывода данных на печать и в табличный документ. Если у пользователя нет права «Вывод» на объект, команды печати для него будут недоступны.

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

В типовых конфигурациях (Бухгалтерия, Управление торговлей, ERP) изменять типовые роли нежелательно: при обновлении правки затрутся. Вместо этого создайте собственную роль с ограничениями или используйте профили групп доступа, если конфигурация поддерживает механизм настройки прав в пользовательском режиме («Администрирование» → «Настройки прав и пользователей»).

Программное отключение печати через расширение

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

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

bsl
&Вместо("Печать")
Процедура Расш1_Печать(Команда)
    Если НЕ Объект.Проведен Тогда
        ПоказатьПредупреждение(, "Печать непроведённого документа запрещена.");
        Возврат;
    КонецЕсли;
    ПродолжитьВызов(Команда);
КонецПроцедуры

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

Убираем отдельные печатные формы и кнопки печати

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

Через расширение эту процедуру можно дополнить: удалить лишние команды из коллекции или установить для них условия видимости. Также часть конфигураций позволяет отключать внешние печатные формы в разделе «Администрирование» → «Печатные формы, отчёты и обработки» — там же отключаются подключённые внешние формы, которые больше не должны использоваться.

Для внешних печатных форм, подключённых как файлы .epf, достаточно отключить их в справочнике дополнительных отчётов и обработок — форма исчезнет из меню печати без всякого программирования.

Отключение печати на уровне системы

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

На уровне Windows администратор может остановить и отключить службу «Диспетчер очереди печати» (spooler), удалить установленные принтеры или запретить их установку через групповые политики. В терминальных средах отключается проброс принтеров клиентов. После этого диалог печати 1С покажет отсутствие доступных принтеров, а вывод на печать станет невозможен.

Порядок действий при системном запрете
  1. 1
    Согласуйте отключение печати с ответственными за процесс — убедитесь, что электронного документооборота достаточно
  2. 2
    На рабочем месте или сервере удалите установленные принтеры и отключите службу диспетчера очереди печати
  3. 3
    Запретите установку принтеров через групповые политики, чтобы пользователь не мог вернуть настройки
  4. 4
    Проверьте из 1С: команда печати должна сообщать об отсутствии принтеров
  5. 5
    Дополнительно ограничьте выгрузку в PDF и Excel, если запрет распространяется и на электронные копии

Учтите ограничение: сохранение табличного документа в файл (PDF, Excel) фактически равнозначно печати. Если цель — защита от утечки бумажных копий, системного запрета достаточно; если цель — контроль распространения данных, нужны дополнительные меры по ограничению выгрузки.

Проверка результата и типичные ошибки

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

Контрольные точки

Как проверить результат

Кнопка «Печать» в форме документа
Норма

Команда недоступна или выводит понятное сообщение о запрете

Тревожный признак

Печатная форма по-прежнему формируется без ограничений

Печать из списка документов
Норма

Запрет срабатывает и здесь

Тревожный признак

Из формы запрещено, а из списка печать проходит

Поведение у других пользователей
Норма

У пользователей без ограничений печать работает как раньше

Тревожный признак

Запрет затронул тех, кому печать нужна

После обновления конфигурации
Норма

Расширение и настройки прав сохранились, запрет активен

Тревожный признак

Изменения затёрты обновлением — значит, правили типовой код

Типичные ошибки
01
Правка типовых ролей и модулей вместо расширения — изменения теряются при первом же обновлении конфигурации
02
Проверка запрета под администратором — у полных прав ограничения не работают, и создаётся ложное впечатление, что ничего не сработало
03
Запрет печати только в форме документа — пользователь обходит его через список документов или внешнюю обработку печати
04
Отключение принтера без ограничения выгрузки в файл — данные всё равно уходят через PDF и печатаются на другом рабочем месте
Итог

Что важно запомнить

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

Частые вопросы

Можно ли отключить печать без доступа к конфигуратору?

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

Как запретить печать непроведённых документов?

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

Почему после снятия права «Вывод» пользователь всё равно печатает?

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

Можно ли запретить печать, но оставить сохранение в PDF?

Да, но не средствами прав 1С: право «Вывод» регулирует и печать, и сохранение табличного документа вместе. Разделить сценарии можно программно — перехватывать именно команду печати, не трогая команды сохранения, либо наоборот, отключать принтеры на уровне ОС, оставив выгрузку в файл.

Что делать, если нужно отключить печать только на время?

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