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

Особенность заключается в гибкой системе разграничения доступа, которая позволяет настроить права как на уровне целых подсистем (например, "Бухгалтерия" или "Зарплата"), так и на уровне отдельных полей в документах. Однако эта гибкость часто становится источником ошибок: администраторы либо выдают избыточные права (риск безопасности), либо наоборот — чрезмерно ограничивают доступ (риск парализации работы). Мы покажем, как найти баланс и избежать типичных проблем.

1. Основные понятия: роли, профили и группы пользователей

Прежде чем приступать к настройке, важно понять терминологию 1С:Предприятие 8.3. Здесь три ключевых понятия:

  • 🔑 Роли — наборы прав, которые определяют, какие действия пользователь может выполнять в системе (например, "Просмотр справочников", "Редактирование документов"). Роли привязываются к профилям групп доступа.
  • 👥 Профили групп доступа — шаблоны, которые объединяют роли для типичных должностей (например, "Бухгалтер", "Кладовщик", "Администратор").
  • 🏢 Группы пользователей — фактические группы в базе данных, к которым привязываются сотрудники. Одна группа может использовать один профиль.

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

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

📊 Как вы обычно настраиваете права в 1С?
Использую стандартные профили
Создаю свои роли с нуля
Копирую права у существующих пользователей
Поручаю это специалистам

2. Подготовка к выдаче прав: анализ требований

Прежде чем открывать конфигуратор, проведите аудит текущих бизнес-процессов. Составьте список:

  • 📋 Должности сотрудников, которым нужны права (бухгалтер, менеджер по продажам, директор и т.д.).
  • 📂 Объекты 1С, с которыми они работают (справочники "Номенклатура", "Контрагенты", документы "Реализация товаров", отчеты "Оборотно-сальдовая ведомость").
  • 🔧 Действия, которые они должны выполнять (просмотр, создание, редактирование, проведение, удаление).

Типичная ошибка — выдавать права "на будущее". Например, кладовщику дают доступ к бухгалтерским отчетам "на всякий случай". Это нарушает принцип минимальных привилегий, который гласит: пользователь должен иметь только те права, которые необходимы для выполнения его текущих обязанностей.

💡

Перед настройкой прав экспортируйте текущие роли через Файл → Сохранить данные конфигурации как.... Это позволит быстро откатиться, если что-то пойдет не так.

Обратите внимание на конфликтующие требования. Например:

  • 🔄 Менеджеры по продажам должны видеть цены закупки, но не иметь права их редактировать.
  • 📊 Бухгалтер должен видеть все документы, но не иметь права изменять уже проведенные.

3. Пошаговая инструкция: как выдать права через конфигуратор

Теперь перейдем к практике. Откройте 1С:Предприятие в режиме Конфигуратор (для этого при запуске удерживайте Shift или выберите пункт в меню запуска). Далее следуйте алгоритму:

  1. Откройте дерево объектов конфигурации (Объекты → Роли). Здесь вы увидите все существующие роли. Стандартные роли (например, "Полные права") редактировать не рекомендуется — лучше создавать новые.
  2. Создайте новую роль через контекстное меню (Добавить → Роль). Дайте ей понятное имя, например, "МенеджерПоПродажам_ПросмотрИСоздание".
  3. Настройте права для объектов. В окне редактирования роли перейдите на вкладку "Права" и отметьте галочками нужные действия для каждого объекта (справочников, документов, отчетов).
  4. Создайте профиль группы доступа (Объекты → Профили групп доступа). Добавьте в него созданную роль.
  5. Назначьте профиль группе пользователей (Администрирование → Пользователи). Выберите группу и укажите профиль в свойствах.

Пример настройки роли для кладовщика:


Роль: "Кладовщик_Базовый"

Права:

- Справочник "Номенклатура": Просмотр, Редактирование

- Документ "Приходная накладная": Создание, Редактирование, Просмотр

- Документ "Расходная накладная": Создание, Редактирование, Просмотр

- Отчеты: Только "Остатки товаров" (Просмотр)

☑️ Проверка перед сохранением прав

Выполнено: 0 / 4

После сохранения прав обязательно протестируйте их в режиме 1С:Предприятие. Зайдите под учетной записью пользователя и проверьте:

  • 🔍 Видны ли все необходимые справочники и документы?
  • ✍️ Можно ли создавать и редактировать документы?
  • 🚫 Нет ли доступа к запрещенным разделам?

4. Типичные ошибки и как их избежать

Даже опытные администраторы допускают ошибки при настройке прав. Вот наиболее распространенные:

