[Gelöst] Wechselkurs

21. Oktober 2011 10:12

Hallo,
Ich versuche gerade in einem Report der auf „Purchase Line“ geht den Wechselkurs zu holen.
Habe eine Variable „Währung“ mit Record auf Tabelle „Currency Exchange Rate“ erstellt
So ungefähr habe ich das probiert:

Code:
Währung.RESET;
Währung.SETCURRENTKEY("Currency Code");
Währung.SETFILTER("Currency Code", Währung."Currency Code");
IF Währung.FIND('-') THEN
REPEAT
WechselKurs := Währung."Exchange Rate Amount" ;
UNTIL Währung.NEXT =0;


Ich krieg da ein Wechselkurs raus aber nicht den richtigen, da müsste man noch Bestelldatum mit dem Startdatum vom Wechselkurs vergleichen und da bräuchte ich Hilfe….

Danke imVoraus
Zuletzt geändert von ivan am 21. Oktober 2011 13:56, insgesamt 1-mal geändert.

Re: Wechselkurs

21. Oktober 2011 10:54

Hallo ivan,

ich würde es mit folgender Anweisung versuchen, da die Tabelle nach aufsteigend nach der Währung und dann dem Datum sortiert werden dürfte.

Gedanke dabei ist: Der Wechselkurs kann nicht später begonnen haben, als das Bestelldatum ist.
Aus diesem Grund muss der gültige Wechselkurs bei Aufsteigender Sortierung der letzte sein, deshalb FINDLAST.

Benutzt du die NAV-Datenbank oder den SQL-Server?
Bei SQL-Server wäre nämlich Findlast zu bevorzugen.

Code:
Währung.RESET;
Währung.SETCURRENTKEY("Currency Code");
Währung.SETFILTER("Currency Code", Währung."Currency Code");
Währung.SETFILTER("Starting Date", '<=%1', "Order Date");
IF Währung.FINDLAST THEN
WechselKurs := Währung."Exchange Rate Amount" ;


Vielleicht konnte ich dir etwas weiterhelfen.

Re: Wechselkurs

21. Oktober 2011 11:04

Hallo Ivan,

im Feld "Währungsfaktor" findet man auch den Wechselkurs im zugehörigen EinkaufsKopf.
In der Feldbeschreibung steht zwar intern verwendet, aber offensichtlich ist das der gezogene Wechselkurs.

mfg,
winfy

Re: Wechselkurs

21. Oktober 2011 13:32

Code:
Währung.RESET;
Währung.SETCURRENTKEY("Currency Code");
Währung.SETFILTER("Currency Code", PurchLine."Currency Code"); // hier der Currency Code der Einkaufszeile
Währung.SETFILTER("Starting Date", '<=%1', "Order Date");
IF Währung.FINDLAST THEN
  WechselKurs := Währung."Exchange Rate Amount";


Wenn, dann so ;)
Immerhin willst du ja die Währung aus der Einkaufszeile. Du musst auch sicherstellen, was passiert wenn kein Wechselkurs gefunden werden konnte (Beispiel: ist die Variable WechselKurs zurückgesetzt?).

Re: Wechselkurs

21. Oktober 2011 13:46

stimmt, du hast Recht, danke.
Das kommt von Copy und Paste :oops:

Re: Wechselkurs

21. Oktober 2011 13:56

Danke an alle, ich habs jetzt ...

Re: [Gelöst] Wechselkurs

21. Oktober 2011 14:20

Die Variante funktioniert aber nur dann wenn keiner Wechselkurse ändert oder zu vorherigen Startdatum rückwirkend einfügt oder manipuliert.

Was spricht dagegen den Einkaufskopf zu nehmen (und da ist er ja auch hinterlegt)?
Für die Wechselkurse wird doch ohnehin nur das Bestelldatum aus dem Einkaufskopf genommen, oder?

mfg,
winfy