(Gelöst) Datensatz in einer Page überspringen

6. Mai 2013 10:42

Guten Morgen!

Ich bin gerade dabei eine Auflistung der Verkaufszeilen innerhalb einer neuen Page zu programmieren.
Hier habe ich nun das Problem, das ich nach einer Möglichkeit suche um einzelne Verkaufszeilen zu überspringen wenn bestimmte Kriterien zutreffen.
Gibt es innerhalb einer Page so etwas wie bei Reports mit CurrReport.SKIP?

Der Befehl REC.next hilft mir hier leider nicht weiter.

Ich arbeite unter NAV 2009 SP1.


Vielen Dank!
Gruß
Fuige
Zuletzt geändert von fuige am 6. Mai 2013 14:37, insgesamt 1-mal geändert.

Re: Datensatz in einer Page überspringen

6. Mai 2013 11:04

Eventuell mit Hilfe von Satzmarken?
Beispiel: viewtopic.php?f=7&t=10592

Re: Datensatz in einer Page überspringen

6. Mai 2013 11:39

Hallo Natalie,

leider komme ich mit den Erklärungen unter dem genannten Link nicht wirklich weiter.
In meinem Fall möchte ich pro Verkaufszeile die eine Fertigungsauftragsnummer enthält prüfen lassen ob der Fertigungsauftrag noch nicht beendet ist.
Ist er bereits beendet, so soll die Ausgabe der Verkaufsauftragszeile übersprungen werden.
Hierzu lassen ich nachdem die Verkaufszeile im OnAfterGetRecord ermittelt wurde nach dem Fertigungsauftrag anhand von FA-Nr und Status filtern.
Code:
IF (Rec."Prod. Order No." <> '') AND
   ((Rec."Location Code" = 'ABRUFLAGER') OR
   (Rec."Location Code" = 'US-RELEASE') OR
   (Rec."Location Code" = 'EC')) THEN BEGIN
   varProductionOrders.SETFILTER(varProductionOrders."No.", Rec."Prod. Order No.");
   varProductionOrders.SETFILTER(varProductionOrders.Status, '<>%1', varProductionOrders.Status::Finished);
   
   IF NOT varProductionOrders.FINDFIRST THEN
      Rec.NEXT;
END;

Re: Datensatz in einer Page überspringen

6. Mai 2013 11:44

Im Übrigen kann ich nur davor warnen, in ungebuchten Belegen (VK-Auftrag, EK-Bestellung usw.) Zeilen auszublenden - damit kommt nämlich die Eigenschaft AutoSplitKey nicht klar und liefert dir Fehlermeldungen, sobald zu versuchst, einen neuen Zeilendatensatz anzulegen.

Re: Datensatz in einer Page überspringen

6. Mai 2013 12:09

Es geht mir hier nur darum, bei einer Page ähnlich der Page 516 die Verkaufszeilen anzeigen zu lassen und diese nach Excel zu exportieren um einen Auftragsbestand zum Datum X zu ermitteln.
Da Verkaufsaufträge deren Fertigungsaufträge bereits erledigt am Lager liegen nicht mehr zum Auftragsbestand (mit Blick auf die Produktion) zählen, muss ich diese herausfiltern.

Gruß
Fuige

Re: Datensatz in einer Page überspringen

6. Mai 2013 12:15

fuige hat geschrieben:Es geht mir hier nur darum, bei einer Page ähnlich der Page 516 die Verkaufszeilen anzeigen zu lassen und diese nach Excel zu exportieren um einen Auftragsbestand zum Datum X zu ermitteln.

Gut, dann bin ich beruhigt :-)

Meiner Meinung nach am einfachsten geht das mit einer neuen Page, basierend auf Sales Line, aber mit SourceTableTemporary = Yes.
In OnOpenPage-Trigger durchläufst du vorweg alle interessanten Sales Lines. Nur die, die deinem Kriterium entsprechen, fügst du ein (mit Rec.INSERT) - Beispiel: viewtopic.php?p=88618#p88618
Bitte beachte beim Umgang mit temp. Recordvariablen: viewtopic.php?p=74150#Umgang

Die Page zeigt dir dann automatisch nur noch die richtigen Sales Lines an.

Re: Datensatz in einer Page überspringen

6. Mai 2013 14:36

Nach allem was ich bis jetzt getestet habe scheint Dein Ansatz die Lösung gewesen zu sein.

Vielen, vielen Dank!