Ошибка Последствия Как исправить
Выдача роли "Полные права" неадминистраторам Пользователь может изменять конфигурацию, удалять данные, нарушать целостность базы Замените на роль с ограниченными правами, проверьте группы пользователя
Назначение противоречивых ролей (например, "Только просмотр" + "Редактирование") Система суммирует права, что приводит к избыточному доступу Проверьте все группы пользователя на конфликтующие роли
Забыли ограничить доступ к конфиденциальным данным (зарплаты, себестоимость) Утечка чувствительной информации, нарушение коммерческой тайны Используйте RLS (Row-Level Security) для ограничения по строкам
Не обновлены права после изменения конфигурации Пользователи не видят новые объекты или получают ошибки доступа После обновления конфигурации выполните Администрирование → Обновление информации о правах

Критическая ошибка: игнорирование механизма RLS (Row-Level Security). Многие администраторы настраивают права только на уровне объектов (например, "можно просматривать документ 'Заказ клиента'"), но забывают ограничить доступ к конкретным записям. Например, менеджер должен видеть только свои заказы, а не все заказы компании. Для этого в есть механизм RLS, который позволяет писать условия на уровне SQL-запросов:


// Пример условия RLS для документа "Заказ клиента"

Менеджер = &ТекущийПользователь

Что будет, если не обновлять права после изменения конфигурации?

Пользователи могут потерять доступ к новым объектам или, наоборот, получить доступ к удаленным. Например, если вы добавили новый справочник "Типы скидок", но не обновили права, менеджеры не увидят его в интерфейсе, даже если роль это позволяет.

Еще одна распространенная проблема — кэширование прав. Если вы изменили роль, но пользователь не видит обновлений, попробуйте:

  1. Перезапустить сеанс пользователя в .
  2. Очистить кэш через Файл → Открыть → Очистить кэш.
  3. Выполнить команду Администрирование → Тестирование и исправление → Обновление информации о правах.

5. Продвинутые техники: RLS, ограничение по реквизитам, динамические права

Для сложных сценариев стандартных ролей недостаточно. Рассмотрим продвинутые методы:

5.1. Row-Level Security (RLS)

RLS позволяет ограничить доступ не к всему объекту, а к отдельным записям. Например, менеджер по продажам должен видеть только своих клиентов. Для настройки:

  1. Откройте объект (например, справочник "Контрагенты") в конфигураторе.
  2. Перейдите на вкладку "Права" и нажмите "Настройка RLS".
  3. Добавьте условие, например: "Менеджер = &ТекущийПользователь".

5.2. Ограничение по реквизитам

Иногда нужно скрыть не весь документ, а только отдельные поля. Например, в документе "Реализация товаров" можно скрыть поле "Себестоимость" для менеджеров. Для этого:

  1. В роли отметьте объект (документ) как доступный для просмотра/редактирования.
  2. На вкладке "Права на реквизиты" снимите галочки с конфиденциальных полей.

5.3. Динамические права через модули

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


Процедура ПриОпределенииПравДоступа(Права, Объект, ТипДоступа)

Если ТипДоступа = ТипДоступа.Редактирование И Объект.Дата < ТекущаяДата() - 30 Тогда

Права.Редактирование = Ложь;

КонецЕсли;

КонецПроцедуры

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

💡

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

6. Автоматизация и контроль: как упростить управление правами

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

  • 🤖 Шаблоны ролей. Создайте базовые шаблоны для типичных должностей (бухгалтер, менеджер, директор) и копируйте их для новых сотрудников.
  • 📊 Отчеты по правам. Используйте стандартный отчет "Права пользователей" (Администрирование → Отчеты по администрированию) для аудита.
  • 🔄 Групповое управление. Объединяйте пользователей в группы по отделам и назначайте права группам, а не отдельным лицам.
  • 📅 Сроки действия прав. Для временных сотрудников (стажеры, подрядчики) настройте автоматическое отключение прав через "Действует с/по" в свойствах пользователя.

Для упрощения контроля можно создать журнал изменений прав. Для этого:

  1. Создайте регистр сведений "ИсторияИзмененийПрав" с ресурсами "Пользователь", "Дата", "Действие".
  2. В модуле управляемого приложения добавьте обработчик события "ПриИзмененииПрав", который будет записывать изменения в регистр.

Пример кода для ведения журнала:


Процедура ПриИзмененииПрав(Пользователь, ТипИзменения) Экспорт

Запись = РегистрыСведений.ИсторияИзмененийПрав.СоздатьМенеджерЗаписи();

Запись.Пользователь = Пользователь;

Запись.Дата = ТекущаяДата();

Запись.Действие = ТипИзменения;

Запись.Записать();

КонецПроцедуры

Это позволит отслеживать, кто и когда изменял права, что критично для аудита безопасности.

📊 Используете ли вы автоматизацию для управления правами в 1С?
Да, активно применяем шаблоны и скрипты
Иногда, для массовых изменений
Нет, настраиваем все вручную
Не знаю, как это сделать

