Eigenschaft: Unterschied zwischen den Versionen
Aus Asprova Hilfe
JF (Diskussion | Beiträge) |
GK (Diskussion | Beiträge) (Überarbeitung und Ergänzung um neue Funktionen) |
||
| Zeile 1: | Zeile 1: | ||
| − | {{DISPLAYTITLE:Eigenschaft}} | + | {{DISPLAYTITLE:Eigenschaft & KLasse}} |
<div align="right">Hilfe Nummer: 741560</div> | <div align="right">Hilfe Nummer: 741560</div> | ||
| − | <div align="right">[[ | + | <div align="right">[[Interne Funktionen]]</div> |
| − | <div align="right">[[Formeleditor | + | <div align="right">[[Formeleditor]]</div> |
<hr> | <hr> | ||
| + | |||
Interne Funktionen, die auf Eigenschaften angewendet werden können. | Interne Funktionen, die auf Eigenschaften angewendet werden können. | ||
| − | {| class="wikitable" | + | == Gültigkeit == |
| − | | | + | <code>Exist()</code>, <code>FValid()</code> und <code>PropCount()</code> ähneln sich, sie unterscheiden sich wie folgt: |
| − | ! | + | ; <code>Exist()</code> |
| − | |width=" | + | : Gibt zurück ob Eigenschaftswert gesetzt ist; es kann bestimmt werden, ob deren [Standardwert] berücksichtigt wird. |
| + | ; <code>FValid()</code> | ||
| + | : Gibt zurück ob Eigenschaftswert oder deren [Standardwert] gesetzt ist. | ||
| + | ; <code>PropCount()</code> | ||
| + | : 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 )''' | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | | | ||
| + | !colspan="2"|Variante 1!!colspan="2"|Variante 2 | ||
| + | |- | ||
| + | !rowspan="2"|Parameter | ||
| + | |width="1px"|''prop''||Eigenschaft des Objekts||width="1px"|''prop''||Eigenschaft des Objekts | ||
| + | |- | ||
| + | |colspan="2"| ||''checkDefaultValue''||[Standardwert] berücksichtigen | ||
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|Gibt TRUE zurück, wenn ''prop'' einen Wert enthält oder deren [Standardwert] gesetzt ist.||colspan="2"|Gibt TRUE zurück, wenn ''prop'' einen Wert enthält. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | |colspan="2"|<code> | + | |<code>Exist(ME.RightOrder)</code>||TRUE|||<code>Exist(ME.PeggingConditionExpr,TRUE)</code>||FALSE |
| + | |- | ||
| + | |colspan="2"|<code>ME</code> ist hier ein Auftrag.||colspan="2"|<code>ME</code> ist hier ein Artikel, dessen [Verknüpfungsbedingung] nicht gesetzt ist. | ||
|- | |- | ||
| − | |colspan="2"| | + | !Bemerkungen |
| + | |colspan="2"|Verhalten ist gleich dem bei ''checkDefaultValue'' FALSE.||colspan="2"| | ||
| + | * Bei ''checkDefaultValue'' TRUE enspricht das Verhalten dem von <code>FValid(prop)</code>. | ||
| + | * Bei ''checkDefaultValue'' FALSE enspricht das Verhalten dem von <code>PropCount(prop)>0</code>. | ||
|- | |- | ||
|} | |} | ||
| − | {| class="wikitable | + | === ExistIF( objects, condition ) === |
| − | | | + | {| class="wikitable" |
| − | ! | + | |- |
| − | |width=" | + | !rowspan="2"|Parameter |
| + | |width="1px"|''objects''||Klasse oder Objektliste | ||
| + | |- | ||
| + | |''condition''||Bedingung, <code>TARGET</code>-Variablen können genutzt werden. | ||
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|Gibt TRUE zurück, wenn mindestens eins der Objekte in ''objects'' die ''condition'' erfüllt.. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | + | |<code>ExistIF(ME.Order.RightmostOrder,TARGET.Qty>=100)</code>||TRUE | |
|- | |- | ||
| − | |colspan="2"| | + | |colspan="2"|<code>ME</code> ist hier ein Auftrag, der mindestens einen Auftrag in [Aufträge ganz rechts] hat, dessen [Menge] mindestens 100 ist].<br>Funktional entspricht das Beispiel <code>SumIF(ME.Order.RightmostOrder,TARGET.Qty>=100,1)>0</code>, allerdings wird es in der Regel schneller ausgewertet, da die Auswertung beendet wird, sobald ein Objekt die ''condition'' erfüllt. |
| + | |- | ||
| + | !Bemerkungen | ||
| + | |colspan="2"| | ||
| + | * Ähnelt <code>CheckAllContents_Or()<-code>, dort können aber keine <code>TARGET</code>-Variablen genutzt werden. | ||
| + | * Klassen werden mit ihrem internen Namen, von einfachen Anführungszeichen umschlossen, eingegeben, also etwa 'Order' für die Auftragsklasse. | ||
|- | |- | ||
|} | |} | ||
| − | {| class="wikitable" width=" | + | === FValid( prop ) === |
| − | | | + | {| class="wikitable" |
| + | |- | ||
| + | !Parameter | ||
| + | |width="1px"|''prop''||Eigenschaft des Objekts | ||
|- | |- | ||
| − | !rowspan=" | + | !Rückgabewert |
| − | |width=" | + | |colspan="2"|TRUE wenn ''prop'' einen Wert enthält, sonst FALSE. |
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |<code>FValid(ME.Qty)</code>||FALSE | ||
| + | |- | ||
| + | |colspan="2"|<code>ME</code> ist hier ein Auftrag. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === PropCount( prop ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !Parameter | ||
| + | |width="1px"|''prop''||Eigenschaft des Objekts | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Gibt die Anzahl der Eigenschaftswerte von ''prop'' zurück, der [Standardwert] wird nicht gezählt. | ||
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |<code>ME.Comments</code>||3 | ||
| + | |- | ||
| + | |colspan="2"|<code>ME</code> ist hier ein Auftrag mit drei Einträgen für [Kommentar]. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === CheckAllContents_And( prop, condition, value ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !rowspan="3"|Parameter | ||
| + | |width="1px"|''prop''||Eigenschaft des Objekts | ||
|- | |- | ||
|''condition''||Vergleichsoperator | |''condition''||Vergleichsoperator | ||
|- | |- | ||
| − | |''value''|| | + | |''value''||Vergleichswert |
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|Gibt TRUE zurück, wenn alle Eigenschaftswerte von ''prop'' ''condition'' und ''value'' entsprechen. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | | | + | |<code><code>CheckAllContents_And(ME.Comments,'==','c')</code>||FALSE |
|- | |- | ||
| − | |colspan="2"|[Kommentar] | + | |colspan="2"|<code>ME</code> ist hier ein Auftrag mit [Kommentar] "a;b;c;d", es sind also nicht alle Werte gleich "c". |
|- | |- | ||
| − | |} | + | |} |
| − | + | === CheckAllContents_Or( prop, condition, value ) === | |
| − | + | {| class="wikitable" | |
|- | |- | ||
| − | !rowspan="3 | + | !rowspan="3"|Parameter |
| − | |width=" | + | |width="1px"|''prop''||Eigenschaft des Objekts |
|- | |- | ||
|''condition''||Vergleichsoperator | |''condition''||Vergleichsoperator | ||
|- | |- | ||
| − | |''value''|| | + | |''value''||Vergleichswert |
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Gibt TRUE zurück, wenn mindestens ein Eigenschaftswert von ''prop'' ''condition'' und ''value'' entsprechen. | ||
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |<code><code>CheckAllContents_Or(ME.Comments,'==','c')</code>||TRUE | ||
| + | |- | ||
| + | |colspan="2"|<code>ME</code> ist hier ein Auftrag mit [Kommentar] "a;b;c;d", ein Werte ist also gleich "c". | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | == Objekte == | ||
| + | === GetObjectName( obj ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !Parameter | ||
| + | |width="1px"|''obj''||Objekt | ||
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|Gibt den Objektnamen von ''obj'' zurück. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | + | |<code>GetObjectName(PROJECT)</code>||"Beispiel 1" | |
|- | |- | ||
| − | |colspan="2"|[ | + | |colspan="2"|Wenn [Alias] des Projekts "Beispiel 1" ist. |
|- | |- | ||
| − | |} | + | !Bemerkung |
| + | |colspan="2"|Es werden [Alias], [Anzeigename] und [Name] (in dieser Reihenfolge) ausgewertet. | ||
| + | |} | ||
| − | {| class="wikitable | + | === DisplayStr( prop ) === |
| − | | | + | {| class="wikitable" |
| − | ! | + | |- |
| − | |width=" | + | !Parameter |
| + | |width="1px"|''prop''||Objekteigenschaft | ||
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|Gibt den Wert zurück, der von der [Anzeigeformel] für ''prop'' zurückgegeben würde. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | + | |<code>DisplayStr(ME.Qty)</code>||"50 Stück" | |
|- | |- | ||
| − | |colspan="2"| | + | |colspan="2"|<code>ME</code> ist hier ein Auftrag mit [Menge] und die [Anzeigeformel] von [Menge] <code>INPUT+' Stück'</code> ist. |
|- | |- | ||
|} | |} | ||
| − | {| class="wikitable | + | === GetEnumName( prop ) === |
| − | | | + | {| class="wikitable" |
| − | ! | + | |- |
| − | |width=" | + | !Parameter |
| + | |width="1px"|''prop''||Aufzählungseigenschaft | ||
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|Gibt den Namen des Eigenschafswerts von ''prop'' zurück. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | + | |<code>GetEnumName(ME.Status)</code>||"Freigegeben" | |
|- | |- | ||
| − | |colspan="2"|<code>ME</code> ist ein | + | |colspan="2"|<code>ME</code> ist hier ein Vorgang mit [Status] "I". |
|- | |- | ||
|} | |} | ||
| − | {| class="wikitable | + | === ExpressionStr( prop, 0 ) === |
| − | | | + | {| class="wikitable" |
| − | ! | + | |- |
| − | + | !rowspan="2"|Parameter | |
| + | |''prop''||Eigenschaft deren Formel bezogen wird | ||
| + | |- | ||
| + | |''0''|''Wird nicht genutzt'' | ||
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|Gibt den Formelstring von ''prop'' zurück. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | |colspan="2"|<code> | + | |colspan="2"|<code>Find(ExpressionStr(ME.VirtualPropertyExpression,0),'Format')</code> |
|- | |- | ||
| − | |colspan="2"| | + | |colspan="2"|Filtert die Eigenschaftsdefinitionstabelle auf Einträge, deren [Virtuelle Eigenschaftsformel] "Format" enthält. |
|- | |- | ||
|} | |} | ||
| − | {| class="wikitable" | + | === SetProps( objectList, expr ) === |
| − | + | {| class="wikitable" | |
|- | |- | ||
| − | !rowspan="2 | + | !rowspan="2"|Parameter |
| − | + | |''objectList''||Objektliste deren Eigenschaften gesetzt werden sollen | |
|- | |- | ||
| − | |'' | + | |''expr ''||Eigenschaftszuweisungsformel |
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|Setzt anhand von ''expr'' Eigenschaften der Objekte in ''objectList''. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | |colspan="2"|<code> | + | |colspan="2"|<code>SetProps(ME.LeftRecursiveOrder,TARGET.LET=ME.LET)</code> |
| + | |- | ||
| + | |colspan="2"|<code>ME</code> ist hier ein Auftrag, für den für alle Aufträge in [Übergeordnete Aufträge (rekursiv)] der [Fälligkeitstermin] auf den von <code>ME</code> gesetzt. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === SetPropsIF( objectList, conditionExpr, expr ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !rowspan="3"|Parameter | ||
| + | |''objectList''||Objektliste deren Eigenschaften gesetzt werden sollen | ||
| + | |- | ||
| + | |''conditionExpr''||Filterformel | ||
| + | |- | ||
| + | |''expr ''||Eigenschaftszuweisungsformel | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Setzt anhand von ''expr'' Eigenschaften der Objekte in ''objectList'', die ''conditionExpr'' erfüllen. | ||
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |colspan="2"| | ||
| + | SetPropsIF(ME.LeftRecursiveOrder, | ||
| + | ME.IsReplenishmentOrder=='1' | ||
| + | && ME.LET<TARGET.LET, | ||
| + | TARGET.LET=ME.LET | ||
| + | ) | ||
|- | |- | ||
| − | |colspan="2"| | + | |colspan="2"|<code>ME</code> 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 <code>ME</code> gesetzt wird, falls deren [Fälligkeitstermin] später als dieser ist. |
|- | |- | ||
| − | |} | + | |} |
<hr> | <hr> | ||
<div align="right">Hilfe Nummer: 741560</div> | <div align="right">Hilfe Nummer: 741560</div> | ||
Version vom 9. Januar 2019, 21:10 Uhr
Hilfe Nummer: 741560
Interne Funktionen, die auf Eigenschaften angewendet werden können.
Inhaltsverzeichnis
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. |
| ||
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 |
| |
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