Права в 1С 8.3 под контролем: профили, группы доступа, записи, время входа и меню

· 9 мин

Содержание

Ограничить доступ пользователям в типовой 1С 8.3 (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) проще всего через Администрирование → Настройки пользователей и прав: там собирают профиль групп доступа с нужными ролями, включают пользователя в группу доступа и, если нужно, ограничивают его конкретными организациями или складами. Роли в Конфигураторе для этих программ напрямую не назначают.

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

Почему одних стандартных ролей бывает мало

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

Отсюда типичные жалобы:

  • 🏢 бухгалтер одной фирмы видит выручку соседней фирмы в той же базе;
  • 📦 кладовщик склада №2 проводит документы по складу №1;
  • 📅 кто-то перепровёл документ в сданном квартале, и отчётность разъехалась;
  • 🌙 сотрудник заходит в базу из дома в три часа ночи;
  • 🧭 у менеджера в меню десятки пунктов, которые ему не нужны и пугают.

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

Какие способы ограничения доступа в 1С есть и когда что выбирать

СпособЧто ограничиваетГде настраиваютКто справится
Профиль групп доступаРазделы и действия (роли)Администрирование → Настройки пользователей и правАдминистратор базы
Ограничение на уровне записейКонкретные организации, склады, контрагентовТам же, в группе доступаАдминистратор базы
Дата запрета измененияПравку документов до указанной датыРаздел «Администрирование», настройки проведенияГлавный бухгалтер
RLS в ролиЛюбые строки по любому условиюКонфигуратор, свойства ролиПрограммист 1С
Блокировка сеансовВход в базу в заданный интервалКонсоль кластера или раздел «Администрирование»Администратор сервера
Настройка интерфейсаВидимость пунктов менюПользовательские настройкиЛюбой администратор

Порядок разумный такой: сначала профили, потом ограничения по записям, потом дата запрета. До RLS и программного кода в типовой конфигурации доходит редко.

Пошаговая настройка прав через профили и группы доступа

В типовых конфигурациях на БСП (библиотеке стандартных подсистем) права устроены в три слоя:

  1. Роль — элементарное право на объект, задаётся разработчиком.
  2. Профиль групп доступа — набор ролей под должность: «Бухгалтер», «Кассир», «Администратор».
  3. Группа доступа — профиль плюс список пользователей и, при необходимости, ограничения по записям.

Шаг 1. Подготовьте профиль

  1. Откройте Администрирование → Настройки пользователей и прав → Профили групп доступа.
  2. Найдите поставляемый профиль, близкий к нужной должности.
  3. Поставляемые профили менять нельзя. Выделите его и скопируйте — получится ваш профиль с тем же набором ролей.
  4. Задайте понятное имя, например «Бухгалтер по зарплате без банка».
  5. На вкладке ролей снимите флажки с того, что сотруднику не нужно. Включите показ только выбранных ролей, чтобы не потеряться в списке.
  6. Запишите профиль.

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

Шаг 2. Создайте группу доступа

  1. Перейдите в Администрирование → Настройки пользователей и прав → Группы доступа.
  2. Создайте группу, выберите профиль из шага 1.
  3. На вкладке участников добавьте пользователей.
  4. Запишите и закройте.

Шаг 3. Проверьте пользователя

Откройте карточку пользователя в Администрирование → Настройки пользователей и прав → Пользователи. Убедитесь, что включён флажок входа в программу и выбран способ аутентификации: пароль 1С или вход через Windows.

В карточке есть отчёт о правах доступа. Он показывает итог по всем группам, куда входит человек, — это быстрее, чем перебирать группы вручную.

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

Что ещё стоит закрыть сразу

Помимо разделов учёта, у рядовых пользователей обычно убирают несколько опасных действий:

  • 🗑 удаление помеченных объектов — пусть сотрудники только помечают, а окончательно удаляет администратор после проверки;
  • 👥 изменение списка пользователей и групп доступа;
  • 🔌 открытие внешних отчётов и обработок — через них можно выполнить любой код в базе;
  • 📤 выгрузку и загрузку данных.

Каждое из этих действий в профиле отвечает отдельной ролью. Найдите её через поиск по списку ролей и снимите флажок.

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

Ограничение доступа к записям: организации, склады и RLS

Вариант без программиста: ограничения в группе доступа

Для многофирменной базы это главный приём.

  1. В Администрирование → Настройки пользователей и прав включите флажок ограничения доступа на уровне записей.
  2. Дождитесь окончания обновления доступа. Программа в фоне рассчитывает служебные ключи доступа, на большой базе это может занять от нескольких минут до часов.
  3. Откройте профиль. На вкладке видов доступа для вида «Организации» выберите режим, где перечень разрешённых значений задаётся в группе доступа.
  4. Откройте группу доступа, на вкладке ограничений доступа добавьте разрешённые организации.

После этого пользователь не увидит в списках документы и остатки чужих организаций. Набор видов доступа зависит от конфигурации: в БП это в основном организации, в УТ 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С, ни на сервер вообще.

Проверка при запуске через расширение

Для персонального расписания программист пишет расширение: при начале работы система сверяет текущее время с разрешённым интервалом и завершает сеанс, если вход не положен. Расширение не снимает типовую с поддержки и переживает обновления.

Срок действия учётной записи

Для временных сотрудников и подрядчиков в карточке пользователя есть ограничение срока входа: до определённой даты или при отсутствии работы заданное число дней. Это не время суток, но закрывает частую дыру — забытые учётки уволившихся.

Скрываем лишние разделы, меню и кнопки

Сначала главное правило: скрытие пункта меню не защищает данные. Объект по-прежнему можно открыть через поиск, ссылку в другом документе или отчёт. Защиту дают только права.

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

Остальное настраивают так:

  1. Функциональность программы. В БП раздел Главное → Функциональность отключает целые блоки учёта для всей базы. Если валютных операций нет, пункты о валюте исчезнут у всех.
  2. Настройка панелей и навигации. Пользователь или администратор под его именем открывает меню настроек в правом верхнем углу окна и убирает разделы и команды из панели навигации.
  3. Копирование настроек. Настроили интерфейс одному менеджеру — перенесите его остальным. В Администрирование → Настройки пользователей и прав есть копирование и очистка настроек пользователей.

Сделайте «эталонного» пользователя для каждой должности, отладьте на нём интерфейс и раскопируйте. Новому сотруднику достаточно скопировать настройки эталона.

Ошибки, из-за которых ограничение доступа не срабатывает

Диагностика: выберите симптом

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

Частые вопросы

Можно ли ограничить доступ к одному отчёту, не трогая остальные?
Да. Найдите в профиле роль, которая открывает этот отчёт, и снимите её. Если отчёт входит в общую роль с другими, нужна отдельная роль от программиста или расширение.
Сколько групп доступа может быть у одного пользователя?
Сколько угодно. Но права складываются, поэтому при трёх-четырёх группах уже трудно понять, откуда взялось лишнее право. Держите одну-две группы на человека.
Работает ли ограничение доступа в файловой базе?
Да, профили, группы доступа и ограничение по записям работают и в файловом, и в клиент-серверном варианте. Блокировка начала сеансов через консоль кластера есть только в клиент-серверном.
Видит ли пользователь с ограничениями итоговые суммы по всем организациям?
Нет, если ограничение по организациям включено и отчёт написан правильно. В таком отчёте он увидит только суммы по разрешённым организациям.
Как дать временный доступ на время отпуска коллеги?
Включите сотрудника в группу доступа отпускника на нужный срок, а после возвращения исключите. Удобно завести отдельную группу «Замещение» и менять в ней только состав.