2013-12-09 1 views
2

Microsoft Dynamics AX 2009에서 InventTable에서 데이터를 검색하는 AX 서비스를 구축하려고합니다. https://community.dynamics.com/ax/f/33/t/70476.aspx을 참조하여 AOT 작업에서 modifieddate = "2/7/2013" 으로 데이터를 검색하는 코드를 실행하려고했습니다. 코드 샘플은 다음과 같습니다 :webservice 요청을 사용하여 오프셋 및 제한이있는 데이터를 검색하는 방법은 무엇입니까?

static void SelectQueryTest(Args _args) 
    { 
     Query q = new Query(); 
    QueryRun qr; 
    QueryBuildDataSource qbds; 
    int64 countItem; 
    InventTable inventTable; 
    Fromdate FromDate = 2\7\2013; 


    ; 

    qbds = q.addDataSource(tableNum(InventTable)); 
    qbds.addRange(fieldNum(InventTable, modifiedDateTime)).value(date2StrUsr(FromDate)); 
    qr = new QueryRun(q); 
    countItem =SysQuery::countTotal(qr); 
    if(countItem>0) 
    { 

    while(qr.next()) 
    { 

     inventTable = qr.get(tableNum(inventTable)); 
     info(strfmt("Item Name: %1", inventTable.ItemName)); 
    } 
    } 
    else 
    { 
    info("No records found"); 
    } 

    } 

어떤 사람은 어떻게 웹 서비스 요청에서 가져온 데이터 오프셋 사용하여 검색 코드와 한계를 작성하는 날을 제안 할 수 있습니다.

+0

에서 지원하는 모든 SQL을 사용할 수 있어야하는 경우 직접 SQL 데이터베이스를 쿼리, 제한, 어떤 웹 서비스는 무엇인가? 서면으로 작성된 날짜는 7 월 초입니다. –

+0

필자는 실제로 skip과 linq를 사용하거나 MySql에서 "SELECT column FROM table LIMIT 18 OFFSET 8"과 같은 선택 쿼리를 사용했습니다. –

답변

2

AX를 쿼리 할 때 x ++에서 제한 및 오프셋을 사용할 수 없습니다.

제 생각에는 동일한 목표를 달성 할 수있는 2 가지 옵션이 있습니다.

  1. recId로 결과 세트를 정렬하고, recId를 저장하고, recId> yourRecId를 오프셋으로 사용하십시오. 또한 select와 같은 방법을 사용하여 레코드를 수동으로 계산해야합니다.

  2. 사용 X ++는 오프셋 무엇 서버

0

표준 방법이 있으므로 서비스를 직접 만들 필요는 없습니다.

여기에 대한 답변을 살펴 보자 : Fetching data from dynamics ax 2009 using Ax webservices and C#

또한 this screencast에 봐.

+0

응답 주셔서 감사합니다. 우리는 AX 데이터베이스에서 거의 2 십만 개의 제품을 가지고 있습니다. 나는 웹 서비스를 사용하여 한 번에 거대한 데이터 세트를 가져 오는 것이 어려울 것이라고 생각합니다. 그래서 나는 단지 500 개를 검색하는 AX 서비스를 생각하고 있습니다. 데이터를 각각 가져 와서 MySql 데이터베이스로 가져옵니다. –

관련 문제