Loading
Расширение Salesforce с помощью кликов, а не кода
Советы по созданию формул кросс-объектов

Советы по созданию формул кросс-объектов

Помните о следующих советах при работе с формулами кросс-объектов.

Требуемые версии

Доступно в версиях: Salesforce Classic и Lightning Experience
Доступно в версиях: Все выпуски
  • Формулы кросс-объектов, ссылающиеся на поля валюты, преобразуют значение в валюту записи, содержащей формулу. Если ссылочное поле валюты используется настраиваемым параметром, значение поля не преобразуется в валюту записи.
  • Salesforce разрешает не более 10 уникальных взаимосвязей на объект в формулах кросс-объектов. Ограничение суммируется во всех полях формулы, правилах и фильтрах поиска. Например, если две разные формулы для возможностей ссылаются на два разных поля связанной организации, существует только одна уникальная взаимосвязь (от возможностей до организаций).
  • Поля сводного резюмирования не поддерживают ссылки на формулы кросс-объектов.
  • Формулы кросс-объектов не поддерживают ссылки на поля слияния для объектов, связанных с действиями. Например, поля слияния для контактов и организаций недоступны в формулах задач и событий.
  • В формулах кросс-объектов нельзя ссылаться на поля из контактов через организации-лица. Дополнительную информацию см. в разделе «Использование настраиваемых полей формул с организациями-лицами».

Использование поля ответственного

Некоторые объекты поддерживают разные типы объектов для поля «Ответственный», например, «Пользователь», «Очередь» или «Календарь». При создании формулы кросс-объекта посредством функции «Ответственный» для таких объектов рекомендуем четко указать тип ответственного, на который вы ссылаетсяе.

Например, для электронной почты ответственного, где очереди не используются, используется формула Owner:User.Email. Если вы используете очереди, ваша формула может быть

IF( ISBLANK( Owner:User.Id ), Owner:Queue.QueueEmail, Owner:User.Email )

Ниже указан способ выбора полей объекта «Ответственный» в интересе во вкладке «Дополнительная формула».

Формула охвата ответственного
  • Ссылки на ответственных не поддерживаются на страницах Visualforce. Например, страница с обращением в качестве контроллера не может содержать {!Case.Owner:User.FirstName}. Тем не менее, существующую формулу охвата можно добавить на страницу Visualforce. Например, при наличии настраиваемой текстовой формулы MyFormula__c для обращения со значением Owner:User.FirstName, {!Case.MyFormula__c} можно добавить на страницу Visualforce.
  • Ссылки на ответственного не поддерживаются в объекте «Очередь». Например, вы не можете ссылаться на Owner:Queue.Owner.Email.
  • Если формула содержит Owner:User.fieldname и Owner:Queue.fieldname, они учитываются ограничением 10 уникальных взаимосвязей на объект в формулах кросс-объектов.
  • В объектах, не поддерживающих очереди, ссылка «Ответственный» подразумевается пользователем. Пусть формула будет Owner.fieldname, а не Owner:User.fieldname.

Использование Profile.Name

Значение поля слияния Profile.Name зависит от контекста поля формулы кросс-объекта, которое на него ссылается. Как и ожидалось, на страницах сведений значением является имя профиля. В списковых представлениях и отчетах значением является внутреннее значение связанного профиля. Если вы используете Profile.Name в формуле, используйте ее в функции OR, чтобы формула всегда возвращала нужный результат. Например:

IF
     (OR
          (LastModifiedBy.Profile.Name = "Standard User", LastModifiedBy.Profile.Name = "PT2"), 
     "Standard", "Not Standard")

Все вышесказанное не применяется к именам профилей, на которые ссылается глобальная переменная $Profile.

Поля, которые не могут использоваться в формулах

Поля, вычисляемые из других полей, например, поля «Имя»
Например, объект «Организация» содержит поле OwnerId, которое ссылается на пользователей. Имя взаимосвязи «Ответственный».

Чтобы использовать поле Owner.Email в формуле. Но если вы попытаетесь использовать поле Owner.Name в формуле, вы получите следующее сообщение: Ошибка: Имя поля не существует. Проверьте орфографию.

Чтобы обойти эту проблему, используйте формулу, которая создает имя напрямую. Например, в объекте «Организация» можно использовать Owner.FirstName & " " & Owner.LastName

Полиморфные поля взаимосвязи
Например, объект «Обращение» содержит полиморфное поле взаимосвязи «OwnerId», которое может относиться к группам или пользователям. Имя взаимосвязи «Ответственный». При попытке использования Owner.Email в формуле отображается следующее сообщение: Ошибка: Укажите тип объекта для поля ответственного.

Для решения этой проблемы:

  1. Создайте настраиваемое поле для объекта, связанного с объектом, который должен использоваться в формуле.

    Например, создайте настраиваемое поле UserOwner для объекта «Обращение», связанное с параметром «Пользователи».

  2. Задайте настраиваемое поле для ссылки на объект.

    Чтобы продолжить пример, задайте поле UserOwner для конкретного обращения, которое должно ссылаться на обязательного пользователя.

  3. Используйте настраиваемое поле в формуле.

    Например, можно использовать UserOwner__r.Email, or UserOwner__r.FirstName & " " & UserOwner__r.LastName

 
Загрузка
Salesforce Help | Article