← Назад к вопросам

Как настраиваются права доступа для пользователей в 1С?

1.8 Middle🔥 201 комментариев
#RLS и права

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Ответ

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

Иерархия управления правами

Пользователь
    ↓
  Роли (назначаются пользователю)
    ↓
  Права (содержатся в роли)
    ↓
Доступ к объектам конфигурации

Основные компоненты системы прав

1. Роли — наборы прав, объединённые по функциональному назначению 2. Права — разрешения на выполнение конкретных операций 3. Пользователи — сущности, которым назначаются роли

Место настройки

Права настраиваются в двух местах:

1. В конфигураторе (разработка)

В дизайнере конфигурации создаются роли с набором прав:

Конфигурация
  ↓
Роли (объект метаданных)
  ├── РольБухгалтера
  │   ├── Чтение Справочник.Счета
  │   ├── Редактирование Справочник.ДПланы
  │   ├── Проведение Документ.ПроводкаБухучета
  │   └── ...
  ├── РольКладовщика
  │   ├── Чтение Справочник.Товары
  │   ├── Редактирование Справочник.Склады
  │   └── ...
  └── РольАдминистратора
      └── Все права

2. В 1С:Предприятие (администрирование)

В работающей системе администратор:

  • Создаёт пользователей
  • Назначает им роли
  • Устанавливает дополнительные разрешения

Права на операции

Стандартные типы прав:

ПравоОписаниеПример
Интерактивное введениеРедактирование через формыМожет открыть форму и редактировать
ЧтениеЧтение данныхSELECT из БД
РедактированиеИзменение данныхUPDATE в БД
УдалениеУдаление данныхDELETE из БД
ПроведениеПроведение документовТолько для документов
ИтоговоеРедактированиеРедактирование после проведенияИзменить проведённый документ
ПравОтвественноеАвторство документаКто создал запись

Пример создания роли в конфигураторе

// В дизайнере создаём роль "РольПродавца"
// Свойства роли:
// - Название: "Продавец"
// - Назначение: Для работы с заказами и товарами

Роль РольПродавца
    // Справочники
    Чтение Справочник.Товары
    Чтение Справочник.Контрагенты
    Редактирование Справочник.Контрагенты
    
    // Документы
    Чтение Документ.ПродажиТовара
    Редактирование Документ.ПродажиТовара
    Проведение Документ.ПродажиТовара
    
    // Отчёты
    Чтение Отчёт.ПродажиПоТоварам
    
    // Запрещаем доступ к финансовым данным
    Чтение Справочник.БанковскиеСчета
КонецРоли

Назначение ролей пользователям

Способ 1: Через меню администратора

1. Администратор → Пользователи
2. Выбрать пользователя
3. Вкладка "Роли"
4. Добавить нужные роли
5. Сохранить

Способ 2: Программно

&НаСервере
Процедура НазначитьРолиПользователю(ПользовательСсылка)
    ПользовательОбъект = ПользовательСсылка.ПолучитьОбъект();
    
    // Очистить текущие роли
    ПользовательОбъект.Роли.Очистить();
    
    // Добавить новые роли
    НоваяРоль = ПользовательОбъект.Роли.Добавить();
    НоваяРоль.Роль = Метаданные.Роли.РольПродавца;
    
    НоваяРоль = Пользователь.Роли.Добавить();
    НоваяРоль.Роль = Метаданные.Роли.РольБухгалтера;
    
    // Сохранить изменения
    Пользователь.Записать();
КонецПроцедуры

Проверка прав в коде

Проверка доступа через ОСП (если используется БСП)

// Проверить право на чтение
ЕстьПраво = ОСП.Пользователи.ЕстьПраво(
    "Чтение",
    Метаданные.Справочники.Товары
);

Если НЕ ЕстьПраво Тогда
    Сообщить("Нет доступа к справочнику Товары");
    Возврат;
КонецЕсли;

Прямая проверка (встроенный язык)

&НаСервере
Процедура ПроверитьДоступ()
    ТекущийПользователь = Пользователи.ТекущийПользователь();
    
    // Получить все роли пользователя
    РолиПользователя = Новый СписокЗначений();
    ДляКаждого Роль Из ТекущийПользователь.Роли Цикл
        РолиПользователя.Добавить(Роль.Роль.Имя);
    КонецЦикла;
    
    // Проверить наличие конкретной роли
    Если РолиПользователя.НайтиПоЗначению("РольБухгалтера") <> Неопределено Тогда
        // Пользователь бухгалтер
    КонецЕсли;
КонецПроцедуры

Разделение данных по пользователям

RLS (Row-Level Security) — ограничение видимости строк

// Реквизит формы для ограничения данных
&НаСервере
Процедура ОтфильтроватьДанныеПоПользователю()
    ТекущийПользователь = Пользователи.ТекущийПользователь();
    
    // Показать только документы, созданные текущим пользователем
    Запрос = Новый Запрос(
        "ВЫБРАТЬ * 
         ИЗ Документ.ПродажиТовара 
         ГДЕ Автор = &Пользователь"
    );
    Запрос.УстановитьПараметр("Пользователь", ТекущийПользователь);
    
    ТабличнаяЧасть.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры

Управление видимостью элементов формы

&НаСервере
Процедура УстановитьВидимостьЭлементов()
    ТекущийПользователь = Пользователи.ТекущийПользователь();
    
    // Показать кнопку удаления только администраторам
    ЕстьРольАдмина = ОСП.Пользователи.ЕстьРоль(
        "РольАдминистратора",
        ТекущийПользователь
    );
    
    Элементы.КнопкаУдалить.Видимость = ЕстьРольАдмина;
    
    // Запретить редактирование для просмотра
    ЕстьПраваРедактирования = ОСП.Пользователи.ЕстьПраво(
        "Редактирование",
        Метаданные.Документы.ПродажиТовара
    );
    
    Элементы.ТабличнаяЧасть.ТолькоПросмотр = НЕ ЕстьПраваРедактирования;
КонецПроцедуры

Лучшие практики

Минимальные права — назначайте только необходимые права (принцип наименьших привилегий) ✓ Логические роли — создавайте роли по должностям/функциям, не по людям ✓ Документирование — ведите реестр ролей и их прав ✓ Аудит — логируйте изменения прав доступа ✓ Периодическая проверка — регулярно пересматривайте права ✓ Отделение администрирования — разделите разработку и управление правами

Типовые роли

РольАдминистратора      → Все права
РольБухгалтера          → Справочники, Бухгалтерия, Отчёты
РольСкладовщика         → Товары, Складские операции
РольКассира             → Кассовые операции, Отчёты по кассе
РольСотрудника          → Ограниченный просмотр (только свои данные)
РольПросмотра           → Только чтение без редактирования

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