Eigenschaft & Klasse

Aus Asprova Hilfe
Wechseln zu: Navigation, Suche
Hilfe Nummer: 741560
Interne Funktionen
Formeleditor

Interne Funktionen, die auf Eigenschaften angewendet werden können.

Gültigkeit

Exist(), FValid() und PropCount() ähneln sich, sie unterscheiden sich wie folgt:

Exist()
Gibt zurück ob Eigenschaftswert gesetzt ist; es kann bestimmt werden, ob deren [Standardwert] berücksichtigt wird.
FValid()
Gibt zurück ob Eigenschaftswert oder deren [Standardwert] gesetzt ist.
PropCount()
Gibt die Anzahl der Eigenschaftswerte zurück ohne den [Standardwert] zu zählen.

Die Geschwindigkeit der Auswertung dieser drei Funktionen unterscheidet sich kaum.

Exist( prop )

Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: Exist( prop, checkDefaultValue )

Variante 1 Variante 2
Parameter prop Eigenschaft des Objekts prop Eigenschaft des Objekts
checkDefaultValue [Standardwert] berücksichtigen
Rückgabewert Gibt TRUE zurück, wenn prop einen Wert enthält oder deren [Standardwert] gesetzt ist. Gibt TRUE zurück, wenn prop einen Wert enthält.
Beispiel Exist(ME.RightOrder) TRUE Exist(ME.PeggingConditionExpr,TRUE) FALSE
ME ist hier ein Auftrag. ME ist hier ein Artikel, dessen [Verknüpfungsbedingung] nicht gesetzt ist.
Bemerkungen Verhalten ist gleich dem bei checkDefaultValue FALSE.
  • Bei checkDefaultValue TRUE enspricht das Verhalten dem von FValid(prop).
  • Bei checkDefaultValue FALSE enspricht das Verhalten dem von PropCount(prop)>0.

ExistIF( objects, condition )

Parameter objects Klasse oder Objektliste
condition Bedingung, TARGET-Variablen können genutzt werden.
Rückgabewert Gibt TRUE zurück, wenn mindestens eins der Objekte in objects die condition erfüllt..
Beispiel ExistIF(ME.Order.RightmostOrder,TARGET.Qty>=100) TRUE
ME ist hier ein Auftrag, der mindestens einen Auftrag in [Aufträge ganz rechts] hat, dessen [Menge] mindestens 100 ist].
Funktional entspricht das Beispiel SumIF(ME.Order.RightmostOrder,TARGET.Qty>=100,1)>0, allerdings wird es in der Regel schneller ausgewertet, da die Auswertung beendet wird, sobald ein Objekt die condition erfüllt.
Bemerkungen
  • Ähnelt CheckAllContents_Or(), dort können aber keine TARGET-Variablen genutzt werden.
  • Klassen werden mit ihrem internen Namen, von einfachen Anführungszeichen umschlossen, eingegeben, also etwa 'Order' für die Auftragsklasse.

FValid( prop )

Parameter prop Eigenschaft des Objekts
Rückgabewert TRUE wenn prop einen Wert enthält, sonst FALSE.
Beispiel FValid(ME.Qty) FALSE
ME ist hier ein Auftrag.

PropCount( prop )

Parameter prop Eigenschaft des Objekts
Rückgabewert Gibt die Anzahl der Eigenschaftswerte von prop zurück, der [Standardwert] wird nicht gezählt.
Beispiel ME.Comments 3
ME ist hier ein Auftrag mit drei Einträgen für [Kommentar].

CheckAllContents_And( prop, condition, value )

Parameter prop Eigenschaft des Objekts
condition Vergleichsoperator
value Vergleichswert
Rückgabewert Gibt TRUE zurück, wenn alle Eigenschaftswerte von prop condition und value entsprechen.
Beispiel <code>CheckAllContents_And(ME.Comments,'==','c') FALSE
ME ist hier ein Auftrag mit [Kommentar] "a;b;c;d", es sind also nicht alle Werte gleich "c".

CheckAllContents_Or( prop, condition, value )

Parameter prop Eigenschaft des Objekts
condition Vergleichsoperator
value Vergleichswert
Rückgabewert Gibt TRUE zurück, wenn mindestens ein Eigenschaftswert von prop condition und value entsprechen.
Beispiel <code>CheckAllContents_Or(ME.Comments,'==','c') TRUE
ME ist hier ein Auftrag mit [Kommentar] "a;b;c;d", ein Werte ist also gleich "c".

Objekte

GetObjectName( obj )

Parameter obj Objekt
Rückgabewert Gibt den Objektnamen von obj zurück.
Beispiel GetObjectName(PROJECT) "Beispiel 1"
Wenn [Alias] des Projekts "Beispiel 1" ist.
Bemerkung Es werden [Alias], [Anzeigename] und [Name] (in dieser Reihenfolge) ausgewertet.

DisplayStr( prop )

