Документы и Печать · 10 мин
Как отключить печать в 1С: права, настройки и программные способы
Как отключить печать в 1С: настройка прав пользователей, отключение вывода на печать через код, запрет печати документов и печатных форм в типовых конфигурациях.
Отключение печати в 1С — задача, которая решается по-разному в зависимости от цели: запретить печать конкретному пользователю, убрать кнопку печати из документа, заблокировать печать непроведённых документов или полностью отказаться от вывода на принтер в отдельном процессе. Универсальной галочки «отключить печать» в типовых конфигурациях нет, поэтому используют комбинацию прав доступа, настроек и программных средств.
Прежде чем что-либо менять, определите, что именно нужно запретить: печать всех документов, печать конкретного вида документов, вывод определённой печатной формы или физическую печать на принтере. От этого зависит выбор механизма — роли и права, подписки на события, расширение конфигурации или настройки на уровне операционной системы.
Изменения прав и кода влияют на всех пользователей базы. Перед внесением правок сделайте резервную копию информационной базы, а изменения в конфигурации сначала проверяйте на копии, а не в рабочей базе.
Определяем, что именно нужно отключить
Фраза «отключить печать» скрывает несколько разных сценариев, и у каждого свой инструмент. Частая ситуация — бухгалтер или менеджер не должен распечатывать документы, но должен видеть их на экране. Здесь работает ограничение права «Вывод» на объект. Другой случай — документ нельзя печатать, пока он не согласован или не проведён: это решается программной проверкой при формировании печатной формы.
Третий сценарий — регламентированный запрет печати в принципе, например, в закрытом контуре, где документы существуют только в электронном виде. Тогда печать блокируется на уровне операционной системы или политик безопасности, а не внутри 1С.
Как выбрать способ
Ограничение прав пользователей
Самый чистый способ запретить печать конкретным сотрудникам — настроить роли. В конфигураторе у каждого объекта метаданных (документ, справочник, отчёт) есть набор прав, среди которых «Вывод» — именно оно отвечает за возможность вывода данных на печать и в табличный документ. Если у пользователя нет права «Вывод» на объект, команды печати для него будут недоступны.
Порядок действий: откройте конфигуратор, перейдите в «Общие» → «Роли», найдите роль, назначенную пользователю, и в настройке прав для нужного объекта снимите флажок «Вывод». Обновите конфигурацию базы данных и проверьте результат под учётной записью этого пользователя.
В типовых конфигурациях (Бухгалтерия, Управление торговлей, ERP) изменять типовые роли нежелательно: при обновлении правки затрутся. Вместо этого создайте собственную роль с ограничениями или используйте профили групп доступа, если конфигурация поддерживает механизм настройки прав в пользовательском режиме («Администрирование» → «Настройки прав и пользователей»).
Программное отключение печати через расширение
Если запрет должен срабатывать по условию — например, нельзя печатать непроведённый документ или документ без отметки согласования — понадобится программная проверка. Современный и безопасный способ — расширение конфигурации: оно не меняет типовой код и не мешает обновлениям.
В расширении можно перехватить команду печати или обработчик формирования печатной формы и отменить вывод, выдав пользователю понятное сообщение. Для управляемых форм типовой подход — аннотация «&Вместо» или «&Перед» на обработчик команды печати конкретного документа.
&Вместо("Печать")
Процедура Расш1_Печать(Команда)
Если НЕ Объект.Проведен Тогда
ПоказатьПредупреждение(, "Печать непроведённого документа запрещена.");
Возврат;
КонецЕсли;
ПродолжитьВызов(Команда);
КонецПроцедурыПосле добавления расширения проверьте его на копии базы: попробуйте распечатать проведённый и непроведённый документ под обычным пользователем. Убедитесь, что запрет срабатывает только там, где задумано, и не ломает печать из других мест — например, из списка документов или обработки групповой печати.
Убираем отдельные печатные формы и кнопки печати
Иногда задача уже: не запретить печать вообще, а убрать из меню «Печать» конкретные формы — например, устаревший вариант счёта или внутреннюю форму, которую сотрудники путают с официальной. В типовых конфигурациях на базе БСП (библиотека стандартных подсистем) состав команд печати формируется в модуле менеджера объекта, в процедуре «ДобавитьКомандыПечати».
Через расширение эту процедуру можно дополнить: удалить лишние команды из коллекции или установить для них условия видимости. Также часть конфигураций позволяет отключать внешние печатные формы в разделе «Администрирование» → «Печатные формы, отчёты и обработки» — там же отключаются подключённые внешние формы, которые больше не должны использоваться.
Для внешних печатных форм, подключённых как файлы .epf, достаточно отключить их в справочнике дополнительных отчётов и обработок — форма исчезнет из меню печати без всякого программирования.
Отключение печати на уровне системы
Если требуется, чтобы с рабочего места в принципе ничего нельзя было распечатать, ограничиваться настройками 1С недостаточно: пользователь всегда сможет выгрузить данные и напечатать их из другой программы. В этом случае печать блокируется средствами операционной системы.
На уровне Windows администратор может остановить и отключить службу «Диспетчер очереди печати» (spooler), удалить установленные принтеры или запретить их установку через групповые политики. В терминальных средах отключается проброс принтеров клиентов. После этого диалог печати 1С покажет отсутствие доступных принтеров, а вывод на печать станет невозможен.
- 1Согласуйте отключение печати с ответственными за процесс — убедитесь, что электронного документооборота достаточно
- 2На рабочем месте или сервере удалите установленные принтеры и отключите службу диспетчера очереди печати
- 3Запретите установку принтеров через групповые политики, чтобы пользователь не мог вернуть настройки
- 4Проверьте из 1С: команда печати должна сообщать об отсутствии принтеров
- 5Дополнительно ограничьте выгрузку в PDF и Excel, если запрет распространяется и на электронные копии
Учтите ограничение: сохранение табличного документа в файл (PDF, Excel) фактически равнозначно печати. Если цель — защита от утечки бумажных копий, системного запрета достаточно; если цель — контроль распространения данных, нужны дополнительные меры по ограничению выгрузки.
Проверка результата и типичные ошибки
После любого способа отключения обязательно проверьте результат под учётной записью того пользователя, для которого действует запрет, а не под администратором — у администратора полные права, и запреты для него не срабатывают. Проверьте печать из формы документа, из списка документов и из обработок групповой печати, если они используются.
Как проверить результат
Команда недоступна или выводит понятное сообщение о запрете
Печатная форма по-прежнему формируется без ограничений
Запрет срабатывает и здесь
Из формы запрещено, а из списка печать проходит
У пользователей без ограничений печать работает как раньше
Запрет затронул тех, кому печать нужна
Расширение и настройки прав сохранились, запрет активен
Изменения затёрты обновлением — значит, правили типовой код
Что важно запомнить
Для запрета печати отдельным пользователям настраивайте роли и право «Вывод», для условных запретов используйте расширение конфигурации, для полного запрета — средства операционной системы. Всегда проверяйте результат под целевым пользователем и сохраняйте возможность обновления конфигурации.
Частые вопросы
Можно ли отключить печать без доступа к конфигуратору?
Частично да. В типовых конфигурациях с профилями групп доступа администратор может ограничить права в пользовательском режиме, а внешние печатные формы отключаются в разделе «Печатные формы, отчёты и обработки». Но тонкие условные запреты без конфигуратора и расширений не реализовать.
Как запретить печать непроведённых документов?
Через расширение конфигурации: перехватите обработчик команды печати нужного вида документов и проверяйте свойство «Проведен». Если документ не проведён — выводите предупреждение и прерывайте выполнение, не вызывая продолжение типового обработчика.
Почему после снятия права «Вывод» пользователь всё равно печатает?
Чаще всего у пользователя назначено несколько ролей, и одна из них по-прежнему даёт право «Вывод» — права в 1С складываются по принципу «разрешено, если разрешено хотя бы одной ролью». Проверьте полный список ролей пользователя и действующие профили групп доступа.
Можно ли запретить печать, но оставить сохранение в PDF?
Да, но не средствами прав 1С: право «Вывод» регулирует и печать, и сохранение табличного документа вместе. Разделить сценарии можно программно — перехватывать именно команду печати, не трогая команды сохранения, либо наоборот, отключать принтеры на уровне ОС, оставив выгрузку в файл.
Что делать, если нужно отключить печать только на время?
Для временного запрета удобнее всего расширение: его можно отключить в списке расширений одним действием, и печать сразу вернётся. Также подходит снятие пользователя с профиля доступа или временное отключение принтера на конкретном рабочем месте.