La gerarchia del product catalog

In Dynamics 365 Sales il product catalog è l’insieme di entità Dataverse che descrivono ciò che l’organizzazione vende. Come Customer Experience Analyst devi conoscere l’ordine con cui i componenti vanno costruiti, perché ognuno è prerequisito del successivo: prima le unità di misura, poi i prodotti, infine i listini prezzi.

Unit group e unit

Un unit group (tabella Unit Group) è un contenitore di unità di misura omogenee. Alla sua creazione definisci la primary unit (l’unità base, tipicamente il pezzo singolo): è il riferimento rispetto al quale ogni altra unit viene espressa come multiplo.

  • Esempio: unit group Confezioni con primary unit Pezzo; poi crei Scatola = 12 pezzi e Bancale = 144 pezzi.
  • Le conversioni sono definite una sola volta rispetto alla primary unit, quindi il fattore va sempre riferito ad essa, non all’unità intermedia.

La scelta corretta dell’unit group è architetturale: un prodotto può essere venduto in più unità solo se appartengono allo stesso unit group. Se un articolo deve essere venduto sia a pezzo sia a peso, servono unit group diversi o una modellazione a prodotti separati.

Product family, product e bundle

  • Il product è l’articolo vendibile singolo.
  • Il bundle raggruppa più prodotti venduti insieme; i componenti possono essere required (obbligatori, quantità fissa) o optional (rimovibili in fase di vendita). Un bundle non è un prodotto “contenitore” gerarchico ma un raggruppamento di vendita.
  • La product family è un raggruppamento gerarchico e organizzativo: non è vendibile di per sé, ma serve a classificare i prodotti figli e — soprattutto — a definire le product properties condivise.

Product properties: definizione ed ereditarietà

Le product properties sono attributi tecnici (es. Colore, Memoria GB, Garanzia) che descrivono le caratteristiche di un prodotto. Il punto chiave per l’esame:

  • Le properties si definiscono sulla product family, mai direttamente sul singolo product.
  • I product e i bundle figli ereditano automaticamente le properties della famiglia (e delle famiglie superiori nella gerarchia).
  • A livello di prodotto figlio puoi fare override del valore ereditato oppure marcarlo come hidden, ma non aggiungere una property che la famiglia non possiede.
  • I tipi supportati includono Option Set, Whole Number, Decimal, Floating Point e Single Line of Text; puoi richiedere un valore obbligatorio o un default.

Conseguenza architetturale: se prevedi prodotti con attributi comuni configurabili in fase di vendita, devi progettare prima la famiglia con le sue properties, poi collocare i prodotti come figli. Un prodotto standalone (non figlio di una famiglia) non può avere properties.

Prerequisiti alla pubblicazione

Un prodotto nasce in stato Draft e in questo stato non è utilizzabile in opportunity, quote, order o invoice. Per renderlo attivo devi soddisfare i requisiti e poi eseguire Publish (stato → Active):

  • Default Unit Group e Default Unit: obbligatori già in fase di salvataggio; indicano l’unità di misura predefinita con cui il prodotto entra nelle righe di vendita.
  • Default Price List: necessaria perché il prodotto abbia un prezzo utilizzabile; il prezzo si assegna tramite price list item su un listino.
  • Le properties ereditate devono a loro volta essere pubblicate per diventare effettive.

Esiste l’impostazione di sistema Create products in active state che salta il passaggio Draft→Publish, ma di default la revisione editoriale via Draft/Revise/Publish è il flusso atteso e consente di modificare un prodotto già attivo mettendolo in Under Revision.

Trappole tipiche d’esame

  • Scenario: un prodotto salvato non compare tra quelli selezionabili in una quote. Risposta: è ancora in Draft; va eseguito Publish dopo aver impostato default unit, default unit group e un listino prezzi.
  • Scenario: devi aggiungere l’attributo Taglia a un singolo prodotto. Risposta: le properties non si assegnano al prodotto, ma alla sua product family; il prodotto deve essere reso figlio della famiglia per ereditarlo.
  • Scenario: un articolo deve essere venduto sia a pezzo sia a dozzina. Risposta: entrambe le unit devono appartenere allo stesso unit group, con i fattori riferiti alla primary unit.
  • Scenario: un prodotto attivo va corretto senza ricrearlo. Risposta: usare Revise (stato Under Revision) e ripubblicare, non eliminare e ricreare.
  • Scenario: più prodotti opzionali venduti insieme con un componente fisso. Risposta: un bundle con item required e optional, non una product family.