[gelöst] Lagerregulierung und Buchungszeitraum

14. März 2011 22:47

Hallo,

Thema betrifft 2009 Classic (aber auch 5.01)

Ich habe mich zu dem o.g. Thema schon durch das Forum gekämpft und bin auch auf diesen Beitrag gestoßen: viewtopic.php?f=36&t=6563
Leider habe ich damit immer noch ein Problem.
Geschäftsjahr 2010 ist geschlossen. Im Nachhinein wurden auch die Lagerbuchungsperioden bis 31.12.2010 geschlossen.
Nun sollen mit Bericht 1002 Lagerreg.buchen die Werte in Fibu gebucht werden, und zwar in 2011.
Leider möchte NAV die Lagerregulierung aber in 12/2010 buchen. Bei folgender Einrichtung bricht der Bericht mit Fehlermeldung ab (auch in 5.01-DB):
- Fibu-Einrichtung zugel. ab 01.01.2011
- Benutzereinrichtung leer
- Lagerbuchungsperiode ab 01.01.2011
- Fehlermeldung "Buchungsdatum liegt nicht innerhalb des zugelassenen Buchungszeitraumes"

Wenn ich in der Benutzereinrichtung Datum ab 12/2010 eingebe, bucht NAV in 12/2010.

Woran kann das liegen? Was muss ich tun, damit NAV in 2011 bucht?
Codeunit 5895 wie in o.g. Beitrag beschrieben, wir m.E. bei Report 1002 nicht angesprochen.

Gruß
Zuletzt geändert von rinoya am 16. März 2011 13:53, insgesamt 1-mal geändert.

Re: Lagerregulierung und Buchungszeitraum

15. März 2011 00:27

Herzlich Willkommen im Forum!

Das Datum für geschlossene Perioden bei der Lagerregulierung der Wertposten wird über die Funktionen in der Fibueinrichtung FirstAllowedPostingDate,
Code:
FirstAllowedPostingDate() AllowedPostingDate : Date
AllowedPostingDate := "Allow Posting From";
IF NOT InvtPeriod.IsValidDate(AllowedPostingDate) THEN
  AllowedPostingDate := CALCDATE('<+1D>',AllowedPostingDate);

die wiederum dann in den Lagerbuchungsperioden die Funktion IsValidDate aufruft, ermittelt. Ohne geschlossene Lagerbuchungsperioden gilt nur das Datum in Feld "Buchungen zugel. ab"/"Allow Posting From".

Code:
IsValidDate(VAR EndingDate : Date) : Boolean
InvtPeriod.SETFILTER("Ending Date",'>=%1',EndingDate);
InvtPeriod.SETRANGE(Closed,TRUE);
IF InvtPeriod.FINDLAST THEN
  EndingDate := InvtPeriod."Ending Date"
ELSE
  EXIT(TRUE);


und dann die Buchung auf den nächsten Tag nach dem "Ending Date" der letzten geschlossenen Periode legt. Die werden für die Erstellung von Regulierungswertposten verwendet. Die Sachposten bekommen dann das gleiche Datum. Das ist auch notwendig für eine genaue Periodenabgrenzung.

Die Funktion ist dazu da, unerwünschte Lagerwertänderungen bei Lagerregulierungen in den geschlossenen Perioden zu verhindern. Sie ist nicht dazu da, die Bestandsveränderungen pro Periode im Vergleich zwischen Warenwirtschaft (Wertposten) und Fibu (Sachposten) auseinanderdriften zu lassen.

Wenn Wertposten mit einem Buchungsdatum in 2010 existieren, die noch nicht in die Fibu gebucht wurden (Feld "Gebuchte Lagerregulierung" = 0, die können sowohl durch Regulierungen als auch durch normale Transaktionsbuchungen entstanden sein), dann müssen die auch mit dem gleichen Buchungsdatum in 2010 als Sachposten gebucht werden. Das sind prüfungsrelevante Punkte bei der Wirtschaftsprüfung.

Re: Lagerregulierung und Buchungszeitraum

16. März 2011 13:53

Hallo Kowa,

danke für deine ausführliche Antwort. Das hat Licht ins Dunkel gebracht.
Da sieht man aber auch mal wieder, dass die deutsche Übersetzung des Report 1002 komplett falsch ist.