Dynamics Nav (Navision) веб-сервис ReadMultiple date filter - PullRequest
2 голосов
/ 06 августа 2010

Как использовать фильтрацию по дате с помощью веб-сервисов Navision.

т.е. В таблице SalesHeader есть «ExportedDate». Я хотел бы найти все SalesHeaders, где ExportedDate не был установлен или был экспортирован в конкретную дату.

Кажется, что всякий раз, когда мы устанавливаем фильтр для поля даты, веб-служба либо возвращает все строки, либо не возвращает строки.

Ответы [ 2 ]

7 голосов
/ 17 февраля 2011

Это можно сделать.Вы должны использовать то же выражение фильтра, что и в клиенте Nav:

01012011..         would be all dates from 01.01.2011
..01012011         would be all dates to 01.01.2011
01012011..03012011 gets all dates between 01. and 03.
1 голос
/ 11 декабря 2012

После публикации страницы 42 (Заказ на продажу) в качестве веб-службы в NAV, я добавил веб-ссылку на недавно созданный веб-сервис в моем проекте Visual Studio.В коде C # я создаю новый экземпляр службы и говорю ему использовать учетные данные по умолчанию:

SalesOrders_Service salesOrdersService = new SalesOrders_Service();
salesOrdersService.UseDefaultCredentials = true;

Затем я создаю экземпляр фильтра и задаю поле и критерии:

SalesOrders_Filter filter = new SalesOrders_Filter();
filter.Field = SalesOrders_Fields.Document_Date;
filter.Criteria = "01-31-14|''"; // specific date (MM-dd-yy) or empty

Экземпляр фильтра затем добавляется в новый массив SalesOrders_Filters перед передачей последнего в ReadMultiple:

SalesOrders[] salesOrders = salesOrdersService.ReadMultiple(new SalesOrders_Filter[] { filter }, null, 0);

На моем компьютере это возвращает два заказа с датой документа 31 января 2014 года и одинзаказ с пустой датой документа.

...