[Gelöst][RTC] ERROR bei ROUND(0)

8. November 2013 18:07

Hallo zusammen,
kann mir jemand erklären warum die Zeile:
Code:
MESSAGE('%1',ROUND(0));

im CC mit dem Rückgabewert 0 beendet wird und RTC folgenden Fehler wirft:
Der angegebene Wert ist ungültig.

Es geht darum, dass in der CU 90 Einkaufsbestellungen gebucht werden, wo aber auf einer Zeile die Menge auf 0 gesetzt wurde... und hier steigt der RTC leider aus, was im CC früher mal möglich war.


NAV-Version: NAV 2009 SP1
Zuletzt geändert von f.ritz am 14. November 2013 14:54, insgesamt 1-mal geändert.

Re: [RTC] ERROR bei ROUND(0)

8. November 2013 18:39

ist vll ein Fehler in NAV 2009
unter NAV 2009 R2 klappt es

Re: [RTC] ERROR bei ROUND(0)

12. November 2013 17:42

Hallo!

Ich habe, zum Testen, die Datenbankkopie in R2 konvertiert - leider der selbe Fehler.

Die ROUND-Funktion ermittelt die Dezimalstellen ja wie folgt:
1. Nimmt das was als Parameter fest mitgegeben wird(z.B.: ROUND(0,0.01))
2. Oder was in der Tabelle "Finanzbuchhaltung Einrichtung" (Feld "Betragsrundung Präzision") hinterlegt ist(über die Codeunit 1).
3. Wenn die Codeunit 1 den Wert nicht ermittelt kann(durch die Anpassung der Codeunit oder das Feld ist auf 0 gesetzt), wird die "Standard-Präzision" von 2 Nachkommastellen verwendet.

In meinem Fall sollte bei Aufruf von ROUND(0) automatisch die 2-Nachkommastellen(0.01) verwendet werden - das funktioniert im CC ganz gut, aber nicht im RTC. :cry:


@ sweikelt: Mich würde interessieren welcher Wert bei dir in der "Finanzbuchhaltung Einrichtung" Feld "Betragsrundung Präzision" hinterlegt?

Re: [RTC] ERROR bei ROUND(0)

14. November 2013 14:54

Falls es jemanden interessiert, habe ich mein Problem wie folgt gelöst:

Da bei ROUND([Dezimalwert]) ohne Angabe der Rundungspräzision die Codeunit 1 angesprochen wird und in der Buchungseinrichtung kein Wert angeben ist, wird vom System automatisch auf 2 Nachkommstellen gerundet. Und weil dieses Verfahren, in 2009 SP1 RTC bzw. Web-Service, zum Problemen führt, habe ich die Rundungsfunktion in der Codeunit 1 angepasst indem diese jetzt Fest 0.01 zurück liefert, also "IF ISSERVICETIER THEN EXIT(0.01)...."

Re: [Gelöst][RTC] ERROR bei ROUND(0)

14. November 2013 15:22

Du meinst sicherlich die Readrounding Funktion: (Link)

Hast du dir die regionalen Spracheinstellungen und dort bei "Anzahl der Nachkommastellen" auf dem PC schon nachgeschaut?
Anpassungen in Codeunit 1 sind immer so eine Sache.

mfg,
winfy

Re: [Gelöst][RTC] ERROR bei ROUND(0)

14. November 2013 15:25

winfy hat geschrieben:Hast du mal die regionalen Spracheinstellungen auf dem PC angesehen?


Kannst du mir ein Tip geben wo ich da anfangen soll? In Registry suchen?

Re: [Gelöst][RTC] ERROR bei ROUND(0)

14. November 2013 15:27

Je nachdem welches Betriebssystem:

Start->Einstellungen->Systemsteuerungen->Regions- und Sprachoptionen->Anpassen

mfg,
winfy

Re: [Gelöst][RTC] ERROR bei ROUND(0)

14. November 2013 15:41

Ok.. Anzahl der Dezimalstellen in Regionaleinstellungen ist 2.
Und jetzt?

Re: [Gelöst][RTC] ERROR bei ROUND(0)

14. November 2013 16:01

Hmm, ist die Spracheinstellung im CC zum RTC unterschiedlich?

mfg,
winfy

Re: [Gelöst][RTC] ERROR bei ROUND(0)

14. November 2013 16:05

winfy hat geschrieben:Hmm, ist die Spracheinstellung im CC zum RTC unterschiedlich?


Nein

Re: [Gelöst][RTC] ERROR bei ROUND(0)

14. November 2013 17:39

Wird hier beschrieben, war wohl ein Bug (Hotfix verfügbar): (Link)

mfg,
winfy