Как правильно настроить производительный RLS для нетиповых объектов в ERP 2.4?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

При переходе на производительный вариант ограничения доступа на уровне записей (RLS) в доработанных конфигурациях, таких как 1С:ERP Управление предприятием 2.4, разработчики часто сталкиваются с системными ошибками при обновлении ключей доступа. Давайте разберем, почему возникают эти сложности и как правильно интегрировать нетиповые объекты в механизм БСП (Библиотеки стандартных подсистем).

Понимание природы проблемы

Производительный RLS работает по принципу предварительного расчета прав и хранения их в регистрах сведений, таких как КлючиДоступаКОбъектам. Чтобы система могла рассчитать права для объекта, она должна «знать» о его существовании в контексте ограничений доступа. Это реализовано через механизм Определяемых типов.

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

Шаг 1: Анализ необходимости RLS для нетиповых объектов

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

Шаг 2: Включение объектов в определяемые типы

Если решение об использовании производительного RLS принято, необходимо выполнить следующие действия:

  1. Откройте конфигуратор и найдите определяемые типы, участвующие в логике БСП:
    • ВладелецЗначенийКлючейДоступа
    • ВладелецЗначенийКлючейДоступаОбъект
    • ВладелецЗначенийКлючейДоступаДокумент
    • ВладелецЗначенийКлючейДоступаНаборЗаписей
    • ВладелецЗначенийКлючейДоступаНаборЗаписейРегистраРасчета
  2. Добавьте ваши нетиповые документы, справочники и регистры в соответствующие определяемые типы.
  3. Не забывайте про вспомогательные сущности. Например, часто упускается из виду Владелец присоединенных файлов. Если у вашего нетипового документа есть присоединенные файлы, их также необходимо включить в соответствующий определяемый тип, чтобы права на файлы наследовались от родительского объекта корректно.

Шаг 3: Проверка и оптимизация

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

Важное примечание по производительности:

Рассматривая производительный вариант, учитывайте следующие рекомендации:

Итоговое решение всегда должно базироваться на балансе между гибкостью настройки прав и общей производительностью СУБД. Если автоматизированная система требует сложного разделения прав для большого числа пользователей, «производительный» RLS — ваш инструмент, требующий, однако, тщательной настройки и поддержки определяемых типов.

← На главную