Как скрыть все отчеты от конкретного пользователя в 1С:Бухгалтерия 3.0?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия
← На главную

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

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

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

Способ 1. Настройка профилей групп доступа (Самый надежный стандартный метод)

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

Давайте разберем этот процесс по шагам:

  1. Перейдем в раздел Администрирование, далее выберем пункт Настройки пользователей и прав и откроем справочник Профили групп доступа.
  2. Вместо редактирования поставляемых разработчиками стандартных профилей (таких как «Бухгалтер» или «Главный бухгалтер»), мы создадим копию существующего профиля. Для этого выделим нужный профиль и нажмем кнопку Скопировать (или клавишу F9).
  3. В открывшейся форме нового профиля укажем понятное наименование, например: Бухгалтер (без доступа к отчетам).
  4. Перейдем на вкладку Разрешенные роли. Здесь нам нужно найти и снять флажки со следующих ключевых ролей, которые отвечают за формирование отчетности в системе:
    • Чтение стандартных отчетов — эта роль дает доступ к ОСВ (оборотно-сальдовой ведомости), карточке счета, анализу счета и другим стандартным бухгалтерским отчетам.
    • Работа с регламентированной отчетностью (а также смежные роли чтения регламентированных отчетов) — отвечает за видимость налоговых деклараций, баланса и статистической отчетности.
    • Чтение дополнительных отчетов и обработок — блокирует возможность запускать внешние отчетики, загруженные в базу через справочник дополнительных обработок.
  5. Сохраним созданный профиль по кнопке Записать и закрыть.
  6. Перейдем в карточку конкретного пользователя и в настройках прав (группах доступа) назначим ему наш новый профиль Бухгалтер (без доступа к отчетам) взамен старого стандартного профиля.

После применения этих настроек пользователь при попытке сформировать отчет или перейти по прямой ссылке на форму отчета получит системное сообщение о нарушении прав доступа. Этот метод является наиболее безопасным и рекомендуется к внедрению в первую очередь.

Способ 2. Использование «слабых» стандартных профилей

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

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

Способ 3. Ограничение доступа к дополнительным отчетам через RLS

Если в вашей базе установлены специфические внешние отчёты, разработанные программистами под ваши нужды, стандартное отключение ролей может не сработать, если эти отчеты используют общие права на запуск внешних обработок. В этом случае на помощь приходит встроенный механизм RLS (ограничение доступа на уровне записей).

Выясним, как настроить ограничения для дополнительных отчетов:

  1. Убедимся, что в базе включена опция RLS. Для этого перейдем в меню Администрирование — Настройки пользователей и прав и установим флажок Ограничивать доступ на уровне записей.
  2. Перейдем в настройки группы доступа нашего пользователя.
  3. В табличной части видов доступа найдем строку Дополнительные отчеты и обработки.
  4. Установим значение доступа в положение Все запрещены.
  5. При необходимости в список исключений мы можем вручную добавить только те единичные сервисные отчеты, которые пользователю действительно разрешено видеть. Все остальные сторонние отчеты будут для него скрыты программно на уровне СУБД.

Способ 4. Скрытие отчетов на уровне вариантов СКД

Бывают ситуации, когда нужно скрыть не все отчеты, а только конкретные управленческие варианты отчетов, построенные на Системе компоновки данных (СКД).

Рассмотрим, как ограничить видимость конкретного варианта отчета:

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

Способ 5. Разработка расширения конфигурации (Метод для программистов)

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

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

Ниже представлен пример кода, который можно разместить в общем модуле расширения или в обработчике перед открытием формы отчета:


&НаКлиенте
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    // Проверим, обладает ли пользователь административными правами
    Если НЕ РольДоступна("ПолныеПрава") И НЕ РольДоступна("РуководительПолномочия") Тогда
        ПоказатьПредупреждение(, "У вас нет прав на формирование отчетов в данной базе!");
        Отказ = Истина; // Блокируем открытие формы отчета
    КонецЕсли;
КонецПроцедуры

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

Способ 6. Настройка панели навигации (Быстро, но ненадежно)

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

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

Почему этот способ считается ненадежным?

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

Резюме и рекомендации

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

  1. Основной барьер безопасности: Создайте копию профиля пользователя и отключите роли Чтение стандартных отчетов и Работа с регламентированной отчетностью.
  2. Ограничение внешних файлов: Настройте RLS для дополнительных отчетов и обработок.
  3. Интерфейсная гигиена: Настройте панель навигации пользователя, убрав из видимости разделы отчетов, чтобы не провоцировать сотрудника лишними элементами управления.
← На главную