2010-08-06 24 views
2

使用Navision Web服務,您如何過濾日期。動態導航(Navision)webservice ReadMultiple日期過濾器

即在SalesHeader表內有一個「ExportedDate」。我想找到所有的SalesHeader,其中ExportedDate尚未設置或在特定日期導出。

似乎只要我們在日期字段上設置過濾器,那麼web服務將返回所有行或無行。

回答

7

這可以做到。你必須使用相同的過濾器表達式,你會在導航客戶端使用:

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. 
+0

我正在處理這個問題。我們在LAST_MODIFIED_DATE頁面上的日期是這樣的:2013年4月9日 當答案沒門的解釋則返回: 陣列( 「現場」 =>「Last_Date_Modified」, 「標準」 =>' 20130101 ..' ) 任何線索至於怎麼做? – nielsiano 2013-05-14 11:33:22

+0

如果有人看到這個,我有一個關於類似問題的新問題在這裏:http://stackoverflow.com/questions/16542364/date-filter-in-microsoft-dynamics-nav-webservice – nielsiano 2013-05-14 11:48:52

0

後發佈第42頁(銷售訂單)作爲NAV Web服務,我添加了一個Web引用到新創建的Web服務在我的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); 

在我的機器,這將返回兩個數量級,其文件日期爲2014年1月31日,和一個空白文檔日期的訂單。