[GELÖST] Wert aus erster Auftrags-Zeile in Auftragskopf einf

29. Juni 2018 09:35

Hallo,

ich bin verzweifelt am versuchen einen simplen Wert aus der ersten Verkaufszeile in den Verkaufskopf zu übertragen.
Ich möchte sobald ich in der Verkaufszeile einen Wert in ein bestimmtes Feld eintrage, dass beim Verlassen des Feldes dieser Wert
im Auftragskopf unter Fakturierung im Feld "Shortcut Dimension 2 Code" automatisch eingetragen wird.

Dachte es wäre simpel mit folgender Codezeile machbar:

Onvalidate()-Trigger:
MESSAGE := ('Der Kommissionscode wurde im Auftragskopf angepasst.');
SalesHeader."Shortcut Dimension 2 Code" := "Shortcut Dimension 2 Code";

Navision zeigt mir beim Compilieren keine Fehlermeldung, er bringt die Message aber setzt keinen Wert.

Ich habe doch bestimmt etwas vergessen oder? Wer kann mir helfen?

Danke und Gruß

NavBeginner
Zuletzt geändert von NavBeginner am 29. Juni 2018 13:17, insgesamt 1-mal geändert.

Re: Wert aus erster Auftrags-Zeile in Auftragskopf einfügen

29. Juni 2018 10:32

NavBeginner hat geschrieben:Onvalidate()-Trigger:
MESSAGE := ('Der Kommissionscode wurde im Auftragskopf angepasst.');
SalesHeader."Shortcut Dimension 2 Code" := "Shortcut Dimension 2 Code";

Wo ist das vorherige SalesHeader.GET(...)?
Setzt du bewusst den Wert "hart" rein, anstelle ihn zu validieren?
Wo ist das anschließende SalesHeader.MODIFY?

Re: Wert aus erster Auftrags-Zeile in Auftragskopf einfügen

29. Juni 2018 11:24

Hallo,

Wo ist das vorherige SalesHeader.GET(...)?
Setzt du bewusst den Wert "hart" rein, anstelle ihn zu validieren?
Wo ist das anschließende SalesHeader.MODIFY?


damit solltest du sehr vorsichtig sein.
Der SalesHeader kann temporär benutzt werden, weil er mit SalesLine.SetsalesHeader gesetzt wurde (Montageaufträge und CU80 tun das). Deshalb in der SalesLine immer Rec.GetSalesHeader benutzen, um den gültigen Salesheader zu bekommen.
Ob du jetzt einen MODIFY machen darfst, hängt auch davon ab, von wo du kommst, und ob der SalesHeader temprär ist. Beim Verkaufsauftrag dürfte das so eher nicht funktionieren, weil du dem SalesHeader der Page die Daten wegnimmst.

Wahrscheinlich musst du in diesem Fall das Update im Onvalidate- Trigger der Page mit zunächst einem SAVERECORD machen und hinterher ein CurrPage.Update(FALSE) durchführen.

Ansonsten gilt natürlich das von Natalie gesagte: ohne GET,VALIDATE und MODIFY wird da nicht viel funktionieren.

Gruß Fiddi

Re: Wert aus erster Auftrags-Zeile in Auftragskopf einfügen

29. Juni 2018 13:17

Ups...ja da hab ich wohl die wichtigen Zeilen vergessen.
Mit eurer Hilfe hat es aber nun funkioniert.

Vielen Dank