Если вы переопределили стандартное действие редактирования с помощью Visualforce / Aura / LW C - вот оно. Это все или ничего, не в профиле c. У вас может быть 2 макета и на одном дисплее настраиваемая кнопка редактирования, на другом - стандартная? Это может быстро стать невозможным, если вам нужно больше различий, чем просто кнопка. Если у вас сейчас 5 макетов - наихудший случай в новом мире, вам понадобится 10, беспорядок.
Что вы можете сделать, это (ab) использовать параметр <apex:page>
"action". Напишите метод, который будет проверять профиль пользователя и, если он один из специальных, - перенаправление. На самом деле это даже не обязательно должна быть функция apex, но если вы сделаете это чисто визуально, это будет выглядеть немного грязно, и вы не сможете выполнить модульное тестирование, так что если оно сломается в будущем.
Что-то как
<apex:page standardController="Account" action="{!IF($User.ProfileId != '...', URLFOR($Action.Account.edit, account.id, null, true),'')}" >
...
... rest of your page
...
</apex:page>
Возможно, вам придется изменить его, передать больше параметров. Или, может быть, вы поймете, как взять полный текущий URL из $ CurrentPage и просто ударить по нему &nooverride=1
.
Объединить такие вещи, как
со знаниями об URLFOR и классе PageReference и обновлении Ваш вопрос с примером кода, если вы все еще застряли.