У меня есть пользовательский объект, доступный для пользовательского профиля, клонированного из профиля Salesforce/стандартного пользователя. Пользовательский объект был создан с использованием профиля пользователя системного администратора. Я предоставил доступ к этому пользовательскому объекту для своего пользовательского профиля, установив разрешение в настройках объекта:

enter image description here

Но при тестировании CRUD из Apex пользовательский объект по-прежнему недоступен из пользовательского пользовательского профиля:

CustomObject.sObjectType.getDescribe().isAccessible() // return false

Я делаю все хорошо или я что-то пропустил в отношении разрешений пользователя на пользовательский объект?

Спасибо за вашу помощь,

1
Bryce 18 Июл 2019 в 20:01
Вы использовали System.runAs(concernedUser); в тестовом классе или просто заставили заинтересованного пользователя запустить тестовый класс?
 – 
Pranay Jaiswal
18 Июл 2019 в 19:32
Да, я использую System.runAs(concernedUser);. Это действительно странно, так как привилегии пользовательского профиля и профиля системного администратора одинаковы для этого пользовательского объекта... и я не устанавливал никаких разрешений для пользователя, назначенного для пользовательского профиля.. .
 – 
Bryce
18 Июл 2019 в 19:47

1 ответ

Наконец узнал, что происходит. Для всех, кто будет здесь, убедитесь, что ваш пользовательский объект установлен как Развернутый, чтобы иметь возможность правильно устанавливать разрешения для вашего настраиваемого объекта. введите здесь описание изображения

Что такое статус развертывания?

Статус развертывания позволяет вам контролировать, кто может получить доступ к объектам или событиям платформы. Мы рекомендуем выбрать В разработке во время настройки приложения или настройки. Таким образом, только администраторы (или пользователи с разрешением «Настроить приложение») могут получить доступ к объекту или событию платформы.

Когда вы будете готовы предоставить пользователям доступ, измените статус на Развернуто.

Позже, если вы измените событие объекта или платформы, снова выберите В разработке. Имейте в виду, что для настраиваемых или внешних объектов пользователи не могут видеть настраиваемые вкладки, связанные списки или отчеты, пока объекты находятся в разработке.

1
Bryce 18 Июл 2019 в 20:27