Wiederkehrende Buchungsblätter in Dynamics NAV können die Erfassung von wiederkehrenden Geschäftsvorfällen in regelmäßigen Abständen vereinfachen. Hierzu zählen Geschäftsfälle wie z.B. Versicherungen, Mieten oder Rückstellungen.
Diese wiederkehrende Buchungsblätter können unter Abteilungen - Finanzmanagement - Periodische Aktivitäten - Sachposten - Wiederkehrende Buchungsblätter geöffnet werden. Im Vergleich zu den Standardbuchungsblättern sind hier zusätzliche Spalten vorhanden:
Hinweis: Wählt man bei den Wiederholungsarten als Präfix "Umgekehrt", so wird automatisch am Folgetag ein Gegenposten gebucht.
>> Weitere Informationen zu MS Dynamics NAV erfahren Sie hier!
Mithilfe einer For-To / Down-To Schleife lässt sich eine Schleife durch konstantes Inkrementieren bzw. Dekrementieren solange durchlaufen lassen, bis der Inkrementierte o. Dekrementierte Integer einen bestimmten Wert erreicht hat.
Für folgende Beispiele wird eine Variable I vom Typ "Integer" benötigt.
For I := 1 TO 1000 DO BEGIN
CODE;
CODE;
END;
Als erstes wird durch "I := 1" dem Integer der Wert 1 übergeben. Danach wird bei jedem Schleifen durchlauf dieser Wert Inkrementiert, bis er 1000 erreicht.
For I := 1000 DOWNTO 1 DO BEGIN
CODE;
CODE;
END;
In diesem Beispiel wird dem Integer der Wert 1000 übergeben, dieser Wird solange Dekrementiert bis er 0 erreicht.
Diese For Schleifen sind nicht Dynamisch da die angegebene Variable einen Fixen Wert erhält und die Bedingung ebenfalls Fix festgelegt wird. Allerdings lassen sich diese Fixen Werte durch Dynamische Variablen ersetzen.
Soll eine Schleife sich in ihrer Anzahl durchläufe nach dem Inhalt einer Tabelle richten, wie z.B. die Gesamtzahl der Datensätze:
For I := 1 TO Record.COUNT DO BEGIN //Es wird eine Variable vom Typ Record benötigt Namens "Record", mit
CODE; // dem Subtyb der ausegwählten Tabelle
CODE;
END;
Da die Funktion COUNT einen Integer Wert zurückliefert, welcher die Anzahl der Datensätze einer Tabelle enthält, kann auch diese Funktion als Wert verwendet werden.
>> Sie haben weitere Fragen zu diesem Thema oder allgemein zu MS Dynamics NAV? Dann kontaktieren Sie uns per Email an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!/gs oder nehmen Sie an einem kostenfreien Dynamics NAV Webinar teil. Wir freuen uns auf Sie!
Für dieses Beispiel wird eine Variable I vom Typ Integer benötigt.
I := 0;
WHILE I < 1000 DO BEGIN
CODE;
CODE;
I += 1;
END;
Im Gegensatz zur For-To Schleife wird allerdings die Bedingung (Hier ein Integer) bei einem
neuem Durchlauf der Schleife (Evtl. eine Schleife innerhalb einer Schleife) NICHT zurückgesetzt.
Daher wird vor Beginn der Schleife der Integer wert auf 0 zurückgesetzt. Die Bedingung kann innerhalb
sowie außerhalb, durch evtl. Funktionsaufrufe mit Rückgabewerten, verändert werden. In diesem Beispiel
wird der Integer I Inkrementiert.
Hier ein Beispiel für eine While-Do Schleife mit mehreren Bedingungen.
Exit := FALSE;
WHILE ((I < 1000) OR (Exit = FALSE)) DO BEGIN
CODE;
CODE;
HemdFarbe := FunnktionZumPrüfenObDasHemdRotGewordenIst;
IF HemdFarbe = 'Rot' THEN BEGIN
Exit := TRUE;
END;
I := I + 1;
END;
In diesem Beispiel wird die Schleife so lange durchlaufen wie der Wert I kleiner 1000 ist ODER
das "Hemd rot wird" und somit das Boolean "Exit" den Wert "True" übergeben bekommt. Somit lassen
wesentlich mehr Bedingungen festlegen als in einer For-To Schleife, da nicht nur auf Integer verwiesen werden muss.
In diesem Beispiel werden folgende Variablen benötigt.
x Typ: Integer
y Typ: Integer
a Typ: Integer
b Typ: Integer
IF x < y THEN BEGIN
REPEAT;
x += 1;
a -= 1;
UNTIL x = y;
b := x;
END;
Diese Schleife wird gestartet wenn der Wert der Variable x kleiner ist wie der Wert der Variable
y. Ab dann wird der Code zwischen REPEAT; und UNTIL x = y; solange ausgeführt bis durch das Inkrementieren
der Variable x diese den selben Wert hat wie y.
Sobald dies der Fall ist wird die Schleife Verlassen und nach dem UNTIL...; fortgefahren.
Vor allem wenn Datensätze durchlaufen werden sollen ist diese Schleife oft das Mittel der Wahl.
In diesem Beispiel wird eine Variable Contact vom Typ Record mit dem Subtype "Contact" benötigt.
IF Contact.FINDFIRST THEN
REPEAT
CODE;
CODE;
UNTIL Contact.NEXT = 0;
Hier wird in der Tabelle Kontakt geprüft ob Datensätze existieren und falls dies der Fall ist wird
der erste Datensatz(Abhängig von der Sortierung durch den Primärschlüssel) ausgewählt.
Durch die Funktion NEXT wird bei jedem durchlauf der Schleife ein neuer Datensatz ausgewählt,
bis kein "nächster" Datensatz mehr vorhanden ist.
Um einen neuen Zeilenrabatt anzulegen, gehen Sie bitte wie folgt vor:
1. Wählen Sie in der Startseite Kreditoren zur Anzeige der Kreditorenübersicht.
2. Nach dem Sie die Zeile für den entsprechenden Kreditor ausgewählt haben, wählen Sie über den Menübefehl Verknüpfte Informationen -> Einkauf -> Zeilenrabatte Zeilenrabatte aus. Es öffnet sich die Zeilenrabattverwaltung für den gewählten Kreditor.
3. Tragen Sie den Zeilenrabatt in die erste, bzw. nächste Zeile ein.
4. Wählen Sie die entsprechende Artikelnummer, den Einheitscode und die Mindestmenge aus, ab der der Rabatt gültig sein soll.
5. Nach dem Sie den Zeilenrabatt % eingetragen haben klicken Sie auf OK