Права в 1С 8.3 под контролем: профили, группы доступа, записи, время входа и меню
Содержание
Ограничить доступ пользователям в типовой 1С 8.3 (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) проще всего через Администрирование → Настройки пользователей и прав: там собирают профиль групп доступа с нужными ролями, включают пользователя в группу доступа и, если нужно, ограничивают его конкретными организациями или складами. Роли в Конфигураторе для этих программ напрямую не назначают.
Способов несколько, и выбирают их по задаче. Закрыть целый раздел — профиль. Показать бухгалтеру только «свою» организацию — ограничение на уровне записей. Запретить править закрытый квартал — дата запрета изменения. Не пускать в базу ночью — блокировка сеансов или средства Windows. Убрать лишние кнопки — настройка интерфейса , но это косметика, а не защита.
Почему одних стандартных ролей бывает мало
Роль в 1С отвечает на вопрос «что можно делать с объектом»: читать, добавлять, изменять, проводить. Она не отвечает на вопрос «с какими именно записями». Роль «читать документы реализации» открывает все реализации всех организаций сразу.
Отсюда типичные жалобы:
- 🏢 бухгалтер одной фирмы видит выручку соседней фирмы в той же базе;
- 📦 кладовщик склада №2 проводит документы по складу №1;
- 📅 кто-то перепровёл документ в сданном квартале, и отчётность разъехалась;
- 🌙 сотрудник заходит в базу из дома в три часа ночи;
- 🧭 у менеджера в меню десятки пунктов, которые ему не нужны и пугают.
Каждая из этих задач решается своим механизмом. Если пытаться всё закрыть одними ролями, получится десяток самодельных ролей, которые ломаются при каждом обновлении.
Какие способы ограничения доступа в 1С есть и когда что выбирать
| Способ | Что ограничивает | Где настраивают | Кто справится |
|---|---|---|---|
| Профиль групп доступа | Разделы и действия (роли) | Администрирование → Настройки пользователей и прав | Администратор базы |
| Ограничение на уровне записей | Конкретные организации, склады, контрагентов | Там же, в группе доступа | Администратор базы |
| Дата запрета изменения | Правку документов до указанной даты | Раздел «Администрирование», настройки проведения | Главный бухгалтер |
| RLS в роли | Любые строки по любому условию | Конфигуратор, свойства роли | Программист 1С |
| Блокировка сеансов | Вход в базу в заданный интервал | Консоль кластера или раздел «Администрирование» | Администратор сервера |
| Настройка интерфейса | Видимость пунктов меню | Пользовательские настройки | Любой администратор |
Порядок разумный такой: сначала профили, потом ограничения по записям, потом дата запрета. До RLS и программного кода в типовой конфигурации доходит редко.
Пошаговая настройка прав через профили и группы доступа
В типовых конфигурациях на БСП (библиотеке стандартных подсистем) права устроены в три слоя:
- Роль — элементарное право на объект, задаётся разработчиком.
- Профиль групп доступа — набор ролей под должность: «Бухгалтер», «Кассир», «Администратор».
- Группа доступа — профиль плюс список пользователей и, при необходимости, ограничения по записям.
Шаг 1. Подготовьте профиль
- Откройте
Администрирование → Настройки пользователей и прав → Профили групп доступа. - Найдите поставляемый профиль, близкий к нужной должности.
- Поставляемые профили менять нельзя. Выделите его и скопируйте — получится ваш профиль с тем же набором ролей.
- Задайте понятное имя, например «Бухгалтер по зарплате без банка».
- На вкладке ролей снимите флажки с того, что сотруднику не нужно. Включите показ только выбранных ролей, чтобы не потеряться в списке.
- Запишите профиль.
Не собирайте профиль «с нуля» из сотен ролей. Взять поставляемый и убрать лишнее надёжнее: в нём уже есть служебные роли, без которых программа не откроется.
Шаг 2. Создайте группу доступа
- Перейдите в
Администрирование → Настройки пользователей и прав → Группы доступа. - Создайте группу, выберите профиль из шага 1.
- На вкладке участников добавьте пользователей.
- Запишите и закройте.
Шаг 3. Проверьте пользователя
Откройте карточку пользователя в Администрирование → Настройки пользователей и прав → Пользователи. Убедитесь, что включён флажок входа в программу и выбран способ аутентификации: пароль 1С или вход через Windows.
В карточке есть отчёт о правах доступа. Он показывает итог по всем группам, куда входит человек, — это быстрее, чем перебирать группы вручную.
Права в 1С складываются. Если пользователь состоит в двух группах, он получает сумму прав обеих. Ограничение в одной группе не отнимет того, что разрешила другая.
Что ещё стоит закрыть сразу
Помимо разделов учёта, у рядовых пользователей обычно убирают несколько опасных действий:
- 🗑 удаление помеченных объектов — пусть сотрудники только помечают, а окончательно удаляет администратор после проверки;
- 👥 изменение списка пользователей и групп доступа;
- 🔌 открытие внешних отчётов и обработок — через них можно выполнить любой код в базе;
- 📤 выгрузку и загрузку данных.
Каждое из этих действий в профиле отвечает отдельной ролью. Найдите её через поиск по списку ролей и снимите флажок.
Перед тем как убирать роли у действующих сотрудников, проверьте результат на тестовом пользователе. Зайдите в базу под его именем и пройдите типичный рабочий день: откройте журналы, проведите документ, сформируйте отчёт.
Ограничение доступа к записям: организации, склады и RLS
Вариант без программиста: ограничения в группе доступа
Для многофирменной базы это главный приём.
- В
Администрирование → Настройки пользователей и праввключите флажок ограничения доступа на уровне записей. - Дождитесь окончания обновления доступа. Программа в фоне рассчитывает служебные ключи доступа, на большой базе это может занять от нескольких минут до часов.
- Откройте профиль. На вкладке видов доступа для вида «Организации» выберите режим, где перечень разрешённых значений задаётся в группе доступа.
- Откройте группу доступа, на вкладке ограничений доступа добавьте разрешённые организации.
После этого пользователь не увидит в списках документы и остатки чужих организаций. Набор видов доступа зависит от конфигурации: в БП это в основном организации, в УТ 11 к ним добавляются склады, партнёры и другие разрезы.
Ограничение на уровне записей заметно нагружает базу. В файловом варианте на десятке пользователей это почти не чувствуется, в клиент-серверной базе с сотнями сеансов — проверьте скорость на копии.
Вариант для программиста: RLS в роли
RLS (Row-Level Security, ограничение на уровне строк) задают в Конфигураторе. Открывают роль, выбирают объект, право «Чтение» или «Изменение» и пишут условие на языке запросов:
ГДЕ Ответственный = &ТекущийПользователь
Здесь ТекущийПользователь — параметр сеанса, который в типовых конфигурациях на БСП уже есть. Условие можно сложнее: с соединениями, вложенными запросами, шаблонами ограничений.
Где RLS уместен:
- 🛠 в самописной конфигурации без БСП;
- 🔒 когда нужен разрез, которого нет среди видов доступа типовой;
- 📑 когда ограничение должно работать и в отчётах, и во внешних обработках.
Что нужно знать заранее:
- в собственных запросах пишите
ВЫБРАТЬ РАЗРЕШЕННЫЕ, иначе пользователь с RLS получит ошибку о нехватке прав вместо отфильтрованного результата; - правка ролей типовой конфигурации означает снятие объекта с поддержки и ручное сравнение при каждом обновлении;
- пустое или ошибочное условие может открыть всё — проверяйте под тестовым пользователем.
Прежде чем писать RLS в типовой, посмотрите, нет ли нужного разреза среди видов доступа в профиле. Чаще всего он есть.
Запрет правки прошлых периодов
Отдельная разновидность ограничения по записям — дата запрета изменения. Её включают в разделе Администрирование, в настройках проведения документов. Можно задать одну дату для всех или разные даты по организациям и пользователям. Документы до этой даты открываются только на просмотр.
Главному бухгалтеру обычно оставляют право менять саму дату. Остальным сотрудникам — нет.
Как запретить вход в 1С ночью и в выходные
Готовой настройки «пускать пользователя Иванова только с 9 до 18» в типовых конфигурациях нет. Задачу решают одним из трёх способов.
Блокировка начала сеансов на сервере
В клиент-серверном варианте откройте консоль администрирования серверов 1С, свойства информационной базы. Там есть блокировка начала сеансов с полями начала и окончания, сообщением и кодом разрешения. Блокировка действует на всех, кто не знает кода разрешения.
Через утилиту rac то же самое делается командой обновления свойств базы; точные параметры смотрите в rac help infobase.
Если блокировка начнётся, пока люди работают, их сеансы будут завершены. Ставьте начало после конца рабочего дня и предупредите коллег, кто задерживается.
В типовых на БСП есть и встроенный аналог: обработка блокировки работы пользователей в разделе Администрирование. В ней тоже задают время начала и окончания. Она удобна для разовых работ, а не для ежедневного расписания.
Время входа в Windows
Если сотрудники работают через сервер терминалов или удалённый рабочий стол, ограничьте не 1С, а учётную запись Windows. Для локального пользователя:
net user ivanov /times:M-F,09:00-19:00
В домене то же задаётся в свойствах учётной записи Active Directory, кнопкой времени входа. Так человек не попадёт ни в 1С, ни на сервер вообще.
Проверка при запуске через расширение
Для персонального расписания программист пишет расширение: при начале работы система сверяет текущее время с разрешённым интервалом и завершает сеанс, если вход не положен. Расширение не снимает типовую с поддержки и переживает обновления.
Срок действия учётной записи
Для временных сотрудников и подрядчиков в карточке пользователя есть ограничение срока входа: до определённой даты или при отсутствии работы заданное число дней. Это не время суток, но закрывает частую дыру — забытые учётки уволившихся.
Скрываем лишние разделы, меню и кнопки
Сначала главное правило: скрытие пункта меню не защищает данные. Объект по-прежнему можно открыть через поиск, ссылку в другом документе или отчёт. Защиту дают только права.
Хорошая новость: если у пользователя нет прав на объект, команда открытия пропадает из меню сама. Поэтому правильно настроенный профиль уже убирает большую часть лишнего.
Остальное настраивают так:
- Функциональность программы. В БП раздел
Главное → Функциональностьотключает целые блоки учёта для всей базы. Если валютных операций нет, пункты о валюте исчезнут у всех. - Настройка панелей и навигации. Пользователь или администратор под его именем открывает меню настроек в правом верхнем углу окна и убирает разделы и команды из панели навигации.
- Копирование настроек. Настроили интерфейс одному менеджеру — перенесите его остальным. В
Администрирование → Настройки пользователей и правесть копирование и очистка настроек пользователей.
Сделайте «эталонного» пользователя для каждой должности, отладьте на нём интерфейс и раскопируйте. Новому сотруднику достаточно скопировать настройки эталона.
Ошибки, из-за которых ограничение доступа не срабатывает
Ещё одна тихая ошибка — отключённый, но не удалённый пользователь с сохранённым паролем. Снимайте флажок входа в день увольнения, а через месяц проверяйте список по дате последнего входа.