Lade...
 

CX_ITEM::AccountOwner

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"

vom Typ COLLECTION.

Code-Beispiel:
item Copy(AccountOwner("CX_DISPO_ACCOUNT")) ifnot return

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
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)