Salesforce apex - как определить, установлено ли поле для отслеживания в Chatter?

Я пишу триггеры / классы для публикации уведомлений об изменениях полей в лентах Chatter объектов, связанных с объектом, подвергающимся изменению (например, публикация обновления поля Возможности в связанной с ним Учетной записи изменена).

Я написал код для сравнения значений до и после и обновлений фида после значений, которые изменились очень хорошо. Но я хочу публиковать обновления только для полей, для которых установлено отслеживание в Chatter (Настройка -> Настройка -> Chatter -> Отслеживание каналов).

Как я могу получить эти настройки в Apex?

(Можно вызвать isFeedEnabled() для объекта, чтобы узнать, включена ли функция Chatter для этого объекта. Но я не вижу способа узнать, настроено ли для отдельного поля размещение обновлений в ленте)

Ура, Рэй

1 ответ

К сожалению, есть вызов isFeedEnabled() для проверки отслеживания на уровне полей (как для болтовни, так и для истории полей старого стиля).

Однако вы могли бы использовать триггер в sObject feedItem, чтобы увидеть, создан ли элемент с Type == 'FeedTrackedChange', и если это так, запросить FeedTrackedChanges, относящиеся к этому FeedItem; затем создайте пост болтовни оттуда.

Другие вопросы по тегам