В конфигурации 1С:Бухгалтерия 3.0 по умолчанию отсутствует типовой механизм, позволяющий легко ограничить менеджеров в просмотре «чужих» документов по реквизиту Ответственный. В данной статье мы разберем, какие подходы существуют для решения этой задачи, оценим их надежность и рассмотрим техническую реализацию через Расширение конфигурации.
Этот способ является наиболее простым и быстрым в реализации. Суть метода заключается в принудительной установке фильтра в динамическом списке при открытии формы.
Рассмотрим пошагово, как это реализовать:
Расширение конфигурации.РеализацияТоваровУслуг, СчетНаОплату).ПриСозданииНаСервере формы списка, чтобы программно добавить отбор.Пример логики для установки отбора в коде:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОтборСписок = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборСписок.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ответственный");
ОтборСписок.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборСписок.ПравоеЗначение = ПараметрыСеанса.ТекущийПользователь;
ОтборСписок.Использование = Истина;
КонецПроцедуры
Важное предупреждение: Данный метод не является полноценным ограничением доступа (RLS). Он скрывает документы только в конкретных формах списков. Менеджер при наличии соответствующих прав сможет увидеть эти документы через стандартные отчеты, глобальный поиск или другие формы.
Для создания полноценной защиты данных, которая будет работать во всех отчетах и формах, необходимо использовать механизмы RLS. В типовой конфигурации 1С:Бухгалтерия 3.0 они настроены преимущественно по Организациям. Чтобы добавить ограничение по Ответственному, необходимо:
Роли в рамках расширения.РегистрСведений.НастройкиСистемыНалогообложения).Нюанс работы системы: Важно помнить, что при проведении документов система автоматически переходит в привилегированный режим. Это означает, что RLS-ограничения игнорируются при проведении, что избавляет вас от проблем с «тормозами» или отказами в проведении при закрытии месяца. Однако для простых операций чтения RLS будет полноценно ограничивать выборку данных.
При внедрении ограничений в Бухгалтерии 3.0 мы настоятельно рекомендуем придерживаться следующих правил:
Базовые права. В противном случае пользователь не сможет даже зайти в систему из-за отсутствия доступа к системным справочникам и регистрам.Подводя итог, можно сказать, что реализация прав через Расширение с применением RLS — это профессиональный подход, который обеспечивает реальную безопасность данных. Программные отборы в списках подойдут только в качестве «защиты от честного человека» и в тех случаях, когда бизнес-процессы компании не предполагают глубокого анализа данных в отчетах со стороны менеджеров.