Eigenschaft & KLasse

Aus Asprova Hilfe
Version vom 9. Januar 2019, 21:10 Uhr von GK (Diskussion | Beiträge) (Überarbeitung und Ergänzung um neue Funktionen)
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()<-code>, dort können aber keine <code>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.

Hilfe Nummer: 741560