7. Безопасность: как защитить систему от злоумышленников

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

  • 🔐 Двухфакторная аутентификация. Включите ее для всех администраторов через Администрирование → Настройки аутентификации.
  • 🛡️ Регулярный аудит прав. Раз в квартал проверяйте, нет ли у пользователей избыточных прав (например, бывшие сотрудники, временные доступы).
  • 📛 Привязка к IP. Ограничьте доступ к базе по IP-адресам офиса (настраивается в Администрирование → Настройки информационной базы).
  • 🔄 Резервное копирование ролей. Экспортируйте роли в файл (.cf) перед массовыми изменениями.

Особое внимание уделите административным учеткам:

  • 🚨 Никогда не используйте учетку "Администратор" для повседневной работы. Создайте отдельного пользователя с правами администратора.
  • 🔑 Храните пароли администраторов в сейфе или менеджере паролей (например, KeePass).
  • 📋 Ведите журнал использования административных прав (кто и когда заходил под админом).

Если в вашей компании есть требования по ФЗ-152 (закон о персональных данных), обязательно:

  1. Ограничьте доступ к справочникам с персональными данными (например, "Физические лица").
  2. Настройте RLS для разделения доступа к данным сотрудников по отделам.
  3. Включите протоколирование доступа к персональным данным (Администрирование → Настройки протоколирования).
Что делать, если права сбились после обновления 1С?

После обновления конфигурации всегда выполняйте Администрирование → Обновление информации о правах. Если это не помогло, сравните текущие роли с резервной копией через Файл → Сравнить конфигурации.

8. Частые вопросы и решения

🔹 Почему пользователь не видит документ, хотя права выданы?

Причин может быть несколько:

  1. Не обновлена информация о правах (выполните Администрирование → Обновление информации о правах).
  2. Действует RLS-ограничение (проверьте условия на вкладке "Права" у объекта).
  3. Документ помечен на удаление или имеет статус, недоступный для просмотра.
  4. Пользователь входит в группу с более строгими ограничениями, которые перекрывают текущие права.

Для диагностики используйте отчет "Права пользователя" (Администрирование → Отчеты по администрированию), где видно итоговые права с учетом всех групп.

🔹 Как дать доступ только к определенным записям в справочнике?

Используйте механизм RLS (Row-Level Security):

  1. Откройте справочник в конфигураторе (например, "Номенклатура").
  2. Перейдите на вкладку "Права" и нажмите "Настройка RLS".
  3. Добавьте условие, например: "Отдел = &ТекущийОтделПользователя".
  4. В модуле приложения определите функцию ТекущийОтделПользователя(), которая будет возвращать отдел текущего пользователя.

После настройки пользователь будет видеть только те записи, которые соответствуют условию.

🔹 Можно ли ограничить редактирование документов по дате?

Да, это можно сделать двумя способами:

  1. Через RLS: добавьте условие "Дата > ТекущаяДата() - 30" для права "Редактирование".
  2. Через программный код: в модуле объекта переопределите процедуру "ПриОпределенииПравДоступа":

Процедура ПриОпределенииПравДоступа(Права, Объект, ТипДоступа) Экспорт

Если ТипДоступа = ТипДоступа.Редактирование И Объект.Дата < ТекущаяДата() - 30 Тогда

Права.Редактирование = Ложь;

Права.Сообщение = "Редактирование документов старше 30 дней запрещено!";

КонецЕсли;

КонецПроцедуры

🔹 Как массово изменить права для группы пользователей?

Для массового изменения:

  1. Откройте Администрирование → Пользователи.
  2. Выделите нужных пользователей (можно использовать фильтр по группе).
  3. Нажмите "Изменить права" и выберите новый профиль группы доступа.
  4. Подтвердите изменения.

Если нужно изменить права на уровне ролей, экспортируйте роль в файл (.cf), отредактируйте ее в другой базе, а затем импортируйте обратно.

🔹 Как проверить, какие права есть у пользователя?

Есть несколько способов:

  1. Отчет "Права пользователя" (Администрирование → Отчеты по администрированию) — показывает все права с учетом групп.
  2. Тестовый вход: зайдите в систему под учеткой пользователя и проверьте доступ вручную.
  3. Консоль запросов: выполните запрос к системной таблице прав:

ВЫБРАТЬ

Пользователи.Имя КАК Пользователь,

Права.Объект КАК Объект,

Права.ВидыДоступа КАК Доступ

ИЗ

РегистрСведений.ПраваПользователей КАК Права

ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи

ПО Права.Пользователь = Пользователи.Ссылка

ГДЕ

Пользователи.Имя = "Иванов И.И."

Если вы не нашли ответ на свой вопрос, проверьте журнал регистрации (Администрирование → Журнал регистрации) — там могут быть подробности об ошибках доступа.

💡

Регулярный аудит прав и ведение журнала изменений — залог безопасности. Даже в небольшой компании это поможет избежать большинства проблем с доступом.