Salesforce apex - как определить, установлено ли поле для отслеживания в Chatter? - PullRequest
0 голосов
/ 07 ноября 2011

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

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

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

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

Ура, Ray

1 Ответ

0 голосов
/ 16 февраля 2012

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

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

...