Automatisches setzen eines dynamischen Auswahlfeldes
Ich habe eine Tabelle Quittungen mit einem dynamischen Auswahlfeld auf die Währungs-Tabelle aus der dann über die entsprechende Währung der Umrechnungsfaktor für den Quittungs-Betrag in Euro gezogen wird. Das funktioniert alles bestens.
In dem Bild 1 sieht man, dass in dem Fall der Rumänische Leu gesetzt ist mit dem Faktor 0,2.
Aus der Quittung wird dann, nach Prüfung der Quittung im Büro, automatisch der Beleg für die Buchhaltung erzeugt. Siehe nachstehender Code. Die Frage bezieht sich auf die beiden in Fett gedruckten Zeilen:
if 'Buchungsbeleg ist erzeugt' = 1 then
alert("Die Buchung wurde schon erzeugt")
else
let Me := this.Nr;
let VProjektNr := number(this.Projektzuweisung.PNr);
let VMitarbeiterNr := number(this.Projektzuweisung.MNr);
let VPartnerNr := record(Projekte,VProjektNr).Partner;
let VDatum := this.Datum;
let VQNr := number('Quittungs-Typ');
let VBelegtext := record('Quittungs-Typ',VQNr).Deutsch + " - " + Bemerkung;
let VWaehrung := this.'Währung';
let VFaktor := this.Umrechnungsfaktor;
let VBetragQuittung := 'Betrag - Quittung';
let VBetrag := 'Betrag in €';
let VKostenkonto := this.Kostenkonto;
let VJahr := number(year(this.Datum));
let VKontoSoll := first((select Konten where Konto = VKostenkonto and Jahr = VJahr).Nr);
let VKontoHaben := first((select Konten where Konto = "1200" and Jahr = VJahr).Nr);
do as server
let NewRecord := (create Belege);
NewRecord.('Unternehmen auswählen' := 1);
NewRecord.('Mitarbeiter/Lieferant' := VMitarbeiterNr);
NewRecord.(Datum := VDatum);
NewRecord.(Partner := VPartnerNr);
NewRecord.(Projekt := VProjektNr);
NewRecord.(Status := 2);
NewRecord.(Text := VBelegtext);
NewRecord.('Währung' := VWaehrung);
NewRecord.(Quittungsbetrag := VBetragQuittung);
NewRecord.(Umrechnungsfaktor := VFaktor);
NewRecord.(Betrag := VBetrag);
NewRecord.('Konto Soll' := VKontoSoll);
NewRecord.('Konto Haben' := VKontoHaben);
NewRecord.(Quittung := Me)
end;
Freigegeben := 1;
'Buchungsbeleg ist erzeugt' := 1
end
Nach dem automatischen Erzeugen des Belegs sind dort alle Werte richtig übernommen, mit einer Ausnahme. Im dynamischen Auswahlfeld "Währung" des Belegs wird EURO als Währung angezeigt. Dies ist der Datensatz mit Nr = 1 in der Währungstabelle. Ich habe schon mit einem alert(VWaehrung) getestet, dass der richtige Wert aus der Quittung in der Variablen ist.
Selbst wenn ich NewRecord.('Währung' := VWaehrung); manuell in NewRecord.('Währung' := 2); setze, das ist der Nr Wert, wird weiter der EURO im neu erstellten Beleg angezeigt.
Hat jemand eine Idee, was ich hier ändern kann, damit es funktioniert???
2 Antworten
-
Hallo Bernd, versuch es mal mit number():
let VWaehrung := this.number('Währung');
Content aside
- vor 7 MonatenZuletzt aktiv
- 2Antworten
- 91Ansichten
-
2
Folge bereits