Microsoft Dynamics Nav ReadMultiple сортировка записей по конкретному столбцу

Я использую функцию ReadMultiple для извлечения отфильтрованных данных из службы Navision, как показано ниже.

var customers = postedInvService.ReadMultiple(filtercustomers.ToArray(), CustomerParams.bookmarkKey, -10);

Это отлично работает. Но мое требование - сначала отсортировать по определенному столбцу и получить записи. Как дать конкретный столбец для сортировки записей?

1 ответ

Есть три разных подхода к решению этой проблемы.

  1. С помощью веб-службы SOAP и setSize = 0 Вы получаете весь набор результатов. Вы можете отсортировать результат с помощью LINQ. Например

    var result = from serviceInvoice in
                 postedInvService.ReadMultiple(filtercustomers.ToArray(), null, 0)
                 orderby serviceInvoice.No 
                 select serviceInvoice;  
    
  2. В среде разработки Dynamics NAV также можно создать новую страницу с полями и сортировкой (свойство SourceTableView), как это должно быть.

  3. Начиная с Dynamics NAV 2013, страницы также можно получить из веб-службы OData, которая поддерживает сортировку и фильтрацию на стороне сервера. Например http://localhost:7048/DynamicsNAV90/OData/Company('CRONUS%20International%20Ltd.')/postedInvService?$orderby=PostingDate

Другие вопросы по тегам