Beräkningar för produktkonfigurationsmodeller
Gäller för: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2
I det här avsnittet beskrivs beräkningar för produktkonfigurationsmodeller och hur du använder beräkningar tillsammans med begränsningar. Du kan definiera beräkningar i formuläret Detaljer för begränsningsbaserad produktkonfigurationsmodell och skapa sedan uttryck för beräkningar i uttrycksredigeraren. Mer information finns i Skapa beräkningar.
Vad är en beräkning?
En beräkning är ett element som du kan använda i en konfigurationsmodell. Beräkningar kompletterar begränsningar genom att du kan beräkna värden med decimaltal när du konfigurerar en produkt. Vidare har beräkningar en större uppsättning tillgängliga operatorer än begränsningar. Likt en begränsning associeras en beräkning med en viss komponent i en modell för produktkonfiguration, och den kan inte återanvändas av eller delas med en annan komponent. Mer information om begränsningar finns i Uttrycksbegränsningar och registerbegränsningar.
En beräkning består av ett målattribut och ett beräkningsuttryck.
Vad är ett målattribut?
Ett målattribut är ett attribut som tar emot beräkningens resultat i ett uttryck.
I följande uttryck är målattributet ett bordsdukmått:
Uttryck: Om[(decimalattribut1/decimalattribut2) < 1, Sant, Falskt]
DecimalAttribute1 är registerlängden och decimalAttribute2 är tablecloth-längden. Detta uttryck returnerar värdet ”sant” till målattributet om decimalAttribute2 är större än eller lika med decimalAttribute1, och ”falskt” om det inte är det. Så bordduksmåttet är godtagbart om borddukslängden är lika med eller överstiger längden på bordet.
Vilka attributtyper kan ställas in som målattribut?
Alla attributtyper som stöds för produktkonfigureraren kan anges som målattribut med undantag för text utan en fast lista.
Kan ett värde för målet begränsa värdena för indataattributen i en beräkning?
Nej, värdet för ett mål kan inte begränsa värdena för indataattributen. Beräkningar är enkelriktade. Värdet på målattributet baseras på ändringar av värdet för indataattributen. Men om du ändrar värdet för målet påverkar det inte värdet för indataattributen. Detta är tvärtemot hur begränsningarna fungerar. I begränsningar sker beräkningen i båda riktningarna.
Exempel
I följande uttryck är målet för beräkningen längden på en elsladd och indatavärdet är en färg. Om du väljer invärdet Grön som färg på kraftsladden, ställs längden in till 1,5. För andra färger är längden 1.0.
Uttryck: [Om färg == ”grönt”, 1,5, 1,0]
När du konfigurerar artikeln, genererar beräkningen 1,5 som längden på nätsladden om du anger grönt som färgattributet. Om du anger en annan färg, är längden 1,0. Eftersom beräkningar är enkelriktade ställer beräkningen inte in värdet för färgattributet till Grön när du anger en längd på 1,5.
Vad händer om en beräkning har ett målattribut av heltalstypen och en beräkning ger dig ett decimaltal?
Resultatet av beräkningen returnerar endast heltalsdelen för beräkningen. Decimalerdelen tas bort och resultatet avrundas inte. Ett resultat på 12,70 visas till exempel som 12.
När sker beräkningar?
Beräkningar sker när ett värde har angetts för alla indataattribut.
Kan jag skriva över värdet som beräknas för målattributet?
Du kan åsidosätta värdet som beräknas för målattributet, om inte målattributet är inställt som dolt eller skrivskyddat.
Hur kan jag ange ett målattribut som dolt eller skrivskyddat?
Om du vill ange ett attribut som dolt eller skrivskyddat, följ dessa steg:
Klicka på Produktinformationshantering > Vanligt > Modeller för produktkonfiguration.
Välj en produktkonfigurationsmodell. Klicka på Redigera i åtgärdsrutan.
Välj attributet som ska användas som ett målattribut i formuläret Detaljer för begränsningsbaserad produktkonfigurationsmodell.
På snabbfliken Attribut väljer du Dolt eller Skrivskydd.
Kan en beräkning skriva över de värden som jag har angett?
Nej. Värdena du anger när du konfigurerar en produkt är de värden som används. Beräkningen som infaller när indatavärdena i beräkningen ändras kan inte skriva över värdena som du anger för ett visst attribut.
Vad händer om jag tar bort ett invärde i en beräkning?
Om du tar bort ett invärde i en beräkning, tas värdet för målattributet också bort.
Varför jag får ett felmeddelande om att min modell utgör en motsättning?
Detta meddelande visas när en beräkning innehåller ett fel eller om en motsättning förekommer i en eller flera begränsningar. Mer information om motsägelser i begränsningar finns i Uttrycksbegränsningar och registerbegränsningar. Fel i beräkningar kan inträffa i till exempel följande situationer:
Ett värde delas med noll.
Det finns en konflikt mellan dessa två element:
De värden som är tillgängliga för ett attribut och som har begränsningar.
Ett värde som genereras av en beräkning.
Värdena som returneras av beräkningen ligger utanför domänen för attributet. Ett exempel är ett heltal mellan [1..10] som beräknas till 0.
Varför får jag ett fel, även om jag validerade min produktmodell?
Beräkningar inkluderas inte i valideringen. Du måste testa produktkonfigurationsmodellen för att hitta fel i beräkningar.
Följande steg beskriver hur man testar en produktkonfigurationsmodell:
Klicka på Produktinformationshantering > Vanligt > Modeller för produktkonfiguration.
Välj en produktkonfigurationsmodell. Använd åtgärdsrutan i gruppen Kör och klicka på Test.