При настройке учетных записей для аудиторов, стажеров или контролирующих специалистов в программе «1С:Бухгалтерия предприятия» (редакция 3.0) системные администраторы обычно назначают типовой профиль групп доступа «Только просмотр». Ожидается, что пользователь сможет ознакомиться с первичными документами, проводками и отчетами, но будет лишен возможности вносить изменения, выгружать данные во внешние файлы и отправлять документы на принтер. Однако на практике часто возникает ситуация, когда при отсутствии специализированных ролей на печать кнопка «Печать» в документах остается видимой, а пользователь может формировать и выводить макеты на физический принтер.
Для понимания причин такого поведения необходимо разделить два независимых механизма платформы «1С:Предприятие 8.3» и Библиотеки стандартных подсистем (БСП):
В типовых конфигурациях за управление правом вывода отвечают две основные роли:
Вывод. При ее наличии сформированный табличный документ можно напечатать.Если обе эти роли у пользователя отсутствуют, стандартное поведение системы должно выглядеть следующим образом: кнопка «Печать» на форме документа доступна, печатная форма формируется на экране, однако пиктограмма принтера становится неактивной, пункт главного меню «Файл — Печать» блокируется, а контекстные команды сохранения и копирования становятся недоступными. Если же физическая отправка на печать всё равно выполняется успешно, значит, право Вывод предоставлено через другие роли или механизмы.
Если пользователь с профилем «Только просмотр» сохраняет возможность печатать, необходимо последовательно выполнить следующие диагностические шаги:
Перейдите в раздел «Администрирование — Настройки пользователей и прав — Пользователи», выделите нужного пользователя и нажмите кнопку «Права доступа». В открывшемся окне сформируйте отчет по правам. Проверьте результирующий список ролей: право Вывод не должно присутствовать ни в одной строке.
В «1С:Предприятии» права суммируются по правилу «ИЛИ»: если хотя бы одна роль разрешает действие, оно считается разрешенным для пользователя в целом. Проверьте, не включен ли пользователь параллельно в другие группы доступа, например, «Синхронизация данных», «Работа с номенклатурой» или группы, созданные сторонними расширениями. Дополнительные группы могут неявно содержать роль, дающую право вывода.
В базах, где управление правами ведется в режиме «1С:Предприятие», список ролей пользователя в окне Конфигуратора должен полностью определяться группами доступа. Если администратор вручную отметил пользователю какие-либо роли в дереве метаданных Конфигуратора, эти роли не отображаются в справочнике профилей, но действуют в пользовательском сеансе.
Если печать осуществляется через подключаемые внешние печатные формы, проверьте права на использование дополнительных обработок. Некоторые внешние механизмы реализуют печать через прямое обращение к объектам операционной системы в обход стандартной подсистемы печати БСП.
Если цель заключается в блокировке физической печати при сохранении экранного просмотра, настройка выполняется штатными средствами администрирования:
Ограничение способа: кнопки печати в командных панелях форм документов останутся видимыми. Пользователь сможет открывать макет для просмотра, но платформа заблокирует вывод на физический принтер и запись в файл.
Если требуется полностью скрыть меню «Печать» из интерфейса конкретных документов без доработки конфигурации, можно воспользоваться встроенным механизмом настройки форм:
Ограничения способа:
Для гарантированного отключения команд печати на уровне всего интерфейса без изменения конфигурации поставщика применяется расширение. Этот способ позволяет программно перехватить построение меню печати БСП.
В расширении создается специализированная роль (например, ЗапретПечатиДокументов) или проверяется вхождение пользователя в профиль «Только просмотр». В общем модуле-переопределении подсистемы печати добавляется обработчик:
&Вместо("ДобавитьКомандыПечати")
Процедура Расш_ДобавитьКомандыПечати(ОбъектыНазначения, КомандыПечати)
// Вызываем стандартное формирование команд
ПродолжитьВызов(ОбъектыНазначения, КомандыПечати);
// Проверяем наличие ограничивающей роли у текущего пользователя
Если РольДоступна("ЗапретПечатиДокументов") Тогда
// Очищаем коллекцию команд печати для формы
КомандыПечати.Очистить();
КонецЕсли;
КонецПроцедуры
Преимущества и условия применения:
Выбор подходящего варианта зависит от требований регламента информационной безопасности предприятия: