Eigenschaft: Unterschied zwischen den Versionen
Aus Asprova Hilfe
GK (Diskussion | Beiträge) (→ObjectListIf( list, condition, object )) |
GK (Diskussion | Beiträge) (→Unique( list )) |
||
| Zeile 395: | Zeile 395: | ||
!Anmerkung | !Anmerkung | ||
|colspan="2"|Die Reihenfolge der duplikatfreien Liste entspricht dem ersten Auftreten der Objekte in der ursprünglichen Liste ''list''. | |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. | ||
| + | |- | ||
| + | !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. | ||
|- | |- | ||
|} | |} | ||
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