Skrevet af: Henrik Hansen Afdelingschef, Datacon

Dynamics 365 tilbyder et stærkt værktøj til håndtering af pre-definerede varianter. Det typiske eksempel på pre-definerede varianter er t-shirts eller sko, som sælges i forskellige størrelser og farver. I stedet for at oprette et varenummer pr. kombination af størrelse og farve, oprettes kun et varenummer, som kan sælges med alle gyldige værdier af farver og størrelser.

Dynamics 365 leveres med tre globale produktdimensioner, som man i standard har valgt at kalde Size, Colour og Style. Løsningen fungerer rigtig godt ud af boksen til relativt simple produkter som tøj og sko.

Når løsningen anvendes til komplekse produkter som eksempelvis møbler, er der dog en række mangler i løsningen, hvoraf de vigtigste er følgende:

  • Det er ikke muligt at angive fysiske dimensioner pr. variant. Dette er relevant, hvis man eksempelvis ønsker at anvende én af de tre produktdimensioner til angivelse af størrelser for bordplader.
  • Det er ikke muligt at angive udenrigshandelsoplysninger (eksempelvis oprindelsesland og varekode/tariffkode.) på variantniveau. Hvis eksempelvis en given stol både sælges med eller uden polstring (dvs. polstringen håndteres som en variant), kan man sagtens forestille sig den situation, at stolen produceres hos forskellige leverandører.
  • Det er ikke muligt at tilknytte attributter på variantniveau, men kun på vareniveau.
  • Løsningen kan ikke særlig elegant håndtere betingede varianter, dvs. varianter der er ikke ”sidestillede”.
Eksempel: I møbel-verdenen sælges polstrede møbler med forskellige stoftyper (den ene produktdimension), som hver især kan have forskellige farver (den anden produktdimension). De gyldige stoffarver knytter sig til valget af stoftype, dvs. udfaldsrummet af stoffarven er betinget af, hvilken stoftype, der er valgt.

Datacon har lavet løsninger til alle ovenstående problemstillinger, men i dette indlæg vil jeg nøjes med at grave dybere i, hvordan man kan håndtere betingede pre-definerede varianter – både inden for standard i Dynamics 365 og med Datacons løsning.

 

Funktionalitet og opsætning

Funktionaliteten i pre-definerede varianter er, at man først opretter de gyldige varianter på en vare og først derefter anvender disse ifm. eksempelvis en salgsordre. De gyldige kombinationer skal således være oprettet på forhånd før man kan sælge dem. Deraf navnet pre-definerede varianter.

De gyldige kombinationer kan oprettes manuelt – eller automatisk af systemet. Et tredje alternativ er, at systemet kan danne variantforslag, som skal godkendes inden varianterne dannes.

De fleste vil vælge at lade systemet oprette dem automatisk. Hvis eksempelvis en t-shirt sælges i 8 størrelser og 10 forskellige farver, vil systemet automatisk oprette 80 varianter. Hvis nogle af kombinationerne ikke er valide (eksempelvis at t-shirten ikke sælges i pink i XXL), skal disse kombinationer slettes manuelt.

 

Begrænsninger og mangler

For et simpelt produkt som en t-shirt vil det være en overskuelig opgave at slette de varianter, som ikke er valide.

Sagen forholder sig imidlertid noget anderledes, hvis man sælger mere komplekse produkter som eksempelvis polstrede møbler. Et givet møbel kan måske sælges med 50 forskellige stoftyper i 600 farvenuancer. Hvis man anvender den ene produktdimension (eksempelvis Style) til stoftypen og den anden (eksempelvis Colour) til stoffarve, så vil systemet automatisk oprette 30.000 varianter. Det vil systemet gøre, fordi standard Dynamics 365 opfatter de to produktdimensioner som sidestillede, dvs. som om at alle kombinationer af stoftype og stoffarve er gyldige.

I eksemplet med polstrede møbler er de to produktdimensioner imidlertid ikke sidestillede, da en given stoftype kun kan leveres i nogle bestemte stoffarver.  Udfaldsrummet i produktdimensionen stoffarve er således betinget af, hvilken stoftype der er valgt. I den virkelige verden er der således ikke 30.000 gyldige kombinationer af stoftype og stoffarve, men måske kun 2.000. Det betyder, at der skal slettes 28.000 varianter (eller oprettes 2.000, hvis man ikke vil have systemet til automatisk at oprette).

Problemet kan blive endnu større, hvis man har valgt den tredje produktdimension til angivelse af materialetype (eg, ask, bøg, etc.), hvoraf nogle stoftyper kun sælges til bestemte materialetyper på produktet. Så vil stoftypen være en betinget variant ift.  materialetypen, mens stoffarven vil være en betinget variant ift. stoftypen. I praksis kan det betyde dannelse af mere end en mio. variantkombinationer selv om antallet af valide varianter måske er under 20.000. Hmmmm…

 

