Как настроить права доступа и скрыть лишние разделы интерфейса в 1С:Комплексная автоматизация 2?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация IT и автоматизация бизнеса
← На главную

При настройке рабочих мест для линейного персонала, такого как кассиры, стажеры или кладовщики, перед администратором системы часто встает задача жесткого ограничения интерфейса. В идеальном сценарии кассир-стажер при входе в систему должен видеть только самое необходимое для работы — например, разделы «Главное» и «Продажи», а внутри них — исключительно пункты «Рабочее место кассира (РМК)» и «Чеки ККМ». Все остальные разделы, такие как «Закупки», «Склад и доставка», «Реестр торговых документов», должны быть скрыты, чтобы сотрудник не отвлекался и не имел доступа к конфиденциальным данным.

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

Почему отключение «Базовых прав» ломает систему и вызывает ошибки

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


Ошибка при вызове метода контекста (Получить)
по причине:
Нарушение прав доступа!
Константа. Дата перехода на партионный учет версии 2.2. Чтение.

Выясним причину этого поведения. В конфигурациях, построенных на ERP-платформе (к которым относятся «1С:Комплексная автоматизация 2» и «1С:Управление торговлей 11»), роль Базовые права УТ является системно значимой и фундаментальной. Она содержит минимально необходимый набор прав на чтение служебных объектов платформы и метаданных конфигурации, без которых нормальная работа сеанса невозможна в принципе.

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

Как правильно поступить в этой ситуации:

  1. Никогда не отключайте предопределенную роль Базовые права УТ целиком.
  2. Если вам необходимо усечь права, которые входят в этот профиль, создайте копию стандартного профиля групп доступа «Базовые права УТ».
  3. В созданном профиле аккуратно снимите галочки с тех ролей, которые дают избыточный доступ к прикладным объектам, но обязательно сохраните права на чтение ключевых констант, системных справочников (таких как «Пользователи», «Организации», «Валюты») и общих параметров конфигурации.

Принцип кумулятивности прав в 1С:Предприятие 8.3 и его влияние на интерфейс

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

Дело в том, что в системе 1С:Предприятие действует кумулятивный (складывающийся) принцип прав. Если пользователю назначено несколько ролей или он входит в несколько групп доступа, все права суммируются. Раздел (подсистема) будет отображаться на панели разделов пользователя в том случае, если выполняются одновременно два условия:

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

Влияние расширений конфигурации на командный интерфейс

Если вы проверили все роли, отключили лишние группы доступа, но разделы (например, «Реестр торговых документов», «Склад», «Закупки») все равно упрямо отображаются на экране, причина может крыться во внешних доработках.

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

Чтобы проверить эту гипотезу, выполним следующие шаги:

  1. Зайдем в базу в режиме «Конфигуратор».
  2. Откроем меню Конфигурация — Расширения конфигурации.
  3. Проанализируем список установленных расширений. Если там есть расширения, затрагивающие командный интерфейс или подсистемы продаж/склада, откроем конфигурацию конкретного расширения.
  4. Проверим свойства подсистем в расширении и снимем галочку Видимость в командном интерфейсе для тех разделов, которые должны быть скрыты от линейных пользователей.

Пошаговое руководство: Настройка интерфейса «под пользователя» через механизм копирования настроек

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

Рассмотрим этот процесс по шагам:

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

Шаг 2. Визуальная настройка интерфейса
Зайдите в базу под учетной записью Шаблон_Кассир. Выполните ручную настройку командного интерфейса:

Шаг 3. Перенос настроек конечным пользователям
Выйдите из сеанса шаблонного пользователя и зайдите в информационную базу под учетной записью Администратора. Перейдите в раздел:

НСИ и администрирование — Настройки пользователей и прав — Персональные настройки пользователей — Копирование настроек.

В открывшейся форме выполните следующие действия:

  1. В поле Копировать настройки от выберите нашего пользователя-донора — Шаблон_Кассир.
  2. В списке ниже выберите пользователей-получателей (конкретного кассира-стажера или группу пользователей).
  3. Нажмите кнопку Выбрать настройки и отметьте галочками пункт Внешний вид (сюда входят настройки панели разделов, панели открытых окон и настройки форм).
  4. Нажмите кнопку Копировать.

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

Как запретить пользователю самостоятельно менять настроенный интерфейс

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

Для реализации этого запрета используется стандартная роль платформы 1С — Сохранение данных пользователя (в конфигураторе она может называться SaveUserData).

Если у профиля группы доступа, назначенного кассиру, снять галочку с роли Сохранение данных пользователя, то произойдет следующее:

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

Использование функциональных опций для глобального упрощения базы

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

Для этого перейдите в раздел:

НСИ и администрирование — Настройка НСИ и разделов.

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

← На главную