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.