Как правильно сформировать фильтр запроса по odata?

Необходимо получить все сущности, значение поля Code которых находится среди заданных.

По сути, необходимо переделать такой фильтр:
$filter=Code eq 111 or Code eq 222 ...

С протоколом и 1C в принципе никогда не работал, подскажите, есть ли какой-то аналог оператора вхождения in, чтобы избавиться от перечисления с бесконечным повторением or и eq и сформировать запрос более изящно

Заранее спасибо
  • Вопрос задан
  • 68 просмотров
Решения вопроса 2
@Dementor
программист, архитектор, аналитик
Оператора in в принципе нет в 1С.
Для OData так же как и для обычного 1С-кодирования нужно выкручиваться через поиск подстроки:

bool substringof(string searchString, string searchInString)

Сначала вы со всех своих кодов формируете единую строку через уникальный разделитель (которого точно нет в кодах), а потом накладываете одно единое условие на вхождение кода в эту строку условия.
Ответ написан
Sgr_A
@Sgr_A
Как понимаю, нельзя.
Из документации к платформе:
Для доступа к данным используется протокол OData (www.odata.org, на английском языке) версии 3.

Судя по его описанию, там нет оператора in. Он есть в 4-й версии протокола, если верить этому.

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы