Мне нужна формула проверки данных, чтобы сказать, что если статус «Зарегистрирован», а идентификатор имеет длину 6 символов, последний символ идентификатора должен быть буквой.

Мне удалось зайти так далеко, но я пришел к кирпичной стене;

AND( 
    ISPICKVAL( Referral_Status__c , 'Registered'), 
    LEN( Name ) = 6,
0
Adrian Larson 31 Май 2019 в 21:19

2 ответа

Я считаю, что вы могли бы использовать регулярное выражение для проверки. См. этот ответ.

RegEx может применять как требование к длине, так и требование к букве для символа 6 (наряду с другими вещами, например, если вы хотите проверить только буквенно-цифровые символы в первых 5).

Например:

boolean passes = Pattern.matches('^[\w]{5}[a-zA-Z]$');

Или, возможно, если вам нужно более явное регулярное выражение:

boolean passes = Pattern.matches('^[a-zA-Z_0-9]{5}[a-zA-Z]$');

1
pmiller3 3 Июн 2019 в 23:21

Документация по операторам формул и функциям является хорошим ресурсом (хотя и у которого довольно ужасный UX).

Есть несколько функций для получения подстроки, но, вероятно, проще всего использовать здесь, учитывая ваше описание, будет RIGHT(1) в сочетании с REGEX() для проверки буквенного символа.

0
Derek F 31 Май 2019 в 18:59