В Salesforce каждый Case имеет уникальный CaseNumber, который устанавливается системой при создании Case.Контент представляет собой автономное число с форматом отображения, например {00000000}.Этот формат отображения может быть изменен системным администратором.
Например, для Case # 144 будет CaseNumber = 00000144. Case # 12345678 будет иметь CaseNumber = 12345678.
Пользователи ссылаются на случаи по номеру;без ведущих нулей.Итак, мне нужно найти дело путем поиска номера дела.
Предположим, пользователь хочет дело № 145?Этот поиск не даст никаких результатов:
Case matchingCase = [Select Id, CaseNumber, Subject, Description from Case where CaseNumber = '145'];
Предположим, я могу предположить, что displayFormat для CaseNumber никогда не меняется.В этом случае я мог бы добавить начальные нули, чтобы сделать запрос, который работает.Например, если формат отображения CaseNumber равен {00000000}, тогда этот запрос работает:
Case matchingCase = [Select Id, CaseNumber, Subject, Description from Case where CaseNumber = '00000145'];
Но формат отображения можно изменить, поэтому мы ничего не можем предположить.
Вопрос 1Используя некоторый API-запрос, как мы можем запросить, чтобы получить displayFormat для определения количества ведущих нулей?
Альтернативный подход - использовать LIKE.Например, это «работает»
Case[] matchingCases = [Select Id, CaseNumber, Subject, Description from Case where CaseNumber LIKE '%145'];
НО запрос возвращает все случаи, заканчивающиеся 145, включая случаи, такие как «00009145».
Вопрос (2) Как я могу сформировать запрос, чтобы получить точно номер дела 145?