Я пытаюсь создать настраиваемую формулу ссылки, которая будет возвращать два разных URL-адреса в зависимости от значения в поле. Когда я цитирую строку URL-адреса в функции формулы, она становится закодированной URL-адресом при ее оценке. Когда я перехожу по ссылке в макете, я получаю следующую ошибку:

«Вы отправили нам недопустимый URL-адрес или неправильно отформатированный запрос».

Формула пользовательской ссылки выглядит так:

{!IF(
    ISBLANK( Account.AccountNumber ),
    "https://example-blank.com/page.html?id=blank",
    "https://example-value.com/page.html?id=value"
)}

Я ожидаю, что это вернет строки URL-адресов в кавычках в качестве URL-адреса ссылки, однако строка получает URL-адрес, закодированный где-то по пути, и ссылка, которую это фактически создает, выглядит как https%3A%2F%2Fexample-blank.com%2Fpage.html%3Fid%3Dblank, и поэтому недопустимая ошибка URL-адреса быть брошенным.

Как включить полный URL-адрес в функцию, чтобы он не кодировался в URL-адресе?

В качестве альтернативы, как мне добиться желаемого результата динамического связывания пользователей с двумя разными сайтами совместимым с Lightning способом?

0
Garywoo 11 Июн 2020 в 21:19

1 ответ

Лучший ответ

Для этого используйте функцию URLFOR в построителе формул:

{! URLFOR( "https://example-blank.com/page.html?", null, [id=Mission__c.Id] ) }

Чтобы создать эффективный URL-адрес для вашей пользовательской ссылки.

Подробнее читайте здесь: - Создание эффективных настраиваемых кнопок и ссылок URL

1
sanket kumar 11 Июн 2020 в 21:42
Вы можете уточнить, что URLFOR работает только в This function is only available in custom buttons, links, s-controls, and Visualforce pages. - OP, кажется, предполагает, что он использует поле формулы схемы
 – 
cropredy
12 Июн 2020 в 04:23
В этом случае я использовал формулу для пользовательской ссылки, поэтому решение работает нормально.
 – 
Garywoo
15 Июн 2020 в 16:25