Добрый день коллеги!
Не могу разобраться.
Мне нужно ограничить именно запись из формы определенным пользователям. Добавил в расширение Роль "ПравоЗаписиИзформы"
Дальше добавил в расширение форму где написал примитивную процедур перед записью. Если роль доступна то отказ ложь, а если нет то отказ истина.

Дальше все создал профиль,в этот профиль добавил роль. Дальше создал группу с этим профилем и привязал к пользователю.

В метаданных вижу что такая роль появилась, но функция РольДоступа("ПравоЗаписиИзформы") у данного пользователя упорно возвращает мне Ложь

Не могу понять куда копать.
---
Спасибо!
Проблема была действительно в

Наличие у пользователя встроенного профиля Администратор препятствует добавлению каких-либо иных ролей, кроме ПолныеПрава, АдминистраторСистемы и ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок, независимо от присвоенных профилей.
Указанное поведение явным образом захардкодили в УправлениеДоступомСлужебный.ОбновитьРолиПользователей.
Я такой подставы не ожидал :-)

Если не присваивать пользователю профиль Администратора, то добавленные в расширении роли (помещенные в какой-либо профиль) прекрасно добавляются, и проверяются даже простым вызовом РольДоступна(...).

Надо сказать это какая подстава от 1С. Если профиль программно блокируется, то какого хрена он отображается в списке когда его назначаешь. Дайте сообщение пользователю и вопросов нет.

Поэтому чтобы обойти эту проблему регистрируем роль программно. Я сделал обработку которая это делает. Прикладываю ее, может кому пригодится.
---
Просто добавь общий модуль с этой функцией в расширение не переопределяя в нем ничего.
---
не уловил, какой модуль добавить в расширение?
---
Общий модуль:
УправлениеДоступомСлужебный

Процедура ОбновитьРолиПользователей
Добавить код:

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

По аналогии с ролью ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок.
Т.к. у админа системы все же могут быть дополнительные роли.
---
а там расширение.
ну тогда может в другом суть и команду выполнить стоит

```1c
    &НаСервереБезКонтекста
    Процедура ОбновитьВидыДоступаНаСервере()
    УстановитьПривилегированныйРежим(Истина);
    Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина, Ложь, Ложь); //ЕстьИзменения, ЕстьУдаленные, ТолькоПроверка
    УправлениеДоступомСлужебный.ОбновитьОписаниеСвойствВидовДоступа();
    УправлениеДоступом.ОбновитьРазрешенныеЗначенияПриИзмененииИспользованияВидовДос­тупа();
    УправлениеДоступомСлужебный.ОбновитьПараметрыОграниченияДоступа();
    КонецПроцедуры

    &НаКлиенте
    Процедура ОбновитьВидыДоступа(Команда)
    ОбновитьВидыДоступаНаСервере();
    Состояние("Готово");
    КонецПроцедуры
```
---
Переложил этот код в обработку. Запустил, все отработало, результат не изменился.
---
https://forum.infostart.ru/forum9/topic198747/
---
Спасибо!
Проблема была действительно в

Наличие у пользователя встроенного профиля Администратор препятствует добавлению каких-либо иных ролей, кроме ПолныеПрава, АдминистраторСистемы и ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок, независимо от присвоенных профилей.
Указанное поведение явным образом захардкодили в УправлениеДоступомСлужебный.ОбновитьРолиПользователей.
Я такой подставы не ожидал :-)

Если не присваивать пользователю профиль Администратора, то добавленные в расширении роли (помещенные в какой-либо профиль) прекрасно добавляются, и проверяются даже простым вызовом РольДоступна(...).

Надо сказать это какая подстава от 1С. Если профиль программно блокируется, то какого хрена он отображается в списке когда его назначаешь. Дайте сообщение пользователю и вопросов нет.

Поэтому чтобы обойти эту проблему регистрируем роль программно. Я сделал обработку которая это делает. Прикладываю ее, может кому пригодится.