Kontenschemata - Auswertungen von Sachkonten ohne Dimension

12. Februar 2020 13:25

Hallo liebe Forengemeinde,

derzeit raubt mir eine - für mich schwer nachvollziehbare - Eigenheit in Navision den schlaf.

Kurze Zusammenfassung
Wir arbeiten in unserem System mit vielen, unterschiedlichen Fremdwährungen. Zum Jahresende haben wir in Navision die Wechslkurse in Navision auf Debitoren/Kreditoren etc. reguliert. Während der Regulierung wurde für die Verbuchung derselben kein Dimensionscode definiert. Daraus ergibt sich das folgende Problem:

Problemstellung
Navision verbucht automatisch bei Zahlungseingängen die Währungsregulierung zurück. Dies geschieht auch ohne Dimensionscode. Werte ich nun über ein Kontenschemata unsere GuV aus und vergleiche diese mit unseren Kostenstellen ergibt sich - logischerweise - ein Delta aus den Buchungen ohne Dimension.

Die Frage / Workaround:
Gibt es in Navision die Möglichkeit, über die Kontenschemata ebenfalls nur Buchungen anzuzeigen die keine Kostenstelle beinhalten bzw. wie müsste hierzu das Spaltenlayout definiert werden. Oder haben wir - was natürlich die schönere Option wäre - eine Möglichkeit das die automatischen Regulierungsbuchungen aus Navision einen Dimensionscode erhalten?


Liebe Grüße und bereits Danke für die Unterstüzung im Voraus

KabaSchlumf / Michael

Re: Kontenschemata - Auswertungen von Sachkonten ohne Dimens

12. Februar 2020 18:49

Dimension/Dimensionswert für autom. Buchungen wie Skonto und Kursgewinn/-verlusst kann glaube ich OPplus.

Wir haben das für einen Kunden mal einfach gelöst indem wir Dimensionswerte in einem Job per Aufgabenwarteschlange nachtragen. Dort war das einfach da die für solche Buchungen immer eine allgemeine Kostenstelle verwenden wollen und nicht etwa einen Dimensionswert aus den zugrundeliegenden Debitorenposten bzw. Kreditorenposten. Man könnte das natürlich auch über eine EventSubscriber-Codeunit machen (GL Entry OnAfterInsert).

Meines Wissens kann man in einer Dimensionsanalyse die mit leer gebuchten Werte nicht in einer separaten Spalte auswerten und auch keine Differen zwischen der Summe der einzelnen Werten pro Dimensionswert und der Spalte Gesamtbetrag ziehen. Die kann man sich anzeigen lassen wenn man einen entsprechenden Filter vor dem Aufruf der Matrix setzt.

Wenn man ein Kontenschema mit Analyseansicht kombiniert müsste das genauso sein.

Re: Kontenschemata - Auswertungen von Sachkonten ohne Dimens

13. Februar 2020 08:56

Hallo Michael,

wenn die betreffenden Sachposten gar keine Dimensionen zugeordnet haben, dann müsste das Feld "Dimension Set ID" (Feld 480) in den Posten den Wert 0 (Null) haben.
Eventuell kannst du dies als Filterbedingung in deinem Kontenschemata verwenden.

Re: Kontenschemata - Auswertungen von Sachkonten ohne Dimens

13. Februar 2020 17:03

Hallo Ihr beiden,

vielen Dank für eure Mühe und die Antworten.

@ Jörg: Die Diemension 0 (NULL) lässt sich leider nicht im Kontenschema auswerten.

@ enh: Die Lösung über OP Plus klingt sehr interessant. Nachdem bei uns der gleiche Sachverhalt vorliegt - diese Buchungen gehen gegen eine allgemeine Kostenstelle - werde ich mir das mal anschauen ob ich das hinbekomme. Das klingt zumindest so schwer nicht. :-D

Liebe Grüße
Michael

Re: Kontenschemata - Auswertungen von Sachkonten ohne Dimens

13. Februar 2020 19:22

Die Funktion könnte in etwa so aussehen (hier wird Global. Dim 1 KOSTENTRÄGER nachgetragen):

Code:
WITH GLEntryL DO
BEGIN
  SETCURRENTKEY("G/L Account No.","Global Dimension 1 Code","Global Dimension 2 Code","Posting Date");
  SETRANGE("G/L Account No.",'400000','899999');  // Filter auf Konto-Nr., man könnte auch über das Sachkonto kommen und dort auf GuV filtern, hier war das nötig da noch andere Funktionen ablaufen, die ich hier im Code Beispiel aber rausgelöscht habe...
  SETFILTER("Global Dimension 1 Code",'%1','');
  IF FINDSET THEN
  REPEAT
    CASE "G/L Account No." OF
      '411111','411112' : // Skontoertrag und Skontoaufwand
        BEGIN
          Kostenträger := 'XXXX';
          IF DimensionValueL.GET('KOSTENTRÄGER',Kostenträger) THEN
          BEGIN
            DimSetID := GLEntryL."Dimension Set ID";
            TempDimSetEntry.RESET;
            DimMgt.GetDimensionSet(TempDimSetEntry,DimSetID);
            TempDimSetEntry."Dimension Set ID" := DimSetID;
            TempDimSetEntry."Dimension Code" := 'KOSTENTRÄGER';
            TempDimSetEntry.VALIDATE("Dimension Value Code",Kostenträger);
            IF NOT TempDimSetEntry.INSERT THEN;
            GLEntryL2.GET(GLEntryL."Entry No.");
            GLEntryL2."Dimension Set ID" := DimMgt.GetDimensionSetID(TempDimSetEntry);
            DimMgt.UpdateGlobalDimFromDimSetID(GLEntryL2."Dimension Set ID",GLEntryL2."Global Dimension 1 Code",GLEntryL2."Global Dimension 2 Code");
            GLEntryL2.MODIFY;
          END;
        END;
      '811111','811112' : // Währungsgewinn/-verlust
        BEGIN
          Kostenträger := 'YYYY';
          IF DimensionValueL.GET('KOSTENTRÄGER',Kostenträger) THEN
          BEGIN
            DimSetID := GLEntryL."Dimension Set ID";
            TempDimSetEntry.RESET;
            DimMgt.GetDimensionSet(TempDimSetEntry,DimSetID);
            TempDimSetEntry."Dimension Set ID" := DimSetID;
            TempDimSetEntry."Dimension Code" := 'KOSTENTRÄGER';
            TempDimSetEntry.VALIDATE("Dimension Value Code",Kostenträger);
            IF NOT TempDimSetEntry.INSERT THEN;
            GLEntryL2.GET(GLEntryL."Entry No.");
            GLEntryL2."Dimension Set ID" := DimMgt.GetDimensionSetID(TempDimSetEntry);
            DimMgt.UpdateGlobalDimFromDimSetID(GLEntryL2."Dimension Set ID",GLEntryL2."Global Dimension 1 Code",GLEntryL2."Global Dimension 2 Code");
            GLEntryL2.MODIFY;
          END;
        END;
    END;
  UNTIL NEXT = 0;
END;



JRenz hat geschrieben:Hallo Michael,
wenn die betreffenden Sachposten gar keine Dimensionen zugeordnet haben, dann müsste das Feld "Dimension Set ID" (Feld 480) in den Posten den Wert 0 (Null) haben.
Eventuell kannst du dies als Filterbedingung in deinem Kontenschemata verwenden.

So einfach wäre es nur wenn es nur eine Dimension im Mandant gäbe...