Права доступа 1С: как настроить права пользователя

Дата: 21.09.2026 07:06:43
Права доступа
Роли
Группы доступа
БСП
Администрирование
Расширения
Комментарий:
0
Платформа:
8.3
Конфигурация:
Любая
Формы:
Управляемые

Права доступа 1С отвечают на простой вопрос: что каждый сотрудник может видеть и менять в базе. Кладовщику не нужны закупочные цены, бухгалтеру одной фирмы — документы другой, менеджеру — чужие клиенты. В типовых конфигурациях на платформе 8.3 большую часть таких задач закрывает настройка, без программиста. Ниже — схема для БП 3.0, УТ 11 и ERP 2, разбор типовых задач и граница, за которой настройки уже не хватает.

Права доступа 1С 8.3: как устроена схема

В актуальных типовых конфигурациях (Бухгалтерия, Управление торговлей, ERP, Комплексная автоматизация, УНФ, Розница) права пользователей в 1С 8.3 настраиваются через подсистему «Управление доступом» из БСП. Схема везде одна, в четыре уровня:

УровеньЧто этоКто настраивает
РольНабор разрешений на объекты базы: читать, добавлять, изменять, проводить. Создаётся в конфигуратореПрограммист
Профиль группы доступаНабор ролей под должность («менеджер по продажам», «кладовщик») и перечень того, по чему можно ограничивать: организации, склады, клиентыАдминистратор. Поставляемые профили приходят вместе с конфигурацией
Группа доступаПрофиль плюс конкретные сотрудники плюс конкретные значения: «организации — только ООО „Ромашка“»Администратор
ПользовательВходит в одну или несколько групп и получает сумму их правАдминистратор

Из схемы следуют два правила:

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

Как создать роль в конфигураторе, разобрано в статье про роли 1С. Старые конфигурации на обычных формах (например, УТ 10.3) устроены иначе: роли там обычно назначают прямо в конфигураторе.

Как настроить права пользователя в БП 3.0

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

  1. Откройте Администрирование → Настройки пользователей и прав → Пользователи и карточку сотрудника (или создайте нового).
  2. Нажмите «Права доступа» и отметьте флажками нужные профили. Можно отметить несколько: права сложатся.
  3. Запишите изменения. Роли применяются при входе, поэтому сотруднику нужно перезапустить программу.

Чтобы бухгалтер работал только со своей организацией:

  1. В разделе Настройки пользователей и прав включите флажок «Ограничивать доступ на уровне записей».
  2. Откройте права доступа сотрудника и выделите отмеченный профиль. Для вида доступа «Организации» выберите вариант «Все запрещены» и добавьте в список организации, с которыми он работает.
  3. Если настройки по организациям у профиля нет, скопируйте профиль, в копии на вкладке «Ограничения доступа» добавьте вид доступа «Организации» и отметьте сотруднику копию.

Права пользователей в УТ 11, ERP и КА: группы доступа

В Управлении торговлей 11, ERP 2 и КА 2 группы доступа видны явно, всё собрано в разделе НСИ и администрирование → Настройки пользователей и прав. Порядок такой:

  1. Выберите профиль. Нужен свой набор ролей — скопируйте ближайший поставляемый профиль и меняйте копию: оригинал обычно защищён от правки.
  2. Создайте группу доступа на основе профиля, например «Продажи — розничный отдел».
  3. Добавьте участников — пользователей или целые группы пользователей, если структура отделов уже заведена.
  4. Задайте ограничения на вкладке «Ограничения доступа», если в профиле включены виды доступа: какие организации, склады или группы партнёров доступны участникам.
Настройки пользователей и прав в 1С УТ 11.5: группы доступа и профили
УТ 11.5, «НСИ и администрирование → Настройки пользователей и прав»: «Пользователи» (1), «Группы доступа» (2), «Профили групп доступа» (3), флажок «Ограничивать доступ на уровне записей» (4).
Группа доступа в 1С УТ 11.5: профиль и участники
Группа доступа «Менеджер отдела продаж»: профиль — набор ролей (1), вкладка «Участники группы» (2), кнопка «Подобрать» добавляет пользователей (3).
Ограничения доступа группы доступа по складам и видам цен в 1С УТ 11.5
Вкладка «Ограничения доступа» той же группы (1): склады — «Все запрещены, кроме 4 значений» (2), разрешённые склады — в списке ниже (3), вид доступа «Виды цен» (4).

Результат проверяйте отчётом по правам доступа из карточки пользователя: он показывает, что сотрудник может читать и изменять. Название отчёта зависит от версии БСП.

Типовые задачи

Новый сотрудник должен работать «как коллега»

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

