Dimension automatisch setzen bei Beleganlage

4. April 2013 11:12

Hallo Zusammen,

ich möchte gerne bei anlage eines Auftrages den "Shortcut Dimension 1 Code" automatisch setzen lassen anhand des Usercodes.

Setze ich den folgenden Code in den OnValidate() vom Sell-To Customer No.

Code:
    "Shortcut Dimension 1 Code" := USERID; //Benutzer ID bei Auftragserstellung als Dimension
    ValidateShortcutDimCode(1,"Shortcut Dimension 1 Code");


So wird die Dimension einwandfrei in die Dimensionstabelle übernommen, wenn mit F3 ein neuer Beleg erstellt wird und im Anschluß der Debitor ausgewählt wird. Gehe ich jedoch über den Debitor (VERKAUF/ANGEBOTE...AUFTRÄGE...) dann erhalte ich den Fehler, dass der Verkaufskopf noch nicht existiert.

Hat jemand eine Idee, wo ich den Code besser platziere oder gar in OnInsert, so dass die Dimension ganz am Anfang gestezt wird?

Lieben Gruß

Philipp

Re: Dimension automatisch setzen bei Beleganlage

4. April 2013 14:08

Bevor du die Globale Dimension mit der Userid füllen kannst, muss die Userid als Dimensionswert zum Globalen Dimensionscode angelegt sein.
Das kannst du per Code oder manuell machen.

Im Normalfall wird die Global Dimension 1 aber mit z.B. der Kostenstelle gefüllt.

In welchem Trigger du das machst hängt davon ab, was du bewirken möchtest.
Bei On insert wird im Auftrag derjenige hinterlegt, der den Debitor erfasst hat, bei On modify der, der als letztes den Debitor geändert hat.

Re: Dimension automatisch setzen bei Beleganlage

4. April 2013 14:21

Hallo,

die USERID habe ich als Dimension angelegt. Läuft wie gesagt in Sell-To Customer OnValidate auch wunderbar. Nur im OnInsert oder eben, wenn über den Debitor ein Beleg erstellt wird, dann scheint es mir, als ob die Belegnummer noch nicht existiert und somit in der Dimensionstabelle die Verknüpfung noch nicht eingetragen werden kann.

Das ist mein Problem.

Lieben Gruß

Philipp