2012-03-21 5 views
2

Dynamics AX 2009의 보고서에 필터를 추가해야합니다. 이벤트를 사용하여 필터링하라는 메시지가 표시됩니다. 그래서 가져 오기에 다음 코드를 추가했습니다.Dynamics AX : 보고서를 필터링하는 방법?

DateFromDialog 및 DateToDialog는 ClassDeclaration으로 선언 된 변수입니다.

 qrun = new QueryRun(element); 
     _vendInvoiceJour = qrun.get(TableNum(VendInvoiceJour)); 
     if(_vendInvoiceJour.InvoiceDate <= DateFromDialog.value() || _vendInvoiceJour.InvoiceDate >=DateToDialog.value()) { 
      // Exclude record, don't print it 
      return false; 
     } 

레코드가 인쇄되어서는 안되는 경우 false를 반환하는 것이 맞습니까?

감사합니다.

답변

3

아니요, 아닙니다. 첫 번째 레코드가 제외되는 경우 fetch 메서드는 단일 레코드를 보내지 않고 false를 반환하고 아무 것도 인쇄되지 않습니다.

send 메서드에서 false를 반환 할 수 있습니다. 그게 효과가 있지만 성능면에서 좋지 않은 선택입니다.

올바른 방법은 쿼리 범위로 날짜 범위를 추가하는 것입니다

SysQuery::findOrAddRange(element.queryrun().query().findDatasource(tableNum(VendInvoiceJour), fieldNum(VendInvoiceJour,InvoiceDate)).value(queryRange(DateFromDialog.value(), DateToDialog.value())); 

내가 코드를 테스트하지 않았습니다.

+0

당신은 해결책이 항상 맞습니다! – stighy

관련 문제