Вы находитесь здесь:
Советы по созданию формул кросс-объектов
Помните о следующих советах при работе с формулами кросс-объектов.
Требуемые версии
| Доступно в версиях: 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в формуле отображается следующее сообщение: Ошибка: Укажите тип объекта для поля ответственного.Для решения этой проблемы:
- Создайте настраиваемое поле для объекта, связанного с объектом, который должен использоваться в формуле.
Например, создайте настраиваемое поле
UserOwnerдля объекта «Обращение», связанное с параметром «Пользователи». - Задайте настраиваемое поле для ссылки на объект.
Чтобы продолжить пример, задайте поле
UserOwnerдля конкретного обращения, которое должно ссылаться на обязательного пользователя. - Используйте настраиваемое поле в формуле.
Например, можно использовать
UserOwner__r.Email, or UserOwner__r.FirstName & " " & UserOwner__r.LastName
- Создайте настраиваемое поле для объекта, связанного с объектом, который должен использоваться в формуле.