Parameter prop Objekteigenschaft
Rückgabewert Gibt den Wert zurück, der von der [Anzeigeformel] für prop zurückgegeben würde.
Beispiel DisplayStr(ME.Qty) "50 Stück"
ME ist hier ein Auftrag mit [Menge] und die [Anzeigeformel] von [Menge] INPUT+' Stück' ist.

GetEnumName( prop )

Parameter prop Aufzählungseigenschaft
Rückgabewert Gibt den Namen des Eigenschafswerts von prop zurück.
Beispiel GetEnumName(ME.Status) "Freigegeben"
ME ist hier ein Vorgang mit [Status] "I".

ExpressionStr( prop, 0 )

Parameter prop Eigenschaft deren Formel bezogen wird
Wird nicht genutzt
Rückgabewert Gibt den Formelstring von prop zurück.
Beispiel Find(ExpressionStr(ME.VirtualPropertyExpression,0),'Format')
Filtert die Eigenschaftsdefinitionstabelle auf Einträge, deren [Virtuelle Eigenschaftsformel] "Format" enthält.

SetProps( objectList, expr )

Parameter objectList Objektliste deren Eigenschaften gesetzt werden sollen
expr Eigenschaftszuweisungsformel
Rückgabewert Setzt anhand von expr Eigenschaften der Objekte in objectList.
Beispiel SetProps(ME.LeftRecursiveOrder,TARGET.LET=ME.LET)
ME ist hier ein Auftrag, für den für alle Aufträge in [Übergeordnete Aufträge (rekursiv)] der [Fälligkeitstermin] auf den von ME gesetzt.

SetPropsIF( objectList, conditionExpr, expr )

Parameter objectList Objektliste deren Eigenschaften gesetzt werden sollen
conditionExpr Filterformel
expr Eigenschaftszuweisungsformel
Rückgabewert Setzt anhand von expr Eigenschaften der Objekte in objectList, die conditionExpr erfüllen.
Beispiel
SetPropsIF(ME.LeftRecursiveOrder,
     ME.IsReplenishmentOrder=='1'
     && ME.LET<TARGET.LET,
     TARGET.LET=ME.LET
)
ME ist hier ein Auftrag, für den für alle Aufträge in [Übergeordnete Aufträge (rekursiv)] der [Fälligkeitstermin] auf den [Fälligkeitstermin] von ME gesetzt wird, falls deren [Fälligkeitstermin] später als dieser ist.

StrProps( props, delimiter )

Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: StrProps( objectList, expr, delimiter )

Variante 1 Variante 2
Parameter props Zieleigenschaft (Array) objectList Objektliste
delimiter Trennzeichen expr Formel die eine Eigenschaft vorgibt
delimiter Trennzeichen
Rückgabewert Gibt einen String mit den Eigenschaftswerten von props, getrennt mit delimiter, zurück. Gibt einen String mit den Eigenschaftswerten von expr der Objekte in objectList, getrennt mit delimiter, zurück.
Beispiele StrProps(ME.Comments,';') "X;Y;Z" StrProps(ME.Comments[2],';') "Y"
ME ist hier ein Objekt mit [Kommentar] "X;Y;Z".
StrProps(ME.Child,TARGET.Code,';') "A;B;C" StrProps(ME.Child[1],TARGET.Code,';') "A"
ME ist hier ein Objekt, dessen [Untergeordnete Objekte] "A", "B" und "C" sind.

StrPropsIF( objectList, conditionExpr, expr, delimiter )

Parameter objectList Objektliste deren Eigenschaften gesetzt werden sollen
conditionExpr Filterformel
expr Eigenschaftszuweisungsformel
delimiter Trennzeichen
Rückgabewert Gibt einen String mit den Eigenschaftswerten von expr der Objekte in objectList, getrennt mit delimiter, zurück, die conditionExpr entsprechen.
Beispiel StrPropsIF(ME.Child,Len(TARGET.Code,)==4,TARGET.Code,';') "A:10;A:20" "A:110" und "A:120" werden nicht ausgegeben, da sie mehr als vier Zeichen haben.
ME ist hier ein Objekt, dessen [Untergeordnete Objekte] "A:10", "A:20", "A:110" und "A:120" sind.

GetPropertyDef( propertyID )

Die Funktion kann überladen und somit auch mit anderem Parameter genutzt werden: GetPropertyDef( code )

Variante 1 Variante 2
Parameter propertyID Integer, Eigenschafts-ID code Eigenschaftsdefinitionscode
Rückgabewert Eigenschaftsdefinitionsobjekt

GetClassDef( classID )

Die Funktion kann überladen und somit auch mit anderem Parameter genutzt werden: GetPropertyDef( code )

Variante 1 Variante 2
Parameter classID Integer, Klassen-ID code Klassendefinitionscode
Rückgabewert Klassendefinitionsobjekt

Hilfe Nummer: 741560