Report: Doppelte Einträge finden und anzeigen

10. Juli 2008 12:42

Hallo zusammen.

Sorry wegen meiner Anfänger Frage, aber ich bin noch recht frisch in der NAV Entwicklung.

Ich möchte mit Hilfe eins Reports alle Artikel auflisten die die gleiche Herstellernummer haben.
Vorab ausgeschlossen werden sollen Artikel mit der Herstellernummer = '' und Herstellernummer = 'BITTE ANGEBEN'.

Mein Code im "Item - OnAfterGetRecord" Trigger sieht so aus:
Code:
IF (Item.HerstellerArtikelNr = '') OR (Item.HerstellerArtikelNr = 'BITTE ANGEBEN') THEN
  CurrReport.SKIP;


Das funktioniert auch so weit.

Aber wie filtere ich nun nur die Artikel raus wo die Herstellernummer doppelt ist?

Habe schon versucht mit Hilfe von Item.SETRANGE und anschließend Item.COUNT die raus zu filtern wo COUNT < 2 liefert.

Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt und hoffe ihr könnt mir einen kleinen "Ruck" geben ;)

Danke und Gruß
Christoph

10. Juli 2008 13:05

Du brauchst eine weitere Variable (z. B. Item2) und deinen C/AL-Code änderst du wie folgt:

Code:
Item2.SETRANGE(HerstellerArtikelNr,Item.HerstellerArtikelNr); // Gleiche HerstellerArtikelNr
Item2.SETFILTER("No.",'<>%1',Item."No.");                     // aber nicht derselbe Artikel
IF (Item.HerstellerArtikelNr IN ['','BITTE ANGEBEN']) OR (Item2.ISEMPTY) THEN
  CurrReport.SKIP;

11. Juli 2008 11:00

Dank dir!
Dann war ich ja doch schon auf dem richtigen Weg.
Mit der zweiten Variablen habe ich auch schon etwas rum gespielt.

Jetzt kommt aber noch was hinzu.
Es sollen nur die angezeigt werden, wo der Status = GESPERRT ist und ein bestimmte Spalte auf FALSE steht.
Darunter soll dann, wenn vorhanden, der Artikel mit der gleichen Hersteller Art. Nr. stehen bei dem die Spalte auf TRUE ist.

Die Art mit dem IF (... IN []) kannte ich auch noch nicht ;)
Wieder was gelernt.

Gruß

14. Juli 2008 13:37

Habe mich vor kurzem mit einer ähnlichen Problematik beschäftigt, schau doch mal hier.

Vielleicht hilft dir das auch etwas weiter.