Salesforce apex - как определить, установлено ли поле для отслеживания в Chatter?
Я пишу триггеры / классы для публикации уведомлений об изменениях полей в лентах Chatter объектов, связанных с объектом, подвергающимся изменению (например, публикация обновления поля Возможности в связанной с ним Учетной записи изменена).
Я написал код для сравнения значений до и после и обновлений фида после значений, которые изменились очень хорошо. Но я хочу публиковать обновления только для полей, для которых установлено отслеживание в Chatter (Настройка -> Настройка -> Chatter -> Отслеживание каналов).
Как я могу получить эти настройки в Apex?
(Можно вызвать isFeedEnabled() для объекта, чтобы узнать, включена ли функция Chatter для этого объекта. Но я не вижу способа узнать, настроено ли для отдельного поля размещение обновлений в ленте)
Ура, Рэй
1 ответ
К сожалению, есть вызов isFeedEnabled() для проверки отслеживания на уровне полей (как для болтовни, так и для истории полей старого стиля).
Однако вы могли бы использовать триггер в sObject feedItem, чтобы увидеть, создан ли элемент с Type == 'FeedTrackedChange', и если это так, запросить FeedTrackedChanges, относящиеся к этому FeedItem; затем создайте пост болтовни оттуда.