Ausdruckseinschränkungen und Tabelleneinschränkungen
Gilt für: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack
In diesem Thema wird die Verwendung von Ausdruckseinschränkungen und Tabelleneinschränkungen beschrieben. Einschränkungen steuern die Attributwerte, die Sie auswählen können, wenn Sie Produkte für einen Auftrag, ein Verkaufsangebot, eine Bestellung oder einen Produktionsauftrag konfigurieren. Sie können Ausdruckseinschränkungen oder Tabelleneinschränkungen verwenden, je nachdem, wie Sie die Einschränkungen erstellen möchten.
Was sind Ausdruckseinschränkungen?
Ausdruckseinschränkungen werden durch einen Ausdruck bezeichnet, der arithmetische und boolesche Operatoren und Funktionen verwendet. Eine Ausdruckseinschränkung wird für eine bestimmte Komponente in einem Produktkonfigurationsmodell geschrieben. Sie können nicht von einer anderen Komponente wiederverwendet oder für sie freigegeben werden. Die Ausdruckseinschränkungen für eine Komponente können jedoch auf Attribute der Unterkomponenten der Komponente verweisen. Weitere Informationen zum Erstellen einer Ausdruckseinschränkung finden Sie unter Erstellen einer Ausdruckseinschränkung für eine Produktkomponente.
Was sind Tabelleneinschränkungen?
Tabelleneinschränkungen listen die Kombinationen von Werten auf, die für Attribute zulässig sind, wenn Sie ein Produkt konfigurieren. Tabelleneinschränkungsdefinitionen können generisch verwendet werden. Wenn Sie eine Tabelleneinschränkung für eine Komponente in einem Produktkonfigurationsmodell erstellen, wählen Sie eine Tabelleneinschränkungsdefinition aus.
Um die Kombinationen zu erstellen, die zulässig sind, fügen Sie Attribute bestimmter Arten den Komponenten hinzu. Jeder Attributtyp hat einen bestimmten Wert. Informationen darüber, wie Sie eine Tabelleneinschränkung erstellen und sie einem Produktkonfigurationsmodell hinzufügen, finden Sie unter Erstellen einer Tabelleneinschränkung und Eine Tabelleneinschränkung einer Komponente hinzufügen.
Beispiel einer Tabelleneinschränkung
Dieses Beispiel verdeutlicht, wie Sie die Konfiguration eines Fernsehers für ein Saisonangebot auf bestimmte Größen und Typen einschränken können.
Diese erste Tabelle enthält die Größen und Typen der Fernseher, die im allgemein zur Konfiguration verfügbar sind. Das Größen und Typen der Fernseher sind die Werte, die für die Attributtypen TelevisionType und TelevisionSize verfügbar sind.
Attribut |
Attributtyp |
Werte |
---|---|---|
Fernsehen |
TelevisionSize |
24, 36, 42, 48, 50 |
TelevisionType |
Plasma, Projektion, OLED, LCD |
In der folgenden Tabelle werden die Kombinationen angezeigt, die von der Tabelleneinschränkung TV-Sonderangebot definiert werden. Mithilfe dieser Tabelleneinschränkung können Sie einen Plasmafernseher und einen Projektionsfernseher nur in den Größen 48 und 50 konfigurieren, und Sie können einen LCD-Fernseher nur in Größe 36 konfigurieren.
Tabelleneinschränkung |
Typ |
Größe |
---|---|---|
TV-Sonderangebot |
Plasma |
48 |
Plasma |
50 |
|
Projektion |
48 |
|
Projektion |
50 |
|
LCD |
36 |
Weitere Informationen zum Hinzufügen von Attributen zu Komponenten finden Sie unter Einer Kategorie ein Attribut hinzufügen.
Sie können die systemdefinierte und benutzerdefinierte Tabelleneinschränkungen erstellen. Weitere Informationen zu diesen Arten von Tabelleneinschränkungen finden Sie unter Info zu systemdefinierten und benutzerdefinierten Tabelleneinschränkungen.
Welche Syntax soll verwendet werden, um Einschränkungen in Microsoft Dynamics AX aufzuheben?
Sie müssen Optimization Modeling Language (OML)-Syntax verwenden, wenn Sie Einschränkungen aufheben. Microsoft Dynamics AX verwendet Microsoft Solver Foundation-Einschränkungswandler, um die Einschränkungen aufzuheben. Weitere Informationen finden Sie unter Microsoft Solver Foundation.
Soll ich Tabelleneinschränkungen oder Ausdruckseinschränkungen verwenden?
Sie können entweder Ausdruckseinschränkungen oder Tabelleneinschränkungen verwenden, je nachdem, wie Sie die Einschränkungen einrichten möchten. Sie bauen eine Tabelleneinschränkung als Matrix auf, während eine Ausdruckseinschränkung ein einzelner Auszug ist. Wenn Sie ein Produkt konfigurieren, ist es nicht von Bedeutung, welche Art von Einschränkung verwendet wird. Im folgenden Beispiel wird der Unterschied zwischen den beiden Methoden dargestellt.
Wenn Sie ein Produkt konfigurieren, indem Sie die folgende Einschränkungseinstellung verwenden, sind die Kombinationen, die zulässig sind, ein Produkt in Farbe Schwarz und Größe 30 oder 50, und ein Produkt in Farbe rot und Größe in 20.
Tabelleneinschränkungseinrichtung
Farbe |
Größe |
---|---|
Schwarz |
30 |
Schwarz |
50 |
Rot |
20 |
Ausdruckseinschränkung
(Farbe == "Schwarz" & (Größe == "30" | Größe == "50")) | (Farbe == "Rot" & Größe = "20")
Muss ich Operatoren oder Infixschreibweise verwenden, wenn ich Ausdruckseinschränkungen schreibe?
Sie können eine Ausdruckseinschränkung schreiben, indem Sie entweder die verfügbaren Präfixoperatoren oder die Infixschreibweise verwenden. Für die Operatoren Min, Max und Abs können Sie Infixschreibweise nicht verwenden. Diese Operatoren sind als Standard in den meisten Programmiersprachen einbezogen.
Welche Operatoren und Infixschreibweisen kann ich verwenden, wenn ich Ausdruckseinschränkungen schreibe?
In den folgenden Tabellen werden die Operatoren und Infixschreibweisen aufgelistet, die Sie verwenden können, wenn Sie eine Ausdruckseinschränkung für eine Komponente in einem Produktkonfigurationsmodell schreiben.
Den Beispielen in dieser ersten Tabelle können Sie entnehmen, wie Sie einen Ausdruck schreiben, indem Sie entweder Infixschreibweise oder Operatoren verwenden.
Bediener |
Beschreibung |
Syntax |
Beispiele |
---|---|---|---|
Bedeutet |
Dies gilt, wenn die erste Bedingung nicht zutrifft, die zweite Bedingung erfüllt wird, oder beide. |
Implies[a, b], infix: a -: b |
Operator: Implies[x != 0, y >= 0] Infixschreibweise:x != 0 -: y >= 0 |
Und |
Dies gilt nur, wenn alle Bedingungen erfüllt sind. Wenn die Anzahl der Bedingungen 0 (Null) ist, produziert dies True. |
And[args], Infix: a & b & ... & z |
Operator: And[x == 2, y <= 2] Infixschreibweise:x == 2 & y <= 2 |
Oder |
Dies trifft zu, wenn jede Bedingung wahr ist. Wenn die Anzahl der Bedingungen 0 (Null) ist, produziert dies False. |
Or[args], infix: a | b | ... | z |
Operator: Or[x == 2, y <= 2] Infixschreibweise:x == 2 | y <= 2 |
Plus |
Dies summiert die Bedingungen. Wenn die Anzahl der Bedingungen 0 (Null) ist, produziert dies 0. |
Plus[args], infix: a + b + ... + z |
Operator: Plus[x, y, 2] == z Infixschreibweise:x + y + 2 == z |
Minus |
Dies negiert das Argument. Dies muss genau eine Bedingung haben. |
Minus[expr], Infix: -expr |
Operator: Minus[x] == y Infixschreibweise:-x == y |
Abs |
Dies nimmt den absoluten Wert der Bedingung. Dies muss genau eine Bedingung haben. |
Abs[expr] |
Operator: Abs[x] |
Zeiten |
Dies nimmt das Produkt der Bedingungen. Wenn die Anzahl der Bedingungen 0 (Null) ist, produziert dies 1. |
Times[args], infix: a * b * ... * z |
Operator: Times[x, y, 2] == z Infixschreibweise:x * y * 2 == z |
Antriebskraft |
Dies nimmt einen exponentiellen Wert. Dies wendet Exponenzierung von rechts nach links an. Das bedeutet, dass dies rechtsverknüpfend ist, sodass Power[a, Power[b, c]] ist gleich Power[a, Power[b, c]]. Power kann nur mit einer positiven Konstante als Exponent verwendet werden. |
Power[args], infix: a ^ b ^ ... ^ z |
Operator: Power[x, 2] == y Infixschreibweise:x ^ 2 == y |
Max. |
Dies produziert die umfangreichste Bedingung. Wenn die Anzahl der Bedingungen 0 (Null) ist, produziert dies Unbegrenzt. |
Max[args] |
Operator: Max[x, y, 2] == z |
Min. |
Dies produziert die kleinste Bedingung. Wenn die Anzahl der Bedingungen 0 (Null) ist, produziert dies Unbegrenzt. |
Min[args] |
Operator: Min[x, y, 2] == z |
Nicht |
Dies produziert die logische Umkehrung der Bedingung. Dies muss genau eine Bedingung haben. |
Not[expr], Infix: !expr |
Operator: Not[x] & Not[y == 3] Infixschreibweise:!x!(y == 3) |
Die Beispiele in der folgenden Tabellen zeigen, wie eine Infixnotation geschrieben wird.
Infixschreibweise |
Beschreibung |
---|---|
x + y + z |
Hinzufügung |
x * y * z |
Multiplikation |
x - y |
Die binäre Subtraktion wird auf die gleiche Weise wie die binäre Addition mit einer negierten Sekunde übersetzt. |
x ^ y ^ z |
Exponenzierung mit Rechtsverknüpfung |
!x |
Boolesches not |
x -: y |
Boolesche Auswirkung |
x | y | z |
Boolesches or |
x & y & z |
Boolesches and |
x == y == z |
Gleichheit |
x != y != z |
Getrennt |
x < y < z |
Kleiner als |
x > y > z |
Größer als |
x <= y <= z |
Kleiner oder gleich |
x >= y >= z |
Größer oder gleich |
(x) |
Klammern setzten die standardmäßige Rangfolge außer Kraft. |
Warum werden meine Ausdruckseinschränkungen nicht ordnungsgemäß validiert?
Sie können reservierte Schlüsselwörter nicht als Wandlernamen für Attribute, Komponenten oder Unterkomponenten in einem Produktkonfigurationsmodell verwenden. Die folgende Tabelle enthält eine Liste der reservierten Schlüsselwörter, die Sie nicht verwenden dürfen.
Decke
Element
Gleich
Stockwerk
Falls
Kleiner
Größer
Bedeutet
Protokoll
Max.
Min.
Minus
Plus
Antriebskraft
Zeiten
Zeitrahmen
Modell
Entscheidung
Ziel
Ihre Frage ist nicht hier?
Wir arbeiten daran, so viele Fragen wie möglich zu berücksichtigen, damit die Hilfe zu Microsoft Dynamics AX für Sie so nützlich wie möglich ist.
Teilen Sie uns mit, welche Frage Sie zu diesem Thema haben. Senden Sie eine E-Mail-Nachricht an adocs@microsoft.com.