Løsninger til håndtering af betingede varianter

Produktkonfigurator

Den helt oplagte løsning er at anvende begrænsningsbaserede varianter (Constraint based) og opbygge en konfigurationsmodel. Dynamics 365 indeholder en fremragende produktkonfigurator, hvor det er er muligt at lave alle mulige afhængigheder og begrænsninger, hvilket isoleret set ville løse den skitserede problemstilling.

Problemet for mange virksomheder er imidlertid, at man har en omverden, der udveksles data med i form af eksempelvis produktstamdata, stregkoder, salgsordrer, indkøbsordrer, lagerbeholdninger, kataloger og prislister. I forhold til denne omverden vil det typisk være betydeligt nemmere at operere med et mere “fast” format i form af en pre-defineret variant fremfor en konfigurationsmodel, hvilket er årsagen til, at frameworket for pre-definerede varianter kan være relevant – også selvom man har betingede varianter (bemærk dog, at det i konfigurationsmodel er muligt at konfigurere sig frem til et fast format i form af en given variant).

For mange virksomheder vil det derfor ikke være en mulighed (kun) at anvende konfigurationsmodeller.

 

Betingede pre-definerede varianter i standard Dynamics 365

Som nævnt tidligere, kan pre-definerede varianter oprettes på tre måder;

  1. Manuelt
  2. Via systemets variantforslag
  3. Automatisk ud fra, hvilke produktdimensioner der er tilknyttet en given vare

Ved at oprette alle varianter manuelt, kan man nøjes med at oprette de varianter, der er valide, dvs. med de valide kombinationer af produktdimensionerne. Men de færreste virksomheder ville kunne acceptere at skulle oprette måske tusindvis af varianter manuelt for et givet varenummer, hvilket reelt gør denne option uanvendelig.

Det er også muligt at oprette varianter i systemet via variantforslag. Fordelen herved er, at brugeren kan til- og fravælge blandt de forslag systemet kommer med, inden varianterne oprettes. Det kræver dog et stort overblik og en stor akkuratesse at sikre, at der rent faktisk kun oprettes de varianter, som er valide. Desuden vil anvendelsen af denne funktionalitet indebære en del manuelt arbejde, når der kommer nye produktdimensioner (eksempelvis stoftyper, materialetyper eller stoffarver). For mange virksomheder vil denne metode derfor ikke være optimal.

Den automatiske produktoprettelse er på mange måde optimal, da den også vil resultere i, at det er muligt at få oprettet nye varianter automatisk, når der kommer nye produktdimensioner. Problemet med denne metode er imidlertid, at alle ikke-valide kombinationer skal slettes manuelt, hvilket er tæt på at gøre metoden uanvendelig.

Konklusionen er, at selv om det er muligt at håndtere pre-definerede, der er betingede, så vil få virksomheder finde mulighederne tilfredsstillende, hvis produkterne har en vis kompleksitet.

Datacons løsning til betingede pre-definerede varianter i Dynamics 365

Datacons løsning tager udgangspunkt i den antagelse, at der typisk vil være de samme sammenhænge mellem produktdimensionerne på tværs af mange forskellige produkter. Hvis man  eksempelvis sælger polstrede møbler, så vil der formentlig være mange forskellige varenumre, der sælges i de samme stoftyper og dermed har de samme sammenhænge mellem stoftyper og stoffarver.

I Datacons løsning er det muligt at definere disse sammenhænge i form af “Constraints”. En Constraint definerer grundlæggende de gyldige kombinationer mellem to produktdimensioner, eksempelvis mellem 1) materialetype og stoftype, eller 2) mellem stoftype og stoffarve. For de varenumre, hvor der skal dannes varianter, er det muligt at tilknytte op til to “constraints”.

Når en pre-defineret variant er tilknyttet Constraints, vil den automatiske variantoprettelse sikre, at der kun dannes varianter på kombinationer, der er gyldige. Når der kommer nye produktdimensioner (eksempelvis en ny stoftype i en række stoffarver), kræves der blot, at de nye tilladte kombinationer af produktdimensioner oprettes i relevante Constraints – herefter vil systemet automatisk oprette nye gyldige varianter for alle varenumre, der anvender de ændrede Constraints.

Løsningen sikrer dermed anvendelse af et minimum af ressourcer, både når varenumre oprettes og når der løbende kommer nye produktdimensioner til.

Vil du vide mere?

Hvis du vil vide mere om emnerne i dette indlæg, kontakt afdelingschef Henrik Hansen, heh@datacon.dk.