Особенности (ограничения) производительного RLS

05.11.21

Администрирование - Роли и права

В своей деятельности при работе с производительным RLS мы сталкиваемся с рядом особенностей (ограничений) данного RLS. В своей статье Ретунский Александр, ведущий программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт), поделится информацией, полученной опытным путем на ряде задач по производительному RLS.

1. Ограничение:

Обновление видимости объектов системы после изменения видов доступа (или состава элементов, входящих в виды доступа) в группах доступа (профилях).

То есть, если у нас содержатся ряд ограничений в группах доступа (профилях) и присутствует большое количество объектов системы (справочники, документы), то при изменении видов доступа (или состава элементов входящих в виды доступа) в группах доступа (профилях) – изменения могут не сразу отобразиться у пользователей.

Решение:

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

 

2. Ограничение:

Не все виды доступа (ограничения) в профилях доступа поддерживаются в объектах системы.

Например: есть ограничение по организации или подразделении, но не обязательно оно будет поддерживаться в объекте системы (документ – «Реестр платежей» конфигурации: 1С:ERP. Управление холдингом не поддерживает ограничение по организации и подразделению).

Решение:

Нужно анализировать по коду в конфигураторе в модуле менеджера объекта процедуру:

Процедура ПриЗаполненииОграниченияДоступа(Ограничение)

в данной процедуре прописаны поддерживающие виды доступа (ограничения).

Без использования конфигуратора возможно использовать разработанную обработку (в будущих статьях более подробно про неё опишу) или при добавлении нового ограничения тестировать все необходимые объекты системы на добавленный вид доступа (ограничение).

 

3. Ограничение:

Типовые роли могут не поддерживать RLS.

Например: в конфигурации 1С:ERP. Управление холдингом + модуль Автотранспорт ниже перечислен список ролей, которые не поддерживают RLS:

 НедоступныеРоли.Вставить("уатЭкономист", Истина);

НедоступныеРоли.Вставить("уатТерминалПутевыхЛистов", Истина);

НедоступныеРоли.Вставить("уатМеханик", Истина);

НедоступныеРоли.Вставить("уатКладовщик", Истина);

НедоступныеРоли.Вставить("уатКадровик", Истина);

НедоступныеРоли.Вставить("уатДиспетчер", Истина);

НедоступныеРоли.Вставить("уатГСМ", Истина);

НедоступныеРоли.Вставить("уатБазовыеПрава", Истина);

НедоступныеРоли.Вставить("уатАдминистрированиеУАТ", Истина);

НедоступныеРоли.Вставить("ЧтениеЭкземпляровОтчетовДокументовУХ", Истина);

НедоступныеРоли.Вставить("КазначействоЕХ", Истина);

НедоступныеРоли.Вставить("РабочийСтолПоставщика", Истина);

НедоступныеРоли.Вставить("ЧтениеАналитикПланирования", Истина);

НедоступныеРоли.Вставить("ОператорЦЗ", Истина);

НедоступныеРоли.Вставить("ОтправкаНалоговойОтчетностиУХ", Истина);

НедоступныеРоли.Вставить("ОператорОтправкиОтчетностиЧерезПредставителя", Истина);

НедоступныеРоли.Вставить("ДобавлениеИзменениеДанныхУчетаУХ", Истина);

НедоступныеРоли.Вставить("СамообслуживаниеВнешнийПользовательЧтениеНСИ", Истина);

НедоступныеРоли.Вставить("ЧтениеБюджетированиеКазначейство", Истина);

НедоступныеРоли.Вставить("ИсполнительСверкиВГО", Истина);

НедоступныеРоли.Вставить("АдминистраторСверкиВГО", Истина);

НедоступныеРоли.Вставить("РуководительСверкиВГО", Истина);

НедоступныеРоли.Вставить("ДобавлениеИзменениеНастройкиМоделиОтчетностиУХ", Истина);

НедоступныеРоли.Вставить("ДобавлениеЗаявкиНаРегистрациюПоставщика", Истина);

НедоступныеРоли.Вставить("ДобавлениеИзменениеБюджетированиеКазначейство", Истина);

НедоступныеРоли.Вставить("ДобавлениеИзменениеАналитикПланирования", Истина);

НедоступныеРоли.Вставить("ДобавлениеИзменениеДанныхЦентрализованныхЗакупок", Истина);

НедоступныеРоли.Вставить("ДобавлениеИзменениеНастройкиМоделиОтчетностиУХ", Истина);

НедоступныеРоли.Вставить("НастройкаНСИ", Истина);

НедоступныеРоли.Вставить("ЧтениеДанныхОперативногоПланирования", Истина);

НедоступныеРоли.Вставить("ЧтениеДанныхОперативногоПланированияВстраивание", Истина);

НедоступныеРоли.Вставить("ДобавлениеИзменениеКлассификаторовНастроекДДС", Истина);

НедоступныеРоли.Вставить("БазовыеПраваУХ", Истина);

НедоступныеРоли.Вставить("РедактированиеПоступленияТоваровИУслуг", Истина);       

    

Решение:

Нужно анализировать по коду в конфигураторе роли на наличие шаблонов RLS.

Без использования конфигуратора возможно использовать для анализа регистр сведений: «Права ролей» в котором присутствует информация присутствуют ли ограничение по объекту системы (на чтение, на добавление, на изменение) или при добавлении новой роли тестировать все необходимые объекты системы на необходимые виды доступа (ограничения).

 

4. Ограничение:

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

Решение:

Необходимо запускать конфигурацию с параметром: «/c обновление информационной базы» или запустить обработку – «Инструменты разработчика. Обновление Вспомогательных Данных» (можно скачать на сайте ИТС).

