(1) можно не мучать ягодницы и поступить просто - в форме элемента ФЛ в расширении
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПеред(Отказ, СтандартнаяОбработка)
Если НЕ Пользователи.ЭтоПолноправныйПользователь() Тогда
СтандартнаяОбработка = Ложь;
Отказ = Истина;
ВызватьИсключение "Недостаточно прав для просмотра карточки физлица";
КонецЕсли;
КонецПроцедуры
(7) в конфигуратор в любом случае лезть придется.
Еще раз повторю: в ЗУПе не получится.
Два варианта: или пользователи работать не смогут или получится, но не скрыть, а "прикрыть".
(9) "не для всех нужно ограничить, а только для бухгалтера, который не начисляет зп и не работает с физлицами" - чем занимается этот бух в ЗУПе?
Может проще ему создать кастрированный интерфейс с запретом открывать внешние файлы?
Если НЕ Пользователи.РолиДоступны("БухгалтераКоторыйНеНачисляетЗПиНеРаботаетСфизлицами") Тогда
СтандартнаяОбработка = Ложь;
Отказ = Истина;
ВызватьИсключение "Недостаточно прав для просмотра карточки физлица";
КонецЕсли;
указанная роль - это "черная метка" и при открытии карточки физлица будем ругаться, а по спискам пусть шарахаются чо.
При желании в формах списков по подобному условию можно скрыть колонки снилсов, а ФИО скрывать незачем, поди разбери чо там за Иванов.
это наш ответ Чемберлену РЛС
В современных БСП есть универсальный отбор по подразделению который "ляжет" практически на любую форму парой строк кода, но это долго и дорого изъяснять
(16) значит вы указанный код кинули не туда или в расширении объект не открыли или обработчик не привязали к событию
и еще 100500 причин которые легко проверить у себя в разработке.
(26) ну вам бы хоть бегло просмотреть статью про расширения ...
Вам нужно: 1)создать Расширение, 2)добавить в него форму 3) в форму добавить процедуру как вам написали в первом ответе.
В принципе, в первом ответе все это и написано, вам нужно разобраться как работать с расширениями.
Если НЕ Пользователи.РолиДоступны("БухгалтерКоторыйНеНачисляетЗПиНеРаботаетСфизлицами") Тогда
СтандартнаяОбработка = Ложь;
Отказ = Истина;
ВызватьИсключение "Недостаточно прав для просмотра карточки физлица";
КонецЕсли;
Если НЕ Пользователи.ЭтоПолноправныйПользователь() Тогда
СтандартнаяОбработка = Ложь;
Отказ = Истина;
ВызватьИсключение "Недостаточно прав для просмотра карточки физлица";
КонецЕсли;
(34) ну странный вопрос ... смотря что вы хотите: по первому варианту вы можете регулировать какие пользователи не смогут это делать, а по второму варианту у вас никто не сможет это делать кроме пользователя с полными правами.
Если НЕ Пользователи.РолиДоступны("БухгалтерКоторыйНеНачисляетЗПиНеРаботаетСфизлицами") Тогда
СтандартнаяОбработка = Ложь;
Отказ = Истина;
ВызватьИсключение "Недостаточно прав для просмотра карточки физлица";
КонецЕсли;