Microsoft Dynamics SOAP: как указать фильтр DateTime в XML? - PullRequest
1 голос
/ 29 января 2020

У нас работает Microsoft Dynamics (Navision) 2016 и используется Soap -API.

Заголовок Soap -Request:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:mac="urn:microsoft-dynamics-schemas/page/mytable">
   <soapenv:Header/>
   <soapenv:Body>
      <mac:ReadMultiple>
        <mac:filter>
            <mac:Field>Time</mac:Field>
            <mac:Criteria>2019*</mac:Criteria>
        </mac:filter>
      </mac:ReadMultiple>
   </soapenv:Body>
</soapenv:Envelope>

Ответ на этот запрос выдает ошибку:

<faultcode xmlns:a="urn:microsoft-dynamics-schemas/error">
    a:Microsoft.Dynamics.Nav.Types.Exceptions.NavFilterException</faultcode>
<faultstring xml:lang="en-US">
    The filter "2019*" is not valid for the Time field on the mytable table. 
    The value "2019*" can't be evaluated into type DateTime.
</faultstring>

Мои вопросы: Как сделать фильтр, просто выдающий записи с 2019 года и позже?

1 Ответ

1 голос
/ 29 января 2020

Просто предположение. Попробуйте изменить

<mac:Field>Time</mac:Field>
   <mac:Criteria>2019*</mac:Criteria>

на:

<mac:Field>Date</mac:Field>
    <mac:Criteria>&gt;=01012019</mac:Criteria>

и посмотрите, работает ли.

...