В пользовательском режиме удалить запись из регистра сведений «Параметры ограничений доступа» (через возможности – «Еще»). В «НСИ и администрирование» - «Настройки пользователей и прав» - «Ограничение доступа на уровне записей», запустить процедуру обновления доступа на уровне записей. При выполнения данной процедуры будут появляться ошибки, если они есть в ограничениях доступа объектов.

 

5. Ограничение:

Некоторые виды доступа не накладывают ограничение на чтение (видимость), а накладывает ограничение только на добавление/изменение.

Например: на справочник «Номенклатура» ограничение на чтение (видимость) не реализовано, а также на объекты системы, в которых участвует справочник «Номенклатура».

Решение:

Нужно анализировать по коду в конфигураторе в модуле менеджера объекта процедуру:

Процедура ПриЗаполненииОграниченияДоступа(Ограничение), если там отсутствует нужный вид доступа, то видимость (чтение) объекта по данному виду доступа не реализовано.

В пользовательском режиме можно проверять отдельно по каждому виду доступа накладывает ли он ограничение на чтение (видимость) объектов системы.

 

6. Ограничение:

Не регламентированное поведение типовой конфигурации при определенной доступности элементов входящих в вид доступа.

Например: если есть доступ на организацию, но нет доступа на головную организацию. Будет невозможно открыть справочник «Договоры контрагентов».

Решение:

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

 

7. Ограничение:

Не поддерживаются некоторые операции при RLS.

Например: перемещение товаров между филиалами. Документ, созданный первой организацией на вторую организацию, будет не виден (не доступен) второй организации.

Решение:

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

 

Данные ограничения были выявлены на конфигурации: 1С:ERP Управление холдингом 3.1.4.31 , но применимо и к другим конфигурациям поддерживающие производительный RLS.

производительный RLS

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    151393    833    397    

841

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    9049    32    10    

56

Зарплата Роли и права Системный администратор Бухгалтер Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5940 руб.

27.05.2021    36335    250    89    

196

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

15600 руб.

06.12.2023    7319    33    5    

64

Роли и права Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Данная система разработана как альтернатива стандартной системе напоминаний. Но имеет ряд существенных преимуществ: отображение в базе или с отправкой по почте, свое расписание, возможность фильтрации по ролям и пользователям, формирование своих запросов и макетов, шаблоны писем, работа в фоне. А также может блокировать работу пользователей при заданных условиях. Может работать в составе любой конфигурации. Имеется справка с описанием возможностей. (Обновление от 20.02.2024, версия 2.2, расширение)

19200 руб.

29.11.2019    25484    17    8    

37

Роли и права Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Бухгалтерия автономного учреждения 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Платные (руб)

Мучаетесь со списком типовых ролей? Не хотите иметь дело с конфигуратором? Не знаете что делают имеющиеся права в базе? Хотите просто и удобно добавлять и настраивать, по одному клику, доступы и поведение при записи/удалении/проведении/открытии списка/фильтрацию данных в списках или формах выбора для пользователя или группы пользователей и для любого объекта? Не хотите переживать, что при обновлении конфигурации все права и роли слетят? (Обновление от 27.03.2023, версия 1.9)

13200 руб.

21.03.2022    15811    24    54    

46

Логистика, склад и ТМЦ Роли и права Программист Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для 1С:Бухгалтерия 3.0, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

4200 руб.

21.05.2019    1694314    565    194    

137
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Brawler 458 05.11.21 10:47 Сейчас в теме
Как понимаю ряд пунктов прям ХАРДКОР, предлагают править типовую конфу, что как бы моветон при наличии расширений.
Процедурка ПриЗаполненииОграниченияДоступа прекрасно в расширениях перехватывается и текст запросов ограничения прав прекрасно там меняются.
Если правильно помню, то в расширение наследуем роль и может туда добавить шаблоны ограничений и прописать их объектам, это если прям хочется все же наложить побольше ограничений туда где их ранее не было. Ну и процедурку ПриЗаполненииОграниченияДоступа не забываем добавить объекту.

Если касаться темы расширений, то я бы почитал статью примерно такого содержания "Как заставить работать производительные RLS на объектах добавленных в расширении".
Дело в том что если добавить в расширении свой документ, то вот у нас не получилось заставить на них работать производительные RLS, так как сам механизм не подразумевает наличия вообще расширений и не знает как оперировать сущностями добавленными в расширении. Может по прошествии полутора лет что-то и поменялось, хотелось бы об этом узнать, и на каком релизе БСП это произошло.
Сейчас у нас база ERP одновременно работает с RLS производительными и обычными, для этого есть небольшие извращения в расширениях.
snark76; Revachol; work.sable; +3 Ответить
6. 1cNBL 04.03.24 13:51 Сейчас в теме
(1) У меня процедура ПриЗаполненииОграниченияДоступа в расширении с анннотацией &Вместо не работает.
При обновлении доступов, все равно используется типовая процедура ПриЗаполненииОграниченияДоступа
2. bloodydiman 1 08.11.21 16:07 Сейчас в теме
Какие особенности в части настройки самой RLS? В частности, как настроить в разрезе организаций, чтоб просадка по производительности была минимальна?
3. Gevorg_Avanesyan 23.11.21 11:42 Сейчас в теме
День добрый как можно закрыть доступ номенклатуры для сотрудников?
5. bloodydiman 1 24.11.21 10:56 Сейчас в теме
(3) Если включен RLS, то можно задействовать механизм "Группы доступа номенклатуры". Все зависит от поставленной задачи.
4. Shining_ninja 2185 24.11.21 10:02 Сейчас в теме
типовыми средства не решается, только на добавление/изменение
Оставьте свое сообщение