Не поддерживается
На такие запросы сервис отвечает501 Not Implemented или 400 с объяснением.
Параметры запроса
$search;$computeвне$apply;$levels;$applyвнутри$expand;$expandповерхgroupbyиaggregate.
- оператор
has; - функции
fractionalseconds,totalseconds,totaloffsetminutes,mindatetime,maxdatetime,isof,geo.*,matchesPattern,hassubset,hassubsequence; castк типамEdm.*иcastвыражения (cast(guid'…','Catalog_X')для составных свойств работает);- литералы
binaryиdurationв сравнениях; - сравнение и упорядочивание строк неограниченной длины (
400);containsпо ним работает.
$apply
- преобразования
concat,expand,search,nest,join,rollup,$all,toppercent,topsum,bottompercent,bottomsum; - больше 10 шагов в цепочке.
DrCrTurnoversрегистра бухгалтерии;- виртуальные таблицы регистра расчёта.
- асинхронная обработка
Prefer: respond-async; - повторяемость (
Repeatability-Request-ID) для$batchцеликом (для отдельных операций пакета работает).
- подсети IPv6 (отдельные адреса IPv6 и подсети IPv4 работают).
Настраиваемые лимиты описаны в разделе Лимиты запросов.
Rust-компонента и безопасный режим
В безопасном режиме расширения платформа не подключает внешние компоненты. Сервис работает, но всё выполняет встроенный язык, и большие выгрузки идут медленнее. Подробнее — Rust-компонента. Режим прав «Привилегированный» в безопасном режиме тоже недоступен: запросыodatat отвечают 503.
Редкий 500 «Тип не определен» после простоя сеанса
Признаки:- ответ
500, тело — текст платформыТип не определен '<GUID>', а не ошибка в формате OData; - в журнале регистрации нет ошибки
OData4.*для этого запроса; - тот же запрос, повторённый сразу, проходит.
sessionMaxAge) на мгновение не
видит объектов расширения. Чтение настроек, профилей и токенов расширение защищает повтором. А запись журнала
запросов при такой ошибке платформа прерывает мимо обработки исключений, поэтому готовый ответ заменяется на 500.
Сбой бывает только при включённом журнале и редко: единичные случаи за часы непрерывной работы, и не
всегда.
Что делать клиенту — повторить запрос. Power BI и Excel повторяют обновление сами.
Если такие ответы участились или GUID в тексте принадлежит не журналу, это другой случай. Сообщите о нём в
Issues: приложите запрос, время, GUID и состояние рабочего процесса
веб-сервера.
Редкий 500 «Запись не найдена в менеджере имен базы данных»
Ошибка замечена единично, вскоре после обновления конфигурации базы данных на работающем веб-сервере. Отдельно повторённый запрос проходит. Причина не найдена, возможно, это тот же класс гонки сеанса платформы. Повторите запрос. Если ошибка повторяется, сообщите запрос, время и было ли перед этим обновление конфигурации.$batch и сбой журнала после выполнения
Если запись журнала после выполнения пакета упадёт из-за сбоя платформы (см. выше), клиент получит 500 на весь
пакет, хотя его операции уже выполнены и зафиксированы. Повтор такого пакета может создать объекты второй раз.
Как избежать дублей:
- передавайте в каждой операции
Repeatability-Request-ID; - или передавайте ключ создаваемого объекта (
Ref_Key) сIf-None-Match: *; - сверяйте результат по
Content-IDиidопераций.
Блокировка журнала в файловой базе
Если весь регистр журнала заблокирован чужой транзакцией, ответ ждёт тайм-аута блокировки платформы, 20 секунд. В файловой базе так ведёт себя любая незавершённая запись в журнал, потому что блокировки там табличные. Средствами расширения это не обойти. Для нагруженной работы используйте клиент-серверную базу или выключите журнал.Когда действуют изменения доступа
Отзыв токена, изменение профиля и изменение сопоставления пользователя с профилем действуют со следующего запроса. Исключение — запрос, попавший в гонку сеанса платформы (первый запрос после ~20 секунд простоя сеанса). В нём сервис может взять данные доступа, прочитанные этим сеансом не раньше 5 минут назад. Каждый такой случай пишется предупреждениемOData4.Безопасность в журнал регистрации. Если таких данных нет, ответ — 503.
Платформа 8.3.11 и адрес клиента
В режиме совместимости 8.3.11 сервису недоступен адрес соединения клиента. Поэтому ограничение токена по IP проверяется только по заголовку доверенного прокси (X-Forwarded-For или X-Real-IP). Токен с разрешёнными IP без
настроенного доверенного заголовка отвергается. Подробнее — Токены.