Менеджер видит только своих клиентов

В УТ 11 и ERP для этого есть группы доступа партнёров: клиентов распределяют по группам (по отделам, регионам), а в группе доступа менеджера разрешают только нужные. Если такое деление устраивает, программист не нужен.

Вариант строже — «только документы, где он ответственный» — типовыми настройками обычно не закрывается. Это доработка: ограничение на уровне записей с условием вида Менеджер = &ТекущийПользователь, сделанное так, чтобы не пострадали скорость работы и обновления.

Запретить менеджеру видеть закупочные цены

Закупочная цена хранится сразу в нескольких местах:

  • в документах поступления и заказах поставщикам;
  • в ценах поставщиков и в ценах номенклатуры, если закупочная цена заведена как отдельный вид цен;
  • в себестоимости, а значит, в отчётах по валовой прибыли и марже.

Первый шаг — уберите из профиля менеджера роли на закупочные документы и отчёты по себестоимости. Если цены всё равно видны, они приходят из общих данных: роль открывает регистр цен целиком, со всеми видами цен. В УТ 11 и ERP проверьте, есть ли в профиле на вкладке «Ограничения доступа» вид доступа «Виды цен». Если есть, закупочный вид цен закрывается настройкой при включённом ограничении на уровне записей. Если нет — нужно ограничение по полю вида цен или доработка конкретных форм и отчётов.

Кладовщику нужен документ поступления (количество, склад), но не цены. Закрыть документ целиком нельзя, поэтому цены прячут в форме — пример кода ниже.

Когда хватает настроек, а когда нужна доработка

ЗадачаНастройкойДоработкой
Дать права «как у коллеги»Да, включить в те же группы—
Ограничить организации, складыДа, виды доступа в профиле—
Запретить правку закрытого периодаДа, настройка «Даты запрета изменения»—
Только свои документыКак правило, нетОграничение на уровне записей
Скрыть колонку (цена, сумма)НетРасширение формы и роль-флаг
Закрыть один вид ценВ УТ и ERP — если есть вид доступа «Виды цен»; в БП — нетОграничение по виду цен
Права на объект из доработкиНетСвоя роль и включение её в профили

Для программиста: скрыть колонки по роли-флагу

Пример для кладовщика. В расширении создаём роль Расш_ПросмотрЗакупочныхЦен без единого права — это флаг. Администратор добавляет её в профили тех, кому цены видеть можно. Форму поступления заимствуем в расширение, добавляем в неё реквизит Расш_СкрыватьЦены (Булево) и в палитре свойств назначаем обработчик ПриСозданииНаСервере с типом вызова «После».

// Модуль формы документа поступления товаров, заимствованной в расширение.
// Обработчик назначен в палитре свойств формы расширения:
// событие ПриСозданииНаСервере, тип вызова «После».
// Роль Расш_ПросмотрЗакупочныхЦен создана в этом же расширении и не содержит
// ни одного права: это флаг для профилей тех, кому цены видеть можно.
// Расш_СкрыватьЦены — реквизит формы (Булево), добавленный в расширении.
// Имена элементов формы проверьте в своей конфигурации: они отличаются.

&НаСервере
Процедура Расш_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)

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

	// Колонки таблицы товаров и итоговые поля внизу формы.
	ИменаЭлементов = "ТоварыЦена, ТоварыСумма, ТоварыСуммаНДС, ТоварыСуммаСНДС"
		+ ", ИтогиВсего, ИтогиНДС";
	Расш_СкрытьЭлементы(ИменаЭлементов);

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

&НаСервере
Процедура Расш_СкрытьЭлементы(ИменаЭлементов)

	// Элемент УО создаём только когда найдено хотя бы одно поле:
	// с пустым списком оформляемых полей оформление применится ко всем полям формы.
	ЭлементУО = Неопределено;

	Для Каждого ИмяЭлемента Из СтрРазделить(ИменаЭлементов, ",", Ложь) Цикл
		Элемент = Элементы.Найти(СокрЛП(ИмяЭлемента));
		Если Элемент = Неопределено Тогда
			Продолжить;
		КонецЕсли;
		Элемент.Видимость = Ложь;
		// Условное оформление типовой код формы не сбрасывает: если он снова
		// включит колонку, значения в колонке таблицы всё равно не отобразятся.
		// Для полей вне таблиц (итоги) на условное оформление не рассчитывайте:
		// их повторно скрывает перехват типовой процедуры, см. ниже.
		Если ЭлементУО = Неопределено Тогда
			ЭлементУО = УсловноеОформление.Элементы.Добавить();
			ЭлементУО.Оформление.УстановитьЗначениеПараметра("Отображать", Ложь);
			ЭлементУО.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
		КонецЕсли;
		ПолеУО = ЭлементУО.Поля.Элементы.Добавить();
		ПолеУО.Поле = Новый ПолеКомпоновкиДанных(Элемент.Имя);
	КонецЦикла;

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

