Seite 1 von 1

Schleife unterbrechen[gelöst]

Verfasst: 12. April 2016 15:10
von Kristin K.
Hallo zusammen,

ich würde gerne ein break in eine Schleife einbauen, leider finde ich nicht heraus, wie und ob das in Navision 2013 funktioniert.

Mein Gedanke:

Tabelle.SETFILTER(Artikelnr, VariableArtikelnr);
IF Tabelle.FIND('+') THEN REPEAT
i+=1; //integer
IF i > 3 THEN
BREAK; //klappt logischerweise nicht
UNTIL Tabelle.Next(-1) = 0;

Ich möchte also nur die letzten drei Datensätze meiner Tabelle, alle weiteren sind für mich völlig irrelevant.
Wie kann ich das eventuell auch anders bewerkstelligen?

Gruß

Kristin

Re: Schleife unterbrechen

Verfasst: 12. April 2016 15:18
von McClane
Code:
until (next(-1) = 0) or (i = 3)

Re: Schleife unterbrechen

Verfasst: 12. April 2016 15:29
von Kristin K.
Danke! Ich wusste nicht, dass man an dieser Stelle mehrere Argumente anbinden kann.
Ist natürlich völlig logisch und funktioniert!
Wie mein Ausbilder heute schon so schön sagte: Manchmal brauchts einfach zwei Gehirne ^^ Danke für deins

Re: Schleife unterbrechen

Verfasst: 12. April 2016 15:32
von Kowa
BREAK; //klappt logischerweise nicht

In NAV 2013 noch nicht, aber BREAK in Schleifen wird ab NAV 2016 unterstützt.
http://dynamicsuser.net/nav/b/vanvugt/posts/brexit-nope-break-lt-gt-exit

In älteren Version kann man bei Abbruchbedingungen je nach Anforderung nur REPEAT-UNTIL oder WHILE-DO einsetzen
http://www.hummelwalker.de/2009/12/08/die-schleifentypen-in-navision-repeat-until-while-do-for-to/

Über ASCENDING(FALSE) kann man auch die Sortierung der Tabelle umdrehen und dann die ersten drei Sätze nehmen, das vereinfacht den Code.

Re: Schleife unterbrechen[gelöst]

Verfasst: 14. April 2016 11:10
von Kristin K.
Kowa hat geschrieben:In NAV 2013 noch nicht, aber BREAK in Schleifen wird ab NAV 2016 unterstützt.
http://dynamicsuser.net/nav/b/vanvugt/posts/brexit-nope-break-lt-gt-exit

In älteren Version kann man bei Abbruchbedingungen je nach Anforderung nur REPEAT-UNTIL oder WHILE-DO einsetzen
http://www.hummelwalker.de/2009/12/08/die-schleifentypen-in-navision-repeat-until-while-do-for-to/

Über ASCENDING(FALSE) kann man auch die Sortierung der Tabelle umdrehen und dann die ersten drei Sätze nehmen, das vereinfacht den Code.


Danke! Das hilft mir auch sehr, dann freu ich mich mal auf NAV 2016 (oder nächste Version), wenn wir dann mal umstellen sollten.

Re: Schleife unterbrechen[gelöst]

Verfasst: 5. Januar 2022 12:55
von Kowa