У меня есть роль dataAdministrator, у которой есть полные права доступа к объекту Contact (полное чтение / запись / удаление / изменение / назначение всего, что работает). У меня есть плагин, который выполняет некоторые проверки при удалении другой настраиваемой сущности (у dataAdministrator также есть полный доступ к этому) и обновляет parentcustomerid для контактов на null, если выполняются определенные условия.
Теперь, как системный администратор, код работает отлично. Однако dataAdministrators получает смущающее бесполезное сообщение об ошибке «Пользователь не обладает необходимыми привилегиями». но без указания того, что привилегия отсутствует. Да, я загрузил журнал ошибок, который предоставляется в качестве опции в диалоге ошибок, но там нет ничего (никаких направляющих или других индикаторов, таких как prvReadContact), чтобы указать, что пошло не так.
Теперь администраторы данных могут обновить это поле. Другие части плагина присваивают значение этому полю, и это работает без проблем. Только когда код пытается присвоить null параметру parentcustomerid (очистить поле), я получаю эту ошибку.
Кто-нибудь видел это раньше? Если нет, то может ли кто-нибудь подсказать, как я мог бы заставить CRM сказать мне, какой привилегии не хватает?
** РЕДАКТИРОВАТЬ 1 **
Таким образом, рассматриваемый плагин автоматически очищает родительский клиентский метод, который доступен только для чтения в форме. Я решил сделать его редактируемым, очистить поле вручную и посмотреть, не возникла ли такая же ошибка.
К счастью, это вызвало другую ошибку. Ошибка произошла из-за другого плагина (который я не написал), который пытался удалить и очистить сущность customerAddress и очистить поля BusinessAddress для контакта. Я не уверен, является ли тот факт, что плагин пытается удалить сущность CustomerAddress, является причиной ошибки или есть какая-то другая проблема.
Я не могу найти какие-либо настройки разрешений для объекта CustomerAddress, у всех есть полный доступ к этому объекту по умолчанию?