Eigenschaft: Unterschied zwischen den Versionen
Aus Asprova Hilfe
JF (Diskussion | Beiträge) |
GK (Diskussion | Beiträge) (→Unique( list )) |
||
| (7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| 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" width=" | + | == Gültigkeit == |
| − | | | + | <code>Exist()</code>, <code>FValid()</code> und <code>PropCount()</code> ähneln sich, sie unterscheiden sich wie folgt: |
| − | ! | + | ; <code>Exist()</code> |
| − | |width="100"|'' | + | : 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 | ||
| + | |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 | ||
| + | |<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. | ||
| + | |- | ||
| + | !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>. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === ExistIF( objects, condition ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !rowspan="2"|Parameter | ||
| + | |width="1px"|''objects''||Klasse oder Objektliste | ||
| + | |- | ||
| + | |''condition''||Bedingung, <code>TARGET</code>-Variablen können genutzt werden. | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Gibt TRUE zurück, wenn mindestens eins der Objekte in ''objects'' die ''condition'' erfüllt.. | ||
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |<code>ExistIF(ME.Order.RightmostOrder,TARGET.Qty>=100)</code>||TRUE | ||
| + | |- | ||
| + | |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. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === FValid( prop ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !Parameter | ||
| + | |width="1px"|''prop''||Eigenschaft des Objekts | ||
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|TRUE wenn ''prop'' einen Wert enthält, sonst FALSE. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | + | |<code>FValid(ME.Qty)</code>||FALSE | |
|- | |- | ||
| − | |colspan="2"|<code>ME</code> ist ein Auftrag. | + | |colspan="2"|<code>ME</code> ist hier ein Auftrag. |
|- | |- | ||
|} | |} | ||
| − | {| class="wikitable | + | === PropCount( prop ) === |
| − | | | + | {| class="wikitable" |
| − | ! | + | |- |
| − | |width=" | + | !Parameter |
| + | |width="1px"|''prop''||Eigenschaft des Objekts | ||
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"|Anzahl der | + | |colspan="2"|Gibt die Anzahl der Eigenschaftswerte von ''prop'' zurück, der [Standardwert] wird nicht gezählt. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | + | |<code>ME.Comments</code>||3 | |
|- | |- | ||
| − | |colspan="2"| | + | |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 | + | !rowspan="3"|Parameter |
| − | |width=" | + | |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 | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|Gibt TRUE zurück, wenn mindestens ein Eigenschaftswert von ''prop'' ''condition'' und ''value'' entsprechen. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | | | + | |<code><code>CheckAllContents_Or(ME.Comments,'==','c')</code>||TRUE |
|- | |- | ||
| − | |colspan="2"|[Kommentar] | + | |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" | |
| − | |width=" | + | |- |
| + | !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"|<code>ME</code> ist ein Auftrag | + | |colspan="2"|<code>ME</code> ist hier ein Auftrag mit [Menge] und die [Anzeigeformel] von [Menge] <code>INPUT+' Stück'</code> ist. |
| + | |- | ||
| + | |} | ||
| + | |||
| + | === GetEnumName( prop ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !Parameter | ||
| + | |width="1px"|''prop''||Aufzählungseigenschaft | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Gibt den Namen des Eigenschafswerts von ''prop'' zurück. | ||
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |<code>GetEnumName(ME.Status)</code>||"Freigegeben" | ||
| + | |- | ||
| + | |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 | ||
| + | |colspan="2"|Gibt den Formelstring von ''prop'' zurück. | ||
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |colspan="2"|<code>Find(ExpressionStr(ME.VirtualPropertyExpression,0),'Format')</code> | ||
| + | |- | ||
| + | |colspan="2"|Filtert die Eigenschaftsdefinitionstabelle auf Einträge, deren [Virtuelle Eigenschaftsformel] "Format" enthält. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === SetProps( objectList, expr ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !rowspan="2"|Parameter | ||
| + | |''objectList''||Objektliste deren Eigenschaften gesetzt werden sollen | ||
| + | |- | ||
| + | |''expr ''||Eigenschaftszuweisungsformel | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Setzt anhand von ''expr'' Eigenschaften der Objekte in ''objectList''. | ||
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |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"|<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. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === StrProps( props, delimiter ) === | ||
| + | Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: '''StrProps( objectList, expr, delimiter )''' | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | | | ||
| + | !colspan="2"|Variante 1!!colspan="2"|Variante 2 | ||
| + | |- | ||
| + | !rowspan="3"|Parameter | ||
| + | |''props''||Zieleigenschaft (Array)||''objectList''||Objektliste | ||
| + | |- | ||
| + | |''delimiter''||Trennzeichen||''expr''||Formel die eine Eigenschaft vorgibt | ||
| + | |- | ||
| + | |colspan="2"| ||''delimiter''||Trennzeichen | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Gibt einen String mit den Eigenschaftswerten von ''props'', getrennt mit ''delimiter'', zurück.||colspan="2"|Gibt einen String mit den Eigenschaftswerten von ''expr'' der Objekte in ''objectList'', getrennt mit ''delimiter'', zurück. | ||
| + | |- | ||
| + | !rowspan="4"|Beispiele | ||
| + | |<code>StrProps(ME.Comments,';')</code>||"X;Y;Z"||<code>StrProps(ME.Comments[2],';')</code>||"Y" | ||
| + | |- | ||
| + | |colspan="4"|<code>ME</code> ist hier ein Objekt mit [Kommentar] "X;Y;Z". | ||
| + | |- | ||
| + | |<code>StrProps(ME.Child,TARGET.Code,';')</code>||"A;B;C"||<code>StrProps(ME.Child[1],TARGET.Code,';')</code>||"A" | ||
| + | |- | ||
| + | |colspan="4"|<code>ME</code> ist hier ein Objekt, dessen [Untergeordnete Objekte] "A", "B" und "C" sind. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === StrPropsIF( objectList, conditionExpr, expr, delimiter ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !rowspan="4"|Parameter | ||
| + | |''objectList''||colspan="2"|Objektliste deren Eigenschaften gesetzt werden sollen | ||
| + | |- | ||
| + | |''conditionExpr''||colspan="2"|Filterformel | ||
| + | |- | ||
| + | |''expr ''||colspan="2"|Eigenschaftszuweisungsformel | ||
| + | |- | ||
| + | |''delimiter''||colspan="2"|Trennzeichen | ||
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan=" | + | |colspan="3"|Gibt einen String mit den Eigenschaftswerten von ''expr'' der Objekte in ''objectList'', getrennt mit ''delimiter'', zurück, die ''conditionExpr'' entsprechen. |
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | |colspan=" | + | |<code>StrPropsIF(ME.Child,Len(TARGET.Code,)==4,TARGET.Code,';')</code>||"A:10;A:20"||"A:110" und "A:120" werden nicht ausgegeben, da sie mehr als vier Zeichen haben. |
| + | |- | ||
| + | |colspan="3"|<code>ME</code> 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 )''' | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | | | ||
| + | !colspan="2"|Variante 1!!colspan="2"|Variante 2 | ||
| + | |- | ||
| + | !Parameter | ||
| + | |width="1px"|''propertyID''||Integer, Eigenschafts-ID||width="1px"|''code''||Eigenschaftsdefinitionscode | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="4"|Eigenschaftsdefinitionsobjekt | ||
|- | |- | ||
| − | |colspan="2"| | + | |} |
| + | |||
| + | === GetClassDef( classID ) === | ||
| + | Die Funktion kann überladen und somit auch mit anderem Parameter genutzt werden: '''GetPropertyDef( code )''' | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | | | ||
| + | !colspan="2"|Variante 1!!colspan="2"|Variante 2 | ||
| + | |- | ||
| + | !Parameter | ||
| + | |width="1px"|''classID''||Integer, Klassen-ID||width="1px"|''code''||Klassendefinitionscode | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="4"|Klassendefinitionsobjekt | ||
|- | |- | ||
|} | |} | ||
| − | {| class="wikitable" | + | === ObjectList( list, object ) === |
| − | + | {| class="wikitable" | |
|- | |- | ||
| − | !rowspan="2 | + | !rowspan="2"|Parameter |
| − | + | |''list''||Array, welches Objekte enthält | |
|- | |- | ||
| − | |'' | + | |''object''||Objekt |
|- | |- | ||
!Rückgabewert | !Rückgabewert | ||
| − | |colspan="2"| | + | |colspan="2"|Gibt ein Array mit den ''object'' Objekten des Eigenschaftsarrays ''list' zurück. |
| + | |- | ||
| + | !rowspan="3"|Beispiele | ||
| + | |<code>ObjectList(ME.ProductionTask.UseInstructions, Target.Resource)</code>||Liste der Ressourcen, denen die Produktionsaufgabe zugewiesen ist. | ||
| + | |- | ||
| + | |<code>ObjectList(ME.ProductionTask.InputInstructions, Target.Item)</code>||Liste der Input-Artikel des Vorgangs. | ||
| + | |- | ||
| + | |colspan="2|<code>ME</code> ist hier jeweils ein Vorgang. | ||
| + | |- | ||
| + | !Anmerkung | ||
| + | |colspan="2"|Die Formel <code>ObjectList('Order', Target.Qty)</code> gibt einen Fehler zurück, da das zweite Argument keine Objekteigenschaft ist. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === ObjectListIf( list, condition, object ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !rowspan="3"|Parameter | ||
| + | |''list''||Array, welches Objekte enthält | ||
| + | |- | ||
| + | |''condition''||Bedingung um Objekte zu filtern | ||
| + | |- | ||
| + | |''object''||Objekt | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Gibt ein Array mit den anhand von ''condition'' gefilterten ''object'' Objekten des Eigenschaftsarrays ''list' zurück. | ||
|- | |- | ||
!rowspan="2"|Beispiel | !rowspan="2"|Beispiel | ||
| − | |colspan="2"|<code> | + | |<code>ObjectListIf(ME.Order.RightmostOrder, TARGET.Lateness>0s, Target)</code>||Liste der Aufträge ganz rechts des Auftrags, die verspätet sind. |
| + | |- | ||
| + | |colspan="2|<code>ME</code> ist hier jeweils ein Vorgang. | ||
| + | |- | ||
| + | !Anmerkung | ||
| + | |colspan="2"|Die Formel <code>ObjectListIf('Order', TARGET.Lateness>0s, Target.Qty)</code> gibt einen Fehler zurück, da das zweite Argument keine Objekteigenschaft ist. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === Unique( list ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !Parameter | ||
| + | |''list''||Array, welches Objekte enthält | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Gibt ein Array mit eindeutigen Objekten des Eigenschaftsarrays ''list' zurück. | ||
| + | |- | ||
| + | !rowspan="3"|Beispiele | ||
| + | |<code>Unique(ObjectList(ME.Order.RightmostOrder, Target.Customer))</code>||Duplikatfreie Liste der Kunden der Aufträge ganz rechts des Auftrags. | ||
| + | |- | ||
| + | |<code>Unique(ObjectList(ME.Child,TARGET.OperationMainRes))</code>||Duplikatfreie Liste der Hauptressourcen der Lose. | ||
| + | |- | ||
| + | |colspan="2|<code>ME</code> ist hier jeweils ein Vorgang. | ||
| + | |- | ||
| + | !Anmerkung | ||
| + | |colspan="2"|Die Reihenfolge der duplikatfreien Liste entspricht dem ersten Auftreten der Objekte in der ursprünglichen Liste ''list''. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === Sort( list, key, ascend ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !rowspan="3"|Parameter | ||
| + | |''list''||Array, welches Objekte enthält | ||
| + | |- | ||
| + | |''condition''||Eigenschaft nach der sortiert werden soll | ||
| + | |- | ||
| + | |''object''||Sortierreihefolge, <code>TRUE</code> für aufsteigend und <code>FALSE</code> für absteigend | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Gibt das anhand von ''key'' und ''ascend'' sortierte Array ''list'' an Eigenschaften zurück. | ||
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |<code>Sort(ObjectList(ME.ProductionTask.UseInstructions,Target.Resource),Target.Code,TRUE)</code>||Liste Ressourcen, denen der Vorgang zugewiesen ist, sortiert nach den [Ressourcencode]. | ||
| + | |- | ||
| + | |colspan="2|<code>ME</code> ist hier ein Vorgang. | ||
|- | |- | ||
| − | |colspan="2"| | + | !Anmerkungen |
| + | |colspan="2"| | ||
| + | * Die Sortierung unterscheidet sich zwischen Zahlen und Zeichenketten. Nutzen Sie bei Bedarf Funktionen wie <code>[[Umwandeln#FindNumberL.28_str.2C_count_.29|FindNumberL()]]</code> zur Konvertierung. | ||
| + | ** Alphabetische Sortierung<br>1 → 10 → 11 → 12 → 2 → 3 → 4 | ||
| + | ** Numerische Sortierung<br>1 → 2 → 3 → 4 → 10 → 11 → 12 | ||
| + | * Es wird [https://de.wikipedia.org/wiki/Stabilit%C3%A4t_(Sortierverfahren) stabil sortiert]. Um nach mehreren Schlüsseln zu sortieren, kann <code>Sort()</code> verschachtelt werden. So wird bei <code>Sort(Sort(list,key2,TRUE),key1,TRUE)</code> nach <code>key1</code> sortiert, ist dieser gleich, so wird nach <code>key2</code> sortiert. | ||
|- | |- | ||
| − | |} | + | |} |
<hr> | <hr> | ||
<div align="right">Hilfe Nummer: 741560</div> | <div align="right">Hilfe Nummer: 741560</div> | ||
Aktuelle Version vom 26. September 2025, 08:49 Uhr
Hilfe Nummer: 741560
Interne Funktionen, die auf Eigenschaften angewendet werden können.
Inhaltsverzeichnis
- 1 Gültigkeit
- 2 Objekte
- 2.1 GetObjectName( obj )
- 2.2 DisplayStr( prop )
- 2.3 GetEnumName( prop )
- 2.4 ExpressionStr( prop, 0 )
- 2.5 SetProps( objectList, expr )
- 2.6 SetPropsIF( objectList, conditionExpr, expr )
- 2.7 StrProps( props, delimiter )
- 2.8 StrPropsIF( objectList, conditionExpr, expr, delimiter )
- 2.9 GetPropertyDef( propertyID )
- 2.10 GetClassDef( classID )
- 2.11 ObjectList( list, object )
- 2.12 ObjectListIf( list, condition, object )
- 2.13 Unique( list )
- 2.14 Sort( list, key, ascend )
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.
| ||
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 | |||
ObjectList( list, object )
| Parameter | list | Array, welches Objekte enthält |
|---|---|---|
| object | Objekt | |
| Rückgabewert | Gibt ein Array mit den object Objekten des Eigenschaftsarrays list' zurück. | |
| Beispiele | ObjectList(ME.ProductionTask.UseInstructions, Target.Resource) |
Liste der Ressourcen, denen die Produktionsaufgabe zugewiesen ist. |
ObjectList(ME.ProductionTask.InputInstructions, Target.Item) |
Liste der Input-Artikel des Vorgangs. | |
ME ist hier jeweils ein Vorgang.
| ||
| Anmerkung | Die Formel ObjectList('Order', Target.Qty) gibt einen Fehler zurück, da das zweite Argument keine Objekteigenschaft ist.
| |
ObjectListIf( list, condition, object )
| Parameter | list | Array, welches Objekte enthält |
|---|---|---|
| condition | Bedingung um Objekte zu filtern | |
| object | Objekt | |
| Rückgabewert | Gibt ein Array mit den anhand von condition gefilterten object Objekten des Eigenschaftsarrays list' zurück. | |
| Beispiel | ObjectListIf(ME.Order.RightmostOrder, TARGET.Lateness>0s, Target) |
Liste der Aufträge ganz rechts des Auftrags, die verspätet sind. |
ME ist hier jeweils ein Vorgang.
| ||
| Anmerkung | Die Formel ObjectListIf('Order', TARGET.Lateness>0s, Target.Qty) gibt einen Fehler zurück, da das zweite Argument keine Objekteigenschaft ist.
| |
Unique( list )
| Parameter | list | Array, welches Objekte enthält |
|---|---|---|
| Rückgabewert | Gibt ein Array mit eindeutigen Objekten des Eigenschaftsarrays list' zurück. | |
| Beispiele | Unique(ObjectList(ME.Order.RightmostOrder, Target.Customer)) |
Duplikatfreie Liste der Kunden der Aufträge ganz rechts des Auftrags. |
Unique(ObjectList(ME.Child,TARGET.OperationMainRes)) |
Duplikatfreie Liste der Hauptressourcen der Lose. | |
ME ist hier jeweils ein Vorgang.
| ||
| Anmerkung | Die Reihenfolge der duplikatfreien Liste entspricht dem ersten Auftreten der Objekte in der ursprünglichen Liste list. | |
Sort( list, key, ascend )
| Parameter | list | Array, welches Objekte enthält |
|---|---|---|
| condition | Eigenschaft nach der sortiert werden soll | |
| object | Sortierreihefolge, TRUE für aufsteigend und FALSE für absteigend
| |
| Rückgabewert | Gibt das anhand von key und ascend sortierte Array list an Eigenschaften zurück. | |
| Beispiel | Sort(ObjectList(ME.ProductionTask.UseInstructions,Target.Resource),Target.Code,TRUE) |
Liste Ressourcen, denen der Vorgang zugewiesen ist, sortiert nach den [Ressourcencode]. |
ME ist hier ein Vorgang.
| ||
| Anmerkungen |
| |
Hilfe Nummer: 741560