[gelöst] Anlagen Transaktion stornieren

17. April 2014 12:00

Hallo zusammen,

als regelmäßiger stiller Mitleser in diesem Forum, möchte ich heut auch mal eine Frage stellen.
Wir möchten die kompletten Abschreibungen eines Monats stornieren, welche über "AFA berechnen" erstellt wurden.
Funktioniert das in diesem Fall nicht über "Transaktion stornieren" in den Anlageposten? Es wird nur der jeweils ausgewählte Posten angezeigt und nicht alle Posten (also auch die der anderen Anlagen).

Gruß Santor
Zuletzt geändert von santor am 17. April 2014 15:21, insgesamt 1-mal geändert.

Re: Anlagen Transaktion stornieren

17. April 2014 13:54

Hallo Santor,

versuch doch mal folgendes: Gehe in das Fibu-Journal was durch den AfA-Lauf entstanden ist, und versuch die Funktion "Journal stornieren". Damit sollte es gehen, aber bitte auf eine Kopie erst testen - die Transaktionsstorno-Funktion hat(te) je nach Version unschöne Bugs.

LG Jens

Re: Anlagen Transaktion stornieren

17. April 2014 15:20

Hi Jens,
vielen Dank für deine Info.
Ich hab das mal im Testsystem ausprobiert. Das stornieren funktioniert. Allerdings wird das Feld „Letztes Datum Normal-AfA“ nicht zurückgesetzt, da anscheinend alle Posten nur mit geändertem Vorzeichen gebucht werden. Da ich nicht weiß ob noch andere Falltüren vorhanden sind, lass ich das lieber und gehe das Problem von einer anderen Seite aus an.

Re: [gelöst] Anlagen Transaktion stornieren

20. April 2014 17:57

Hallo Santor,

nun das ist schon interessant... ob es wirklich ein Bug ist oder etwas anderes als man erwarten würde, ist die Frage. Erwarten würde ich das ein Transaktions-oder Journalstorno auch ein echtes Anlagenstorno durchführt. Gemacht wird etwas anderes, wie Du beobachtet hast. Zusätzlich bekommt man vorher die Meldung, das Anlagenposten beteiligt sind und man doch ggf. das Anlagenstorno verwenden soll - keine wirkliche Hilfe, auch für den erfahrenen NAV-Benutzer nicht. Besser wäre "geht nicht" zu schreiben, oder ein echtes Anlagenstorno zu implementieren. Das angefügte Objekt macht letzteres. Das funktioniert nur für Transaktionen/Journale, die selbst kein Anlagenstorno sind. Die haben bisher aber auch schon die unschöne Fehlermeldung "Anlagen Nr. existiert nicht" gegeben, und nichts kann storniert werden. Also über alles eine Verbesserung. :mrgreen:
Das hier ist die geänderte Funktion:

Code:
SetFAReversalMark(VAR ReversalEntry : Record "Reversal Entry";VAR FALedgEntry : Record "FA Ledger Entry";NextEntryNo : Integer)
IF FALedgEntry."Reversed Entry No." <> 0 THEN BEGIN
  FALedgEntry2.GET(FALedgEntry."Reversed Entry No.");
  IF FALedgEntry2."Reversed Entry No." <> 0 THEN
    ERROR(Text005);
  CloseReversal := TRUE;
  FALedgEntry2."Reversed by Entry No." := 0;
  FALedgEntry2.Reversed := FALSE;
  //OS001s os.jgl
  IF FALedgEntry2."Canceled from FA No." <> '' THEN BEGIN
    FALedgEntry2."FA No." := FALedgEntry2."Canceled from FA No.";
    FALedgEntry2."Canceled from FA No." := '';
  END ELSE BEGIN
    FALedgEntry2."Canceled from FA No." := FALedgEntry2."FA No.";
    FALedgEntry2."FA No." := '';
  END;
  //OS001e os.jgl
  FALedgEntry2.MODIFY;
END;
FALedgEntry."Reversed by Entry No." := NextEntryNo;
IF CloseReversal THEN
  FALedgEntry."Reversed Entry No." := NextEntryNo;
FALedgEntry.Reversed := TRUE;
//OS001s os.jgl
IF FALedgEntry."FA No." <> '' THEN BEGIN
  FALedgEntry."Canceled from FA No." := FALedgEntry."FA No.";
  FALedgEntry."FA No." := '';
END ELSE BEGIN
  FALedgEntry."FA No." := FALedgEntry."Canceled from FA No.";
  FALedgEntry."Canceled from FA No." := '';
END;
//OS001e os.jgl
FALedgEntry.MODIFY;
FALedgEntry."Reversed by Entry No." := 0;
FALedgEntry."Reversed Entry No." := FALedgEntry."Entry No.";
IF CloseReversal THEN
  FALedgEntry."Reversed by Entry No." := FALedgEntry."Entry No.";
ReversalEntry.SETCURRENTKEY("Entry Type");
ReversalEntry.SETRANGE("Entry Type",ReversalEntry."Entry Type"::"Fixed Asset");
IF ReversalEntry.FIND('-') THEN
  REPEAT
    IF ReversalEntry."Entry No." = FALedgEntry."Entry No." THEN
      FALedgEntry.Description := ReversalEntry.Description;
  UNTIL ReversalEntry.NEXT = 0;


Damit in InsertReverseEntry() der Konsistenzcheck funktioniert muss die Anlagennummer im übergebenen Posten drin stehen:

Code:
...
    //OS001s os.jgl
    FALedgEntry3."FA No." := CheckAccNo;
    //OS001e os.jgl
    FACheckConsistency.RUN(FALedgEntry3);
...


Die Anlagennummer wird sich in CheckAccNo vorher gemerkt.

LG Jens
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: [gelöst] Anlagen Transaktion stornieren

28. April 2014 10:29

Jens, bin begeistert.
Vielen Dank!