CX_OBJECT_MANAGER::CopyPersObject
Beschreibung:
Diese Klassenfunktion verhält sich wie der gleichnamige InstantView®-Befehl. Zusätzlich können Datenfelder von der Übernahme in das kopierte Objekt ausgeschlossen werden.
Um das gleiche (Standard-)Verhalten wie von CopyPersObject (ohne Parameter) zu erreichen, müssen für Modus und Pattern die Standardwerte übergeben werden: 0 für den Modus sowie -1 für Pattern.
Code-Beispiele:
Beispiel 1:
Var(original, copiedObject, excludeList) [ "firstName", "sexEnum", "current.comment" ] -> excludeList "name = \"Krause\"" FindFirst(CX_PERSON) -> original original 0 /*= mode */ 1 /*= pattern */ excludeList GetManager(OBJECT) Call(CopyPersObject) -> copiedObject
Beispiel 2:
Var(original, copiedObject, excludeList, masterObject) [ "denominator" ] -> excludeList CreateTransObject(CX_VALUE_PER) -> original, "23,4$ / 11,5g" original Put original 0 /*= mode */ 0 /*= pattern */ excludeList GetManager(OBJECT) Call(CopyPersObject) -> copiedObject // a lazy creator copiedObject masterObject SetReference(pricePointer)
Hier wird die Exclude-Liste vom Lazy Creator aufbewahrt! Das kopierte Objekt hat den Wert 23,4$ / 1Stück.
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_OBJECT_MANAGER | |
Top-1 | VECTOR |
Vektor von Feldnamen | |
Top-2 | INTEGER | pattern | |
Top-3 | INTEGER | mode | |
Top-4 | OBJECT | Objekt | |
Stack(Out) | Top | OBJECT | eine persistente Kopie des Objekts |