При работе с типовыми и доработанными конфигурациями на базе Библиотеки Стандартных Подсистем (БСП) администраторы и разработчики иногда сталкиваются с ситуацией, когда пользователю назначаются типовые профили или роли, но фактические права не применяются. Например, несмотря на назначение типового профиля или роли Вывод на принтер, в файл, в буфер обмена, пользователь не может сохранить печатную форму в файл или скопировать данные из табличного документа.
Рассмотрим подробно причины возникновения этой проблемы, механизм назначения прав в типовых решениях 1С и практические способы устранения подобного поведения.
В современных конфигурациях 1С (таких как «Бухгалтерия предприятия 3.0») управлением доступом занимается подсистема БСП. Важно учитывать следующий принцип: назначение ролей напрямую пользователю в режиме Конфигуратора не работает так, как в старых платформах.
При использовании подсистемы «Управление доступом» актуальный набор ролей пользователя рассчитывается автоматически на основе назначенных ему Профилей групп доступа и Групп доступа. Если проставить галочки ролей напрямую в Конфигураторе, при последующем входе пользователя или обновлении параметров сеанса БСП автоматически сбросит эти настройки и приведет состав ролей в соответствие с профилями из режима «1С:Предприятие».
Правильный порядок добавления новых ролей пользовательскому профилю выглядит следующим образом:
ОбновлениеВспомогательныхДанных или вызова специальных процедур БСП).Если пользователь включен в типовые профили (например, «Бухгалтер», «Главный бухгалтер» или «Администратор»), но кнопка сохранения в файл недоступна, проблема чаще всего кроется не в базовом механизме ролей, а в дополнительных проверках в коде конфигурации.
Проанализируем ситуацию, которая возникает при объединении типовой конфигурации с отраслевыми блоками (например, объединение «1С:Бухгалтерия предприятия» и «1С:Управление автотранспортом»).
В отраслевых модулях разработчики могут внедрять собственную логику проверки прав при формировании макетов и печатных форм. В частности, в общем модуле УатОбщегоНазначенияСервер может содержаться программная проверка наличия специализированных ролей отраслевого блока (например, ролей линейки «УАТ»). Если у пользователя отсутствует специфическая роль отраслевого блока, программный код принудительно запрещает вывод макета или блокирует интерактивные действия с табличным документом, переопределяя стандартные роли платформы.
Для устранения неполадок с назначением ролей и доступом к сохранению печатных форм выполним следующие шаги:
УатОбщегоНазначенияСервер. При необходимости вынесем корректировку проверок в расширение конфигурации.ОбновлениеВспомогательныхДанных (входит в состав инструментария разработчика БСП) и выполним обновление служебных таблиц.ЗапретВывода = Истина или Защита = Истина.После выполнения этих действий и перезапуска сеанса пользователя права на печать, вывод и сохранение документов в файл начнут работать штатно.