CX_ITEM::AccountOwner
Beschreibung:
Mit dieser Funktion wird gesteuert, ob ein Variantenteil - in Bezug auf seine
Unterteile - Besitzer eines
gemeinsamen Kontos ist. Es handelt sich im Regelfall insbesondere um ein
gemeinsames Lager- und/oder Dispokonto.
Zum Beispiel werden bei einem "gemeinsamen Lagerkonto" alle Lagerbuchungen eines
Unterteil eines so gekennzeichneten Variantenteils in das Lagerkonto des
Variantenteils geschrieben. Das ist z.B. dann der Fall wenn etwa die "Farbe"
eines Variantenteils als Sachmerkmal vorhanden ist, die Menge am Lager aber
bzgl. der Farbe der Unterteile nicht relevant ist.
Hinterlegt wird diese Information als String (z.B. "CX_STOCK_ACCOUNT") im Slot "accountOwner"
Code-Beispiel:
Ist ein gemeinsames Konto vom übergebenen Typ vorhanden, so wird eine 1 oder TRUE zurückgegeben. Ist dies nicht der Fall, 0 oder FALSE.
Um einen Eintrag aus dieser Collection accountOwner zu löschen, muss die MA Funktion AccountOwnerMA benutzt werden. Diese funktioniert, da sie nur einen String und kein Objekt enthält, auch aus Makros heraus und ohne Widgets.
0 item Put(AccountOwnerMA("CX_DISPO_ACCOUNT"))
So wird dann der Eintrag CX_DISPO_ACCOUNT aus der Collection entfernt.
Spricht man mit ForceMonitor("CX_DISPO_ACCOUNT") ein Unterteil an,
welches ein Variantenteil mit gemeinsamem Dispokonto hat, so erkennt die
Funktion automatisch, ob das übergeordnete Variantenteil ein gemeinsames Konto
besitzt. Ist der Eintrag "CX_DISPO_ACCOUNT" in der Collection
accountOwner des Variantenteils vorhanden, gibt die Funktion das Dispokonto des
Variantenteils zurück und legt kein neues Dispokonto für das Unterteil
an.
Sollen nun Unterteile doch wieder eigene Dispokonten bekommen, ist der
Eintrag "CX_DISPO_ACCOUNT" in der Collection accountOwner des Variantenteils zu entfernen (wie oben beschrieben) und auf dem Unterteil ForceMonitor("CX_DISPO_ACCOUNT") aufzurufen. Nun wird ein neues Dispokonto für das Unterteil erstellt.
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_ITEM | Eine Sache |
Top-1 | STRING | Klasse des Kontos (z.B. "CX_DISPO_ACCOUNT") | |
Stack(Out) | Top | INTEGER | TRUE oder FALSE |
Funktionsaufruf: Call(AccountOwner)