Dela via


Skapa en uttrycksbegränsning för en produktkomponent

Gäller för: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack

I det här avsnittet beskrivs hur du skapar uttrycksbegränsningar för komponenter i en produktkonfigurationsmodell i Microsoft Dynamics AX. Med begränsningar kontrolleras vilka attributvärden som är tillgängliga för komponenter när du konfigurerar en produkt för en försäljningsoffert, inköpsorder eller produktionsorder. Du kan använda följande typer av begränsningar:

  • Uttrycksbegränsningar

  • Registerbegränsningar

Registerbegränsningar och uttryckbegränsningar skiljer sig på det sätt som begränsningar byggs upp på. Den typ av begränsning som används har dock ingen inverkan på hur du faktiskt konfigurerar en produkt. Mer information om skillnaden mellan olika typer av begränsningar finns i Uttrycksbegränsningar och registerbegränsningar.

Mer information om hur du skapar registerbegränsningar finns i Skapa en tabell begränsning.

Skapa en uttrycksbegränsning

Uttrycksbegränsningar karakteriseras av ett uttryck som använder aritmetiska och booleska operatorer och funktioner. En uttrycksbegränsning skrivs för en viss komponent i en produktkonfigurationsmodell. Den kan inte återanvändas av eller delas med en annan komponent. Uttryckbegränsningarna för en komponent kan dock referera till attribut i komponentens delkomponenter. Du använder begränsningar för att kontrollera vilka attributvärden som du kan använda när du konfigurerar produkter för en försäljningsorder, försäljningsoffert, inköpsorder eller tillverkningsorder.

Du kan använda uttrycksredigeraren om du vill skapa uttrycksbegränsningar, eller så kan du bara skriva dem genom att använda OML-syntax för attributen. Använd Microsoft Solver Foundation-begränsningslösaren för att lösa begränsningarna. Du måste använda OML-syntaxen (Optimization Modeling Language) när du skriver begränsningar. Mer information finns i Microsoft Solver Foundation.

Gör på följande sätt när du vill skapa en uttrycksbegränsning med hjälp av uttrycksredigeraren:

  1. Klicka på Produktinformationshantering > Vanligt > Modeller för produktkonfiguration.

  2. Välj komponenten som du vill skriva en uttrycksbegränsning för i komponentträdet.

  3. Välj en produktkonfigurationsmodell och klicka sedan på Redigera.

  4. I formuläret Detaljer för begränsningsbaserad produktkonfigurationsmodell på snabbfliken Begränsningar klickar du på Lägg till för att lägga till en ny begränsning.

  5. Välj Uttrycksbegränsning i fältet Begränsningstyp och klicka på Skapa.

  6. Klicka på pilen i listan eller tryck på Alt och nedåtpil i fältet Uttryck.

  7. Dubbelklicka på en symbol eller tryck på Retur för att ange symbolen i fältet Uttryck i formuläret Redigerare för uttrycksbegränsning på fliken Alla symboler.

  8. Använd samma metod för att lägga till attribut, operatorer och värden till uttrycket. Mer information om hur du använder attribut, operatorer och värden finns i Uttrycksbegränsningar och registerbegränsningar.

  9. Klicka på Validera för att validera begränsningen och klicka sedan på OK för att stänga formuläret Redigerare för uttrycksbegränsning.

Gör på följande sätt när du vill skapa en uttrycksbegränsning utan uttrycksredigeraren:

  1. Klicka på Produktinformationshantering > Vanligt > Modeller för produktkonfiguration.

  2. Välj komponenten som du vill skriva en uttrycksbegränsning för i komponentträdet.

  3. Välj en produktkonfigurationsmodell och klicka sedan på Redigera.

  4. I formuläret Detaljer för begränsningsbaserad produktkonfigurationsmodell på snabbfliken Begränsningar klickar du på Lägg till för att lägga till en ny begränsning.

  5. Välj Uttrycksbegränsning i fältet Begränsningstyp och klicka på Skapa.

  6. Skriv uttrycket i fältet Uttryck. Kontrollera att attributen som du skriver överensstämmer med OML-syntaxen som definierats för attributtyperna. Se registret i nästa avsnitt för ett exempel på hur attribut skrivs genom att använda OML-syntax.

  7. Klicka på Validera för att validera begränsningen.

Exempel på en uttrycksbegränsning

I det här exemplet visas hur du kan begränsa konfigurationen för en television till specifika storlekar och typer för ett säsongsbaserat erbjudande.

En projektions-tv måste ha en skärmstorlek som är större än eller lika med 50 tum, antingen två eller fyra USB-portar och en svart ram. Följande attributtyper skapas i produktkonfigurationsmodellen. Lösarnamn är namnet på den attributtyp som skrivs genom att använda OML-syntax.

Namn

Lösarnamn

Typ

Skärmtyp

skärmtyp

Heltal med ett intervall

USB-portar

usbPorts

Text med en fast lista

Ramfärg

frameColor

Text med en fast lista

Uttrycket ser ut så här:

screenType == “Projection” -: (screenSize >= 50

(& usbPorts == “two” | usbPorts == “four”)

& frameColor == “black”)

Den här begränsningen av uttryck använder operatören Implies, -:, och har följande två delar:

  • Delen till vänster i implikationsoperatorn anropar attributet screenType och det utvärderas till ”Sant” om skärmtypen får värdet "Projektion".

  • Delen till höger i implikationsoperatorn är en förbindelse av booleska uttryck som ser till följande:

    • ScreenSize-attributet är större än eller lika med 50 tum.

    • Antalet USB-portar är antingen två eller fyra.

    • Färgen är svart.

Denna kombination tolkas som ”sant” om alla interna uttryck uppfylls. Om hela uttrycket avses, är en implikation som till exempel ”A -: B” uppfylld om:

  • A utvärderas till Sant. Sedan måste B vara Sant.

  • A utvärderas till Falskt. Sedan kan B utvärderas till Sant eller Falskt.

Eftersom detta är en begränsning och inte en regel väntar inte Solvermotorn på en ändring i uttrycket på höger sida innan den utvärderar uttrycket. I stället garanterar Solvermotorn att uttrycket alltid uppfylls. Om tv-attributen i detta exempel inte uppfyller det booleska uttrycket, kan tv:n inte vara en projektions-tv.

Skapa en tabell begränsning

Kategori

Förutsättning

Konfigurationsnycklar

Ingen konfigurationsnyckel behövs för uppgiften.

Säkerhetsroller

Om du vill använda uttrycksredigeraren måste du vara medlem i säkerhetsrollen för produktdesignern (BOMProductDesigner).

Se även

Om modeller för produktkonfiguration

Om systemdefinierade och användardefinierade begränsningar

Uttrycksbegränsningar och registerbegränsningar