🧩 Привилегированный общий модуль в расширениях

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

У привилегированного режима есть разные нюансы, например: ▪️не отключает RLS для некоторых видов объектов, включённый перед пакетным запросом с временными таблицами (8.3.11) ▪️мог вызвать падение СУБД (8.3.12) ▪️не срабатывает во внешних обработках (до сих пор): УстановитьПривилегированныйРежим(Истина); // Отключаем проверку прав доступа ПривилегированныйРежим() вернёт Ложь

Так вот, Dmitry Kinash поделился ещё одним непредсказуемым поведением платформы, дословно: А вы знали, что если перехватывать в расширении процедуры из привилегированного модуля, то они выполняются в режиме без привилегий? Дело в том, что в общих модулях в расширениях не предусмотрели свойство "Привилегированный" (Privileged), а потому механизм расширений выполняет код как обычный. Если у вас далее по коду есть проверка привилегий и вы не хотите получить ошибку, то вам придется явно повысить привилегии: #Insert SetPrivilegedMode(True); #EndInsert Учитывайте данные нюансы при проектировании архитектуры.

#Практика1С #Лайфхак1Снику


В этом посте были ссылки, но мы их удалили по правилам Сетки

🧩 Привилегированный общий модуль в расширениях
Всем знаком модуль, способный выполнять операции с неограниченными правами: для этого достаточно поставить галочку: Привилегированный | Сетка — социальная сеть от hh.ru