...feel the spirit of Microsoft Dynamics AX RSS 2.0
 Tuesday, January 15, 2008

Wird in einem Bericht die Fetch Methode überschrieben sollte man drauf achten, dass die Standardfunktionen auch noch richtig funktionieren. Ein gutes Beispiel hier sind die Einstellungen im Seitenbereich.

 

Wird in der Fetch Methode nicht super() aufgerufen und mit einer individuellen Abfrage gearbeitet, welche die Daten dem Bericht übergibt, werden die Einstellungen in der Gruppe "Seitenbereich" meist ignoriert. Es werden dann zwar nur die angebenden Seiten gedruckt, die Abfrage wird aber weiter durchgeführt. Das führt dann dazu, dass immer abgewartet werden muss bis die komplette Abfrage ausgeführt wurde, obwohl man evtl. nur einen kleinen Bruchteil der Daten (wie z.B. die erste Seite) benötigt.

Das kann man ganz einfach verhindern indem in der Fetch Methode abgefragt wird, ob die Daten an den Bericht gesendet wurden. Hierzu wird die send(...) Methode benutzt.

public boolean fetch()
{
Query queryBuild;
QueryRun queryRunBuild;
InventTrans iTrans;
;
if (this.prompt())
{
   queryBuild = this.query();
   queryRunBuild = new QueryRun(queryBuild);

   while (queryRunBuild.next())
   {
   iTrans = queryRunBuild.get(tablenum(InventTrans));

   // Wurde der aktuelle Datensatz ausgeben
   if (!this.send(iTrans))
      return true;
   }
}
return true;
}

Es muss also immer überprüft werden, ob die Daten gedruckt werden oder nicht. Das passiert mit:

if (!this.send(meineDaten))
   return true;

Tuesday, January 15, 2008 11:30:17 AM (Mitteleuropäische Zeit, UTC+01:00)  Mathias Füßler  #    Comments [0] - Trackback




Translate
Über/Kontakt

     







© Copyright 2009 Axel Kühn
Sign In
Subscribe this blog
Archiv
<January 2009>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567
Statistik
Total Posts: 96
This Year: 0
This Month: 0
This Week: 0
Comments: 45





All Content © 2009, Axel Kühn
DasBlog theme 'Business' created by Christoph De Baene (delarou)