Разбор ключевых мест:

  • Пользователи.РолиДоступны — функция общего модуля Пользователи из БСП. В отличие от платформенной РольДоступна, она учитывает полные права: администратору роль-флаг не нужен. Имена ролей передаются строкой через запятую.
  • Обработчик события назначен через палитру свойств: для событий формы 1С рекомендует именно так. Аннотации &Перед, &После, &Вместо (платформа 8.3.9+) нужны для обычных процедур модуля формы — пример ниже.
  • Элементы.Найти вместо обращения через точку: имена колонок отличаются в разных конфигурациях, а несуществующий элемент через точку даст ошибку при открытии формы.
  • Элемент условного оформления создаём только после первого найденного поля: с пустым списком полей оформление легло бы на всю форму.
  • Одного Видимость = Ложь мало: типовой код формы сам управляет колонками сумм и НДС (например, при смене «Цена включает НДС») и может включить их снова. Условное оформление он не трогает, и значения в колонках останутся скрытыми.
  • СтрРазделить доступна с платформы 8.3.6. Префикс Расш_ у роли, реквизита и методов защищает от совпадения с именами типовой конфигурации.

С итогами внизу формы («Всего», «НДС») сложнее: условное оформление рассчитано на колонки таблиц, и итоги скрывает только Видимость = Ложь. Если типовой код включает их снова, повторите скрытие перехватом &После типовой процедуры управления видимостью или скройте всю группу итогов:

// Тот же модуль формы в расширении. Имя, параметры и директиву компиляции
// перехватываемой процедуры скопируйте из типового модуля формы:
// УправлениеФормой(Форма) здесь — пример. Аннотации — с платформы 8.3.9.

&НаКлиентеНаСервереБезКонтекста
&После("УправлениеФормой")
Процедура Расш_УправлениеФормой(Форма)

	Если Не Форма.Расш_СкрыватьЦены Тогда
		Возврат;
	КонецЕсли;

	// Типовая процедура могла снова показать итоги: скрываем их повторно.
	// Имена итоговых полей — из вашей формы.
	Для Каждого ИмяЭлемента Из СтрРазделить("ИтогиВсего,ИтогиНДС", ",", Ложь) Цикл
		Элемент = Форма.Элементы.Найти(ИмяЭлемента);
		Если Элемент <> Неопределено Тогда
			Элемент.Видимость = Ложь;
		КонецЕсли;
	КонецЦикла;

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

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

Аудит: кто в каких группах доступа

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

// Модуль формы внешней обработки. Вызов — из клиентской команды формы.
&НаСервереБезКонтекста
Процедура ВывестиУчастниковГруппДоступа()

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

	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		Сообщить(СтрШаблон("%1: группа ""%2"", профиль ""%3""",
			Выборка.Участник, Выборка.ГруппаДоступа, Выборка.Профиль));
	КонецЦикла;

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

Участником может быть и группа пользователей: тогда права получают все её члены.

Типичные ошибки

  • Роли назначены в конфигураторе. В конфигурациях на БСП роли пользователя информационной базы пересчитываются из групп доступа, и добавленное вручную пропадёт при ближайшем обновлении прав.
  • Проверка под администратором. На пользователя с полными правами ограничения не действуют. Проверяйте под учётной записью сотрудника или её копией.
  • Не включено ограничение на уровне записей. Значения доступа в группах заполнены, а сотрудник видит все организации — не стоит флажок «Ограничивать доступ на уровне записей».
  • «Нарушение прав доступа!» — в ролях пользователя нет права на сам объект: справочник, документ, регистр или отчёт. Поможет только роль с этим правом. «У пользователя недостаточно прав на исполнение операции над базой данных» — другой случай: запрос без РАЗРЕШЕННЫЕ читает записи, закрытые ограничением на уровне записей, и вместо тихой фильтрации падает. В своих отчётах и обработках пишите ВЫБРАТЬ РАЗРЕШЕННЫЕ. Подробнее — в статье о нарушении прав доступа.

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

Чем профиль отличается от группы доступа?

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

Сотрудник не видит раздел или команду. Это права?

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

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

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

Можно ли дать право только на просмотр?

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

Когда проще заказать

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

По теме

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

Станьте частью сообщества!
Войдите или зарегистрируйтесь, и вы сможете участвовать в обсуждениях.


1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.