Flasche Zeilenreihenfolge beim Filtern

4. Juni 2019 14:57

hallo,

ich habe ein ganz Merkwürdiges Phänomen.
Ich möchte eine Seite alle Bestellungen bestimmter Art erstellen. Als filter dient die Bestellart und ein Datumsfilter.
Nun ist das Ergebnis auf den 1. Blick ganz gut.
Alle Zeilen sind da, der Gruppenwechsel über den Kreditor findet statt. (Ich schreibe der Übersichtlichkeit halber die Kreditoren abwechselnd fett und normal.
Außerdem werden Summen gebildet pro Kreditor die in eine Spalte mit geschrieben werden.

Im Debugger ist dann etwas kurioses zu beobachten.
Die ersten 20 Zeilen werden schön nacheinander gelesen und ausgewertet. Danach kommt dann Zeile 1 nochmal , dann wieder Zeile 20 und dann geht es sauber weiter.
Sehen kann man das in der Spalte Gesamtsumme.

Kennt jemand so ein Phänomen ?

Komischerweise ist von doppelten lesen der Zeile 1 und 20 später nichts mehr zu sehen.

BC 13.0 / CU 03

Gruß Frank
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Flasche Zeilenreihenfolge beim Filtern

4. Juni 2019 15:52

Hallo,

ich habe mal etwas weiter getestet und einen Zähler im
OnAfterGetRecord Trigger mitlaufen lassen.
Außerdem habe ich den Datumsfilter erweitert um mehr datensätze zu bekommen

Interessant ist dass es immer 20 Datensätze sind dann kommt er aus dem Tritt.
(Siehe rote Zeilen)
hat jemand eine Erklärung ?

Gruß Frank
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Flasche Zeilenreihenfolge beim Filtern

5. Juni 2019 10:32

Hallo,

Ich habe das ganze im Web-Client getestet.
Da passiert das alles auch, aber alle 30 Zeilen.
Scheint ein grundsätzlichen Problem zu sein.

Mein Code dazu
im OnAfterGetRecord Trigger
Code:
Zaehler += 1;
IF "Buy-from Vendor No." <> AlterKreditor THEN BEGIN
  IF StyleTxt = 'Standard' THEN
    StyleTxt := 'Strong'
  ELSE
    StyleTxt := 'Standard';
END;
Vendor.GET("Buy-from Vendor No.");
Währung := Vendor."Currency Code";
IF Währung = '' THEN Währung := 'EUR';

IF "Buy-from Vendor No." = AlterKreditor THEN BEGIN
  Gesamtsumme := Gesamtsumme + TotalAmonut;
END ELSE BEGIN
  Gesamtsumme := TotalAmonut;
  AlterKreditor := "Buy-from Vendor No.";
  END;


Gruß Frank

Re: Falsche Zeilenreihenfolge beim Filtern

11. Juni 2019 21:40

Ich vermute mal der Windows Client blättert 20-Zeilen-weise, der Web Client 30 (Cache)? Aber das Phänomen ist mir noch nicht begegnet. Nutzt du ein aktuelles CU?

Re: Flasche Zeilenreihenfolge beim Filtern

12. Juni 2019 08:03

Wie schon beschrieben BC 13 CU03.
Das Phänomen tritt aber auch im aktuellen BC 13 CU auf.
Hab es gestern getestet.
Interessant ist, das wenn ich einen Zähler mitlaufen lasse tatsächlich nach der Zeile 20 die Zeile 23 kommt.
Das verwirrt mich besonders.
Zeile 21 und 22 werden trotz durchlaufen des OnAfterGetRecord Triggers NICHT in die Zeilen geschrieben.