![]() |
|
JoinFieldValueПосредством внешнего ключа можно связать запись с записью другого типа. Присоединенное поле - это поле в записи определенного типа, связанное с полем в записи другого типа через внешний ключ. Например, в записях большинства типов поле "OwnerId" представляет собой внешний ключ для связи с записью типа "Пользователь". Во многих записях поле "Владелец" является присоединенным полем, которое через внешний ключ "OwnerId" связано с полем "Псевдоним" в записи типа "Пользователь". Функция JoinFieldValue в инструменте Expression Builder возвращает значение присоединенного поля по заданному типу связанной записи и заданным полям внешнего ключа. Посредством функции JoinFieldValue можно также извлечь из связанной записи другие поля, прямо не соединенные с исходным объектом, что позволяет выполнять поиск полей в записях подходящих типов. Если идентификатор поля ссылочного типа записей представлен как внешний ключ в типе записей, на основе которого настраивается правило потока операций, можно использовать функцию JoinFieldValue для извлечения значений поля из ссылочного типа записей. Также можно использовать следующие поля внешнего ключа, доступные во всех типах записей, для извлечения значений полей из типа записей "Пользователь":
ПРИМЕЧАНИЕ. Функция JoinFieldValue не может возвратить значения следующих полей в типе записи "Операция": "Число транзакций расхода", "Подробные сведения о продукте - количество", "Число доставленных рекламных позиций" и "Число доставленных образцов". Это ограничение связано со способом расчета значений этих полей в Oracle CRM On Demand. СинтаксисJoinFieldValue (ref_record_type, foreign_key, field_name) Тип результатаСтрока При возникновении ошибки или при отсутствии значения в запрашиваемом поле возвращается строка нулевой длины. АргументыВ следующей таблице приведено описание аргументов функции.
ПРИМЕЧАНИЕ. Независимые от языка имена полей и синтаксис имен полей в любых примерах выражений в этом разделе - это имена полей и синтаксис имен полей, которые использовались в Expression Builder до выпуска 29 с пакетом обновлений 1. Эти примеры по-прежнему являются допустимыми. Однако если выбрать соответствующие поля для выражения в списке полей в Expression Builder в выпуске 29 с пакетом обновлений 1 или последующих версиях, имена полей и синтаксис имен полей будут отличаться от тех, которые показаны в примерах. Рекомендуется выбирать поля для выражений в списке полей в Expression Builder, чтобы имена полей и синтаксис имен полей всегда были правильными. Дополнительные сведения об именах полей и синтаксисе имен полей в выражениях см. в разделе О выражениях. ПримерыПример 1. В рамках коммерческой деятельности требуется задать правило потока операций, согласно которому при изменении владельца записи выполняется поиск имени нового владельца. При изменении владельца записи в ней обновляется только поле внешнего ключа "OwnerId". Поэтому если задать для правила потока операций следующее условие, поиск нового владельца записи не будет выполнен: PRE('<Owner>') <> [<Owner>] Вместо этого для правила потока операций можно задать следующее условие, обеспечивающее поиск нового владельца записи: PRE('<Owner>') <> JoinFieldValue('<User>',[<OwnerId>],'<Alias>') Пример 2. Следующее выражение возвращает адрес электронной почты предыдущего владельца записи: JoinFieldValue('<User>',PRE('<OwnerId>'),'<EMailAddr>') Пример 3. Следующее выражение возвращает адрес электронной почты текущего владельца записи: JoinFieldValue('<User>',[<OwnerId>],'<EMailAddr>') Пример 4. В рамках коммерческой деятельности требуется передать для контакта запрос на обслуживание по электронной почте. Перед передачей сообщения запускается правило поток операций, обеспечивающее проверку согласия контакта на получение сообщений электронной почты. Для этого правила (действующего для записей типа "запрос на обслуживание") задано следующее условие: JoinFieldValue('<Contact>',[<ContactId>],'<NeverEmail>')<> 'Y' Пример 2. Следующее выражение возвращает территорию основного субъекта для запроса на обслуживание: JoinFieldValue('<Territory>', JoinFieldValue('<Account>', [<AccountId>], '<TerritoryId>'),'<TerritoryName>') Связанные разделыИнформацию об инструменте Expression Builder, связанную с данной темой, см. в следующих разделах. |
Опубликовано в Октябрь 2016 | Copyright © Oracle, 2005, 2016 гг. Все права защищены.Legal Notices. |