Data ultimo aggiornamento: 13/06/2012

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomento Clicca per accedere all'argomento Clicca per accedere all'argomento Clicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Impostazione Configuratore di Prodotto

Nome programma: BSCPIMCO.DLL
Moduli richiesti: Config. su distinta neutra

Opzioni programma: vai alle opzioni
Report programma: vai ai report

Questo programma permette di gestire i configuratori di prodotto.

Dopo una prima schermata iniziale in cui viene chiesto di indicare il codice di un articolo a cui intestare un nuovo configuratore (se si sceglie di creare un nuovo configuratore) oppure viene chiesto di indicare il codice di un articolo al quale è già intestato un configuratore (se si sceglie di visualizzare un configuratore già esistente), si accede alla finestra principale del programma (quella predisposta alla gestione del configuratore stesso).

NOTA 1

è importante sottolineare che per poter avere un configuratore agganciato, un articolo deve essere in anagrafica un "P.F./S.L. Neutro" oppure una "M.P. Neutra".

Tale finestra si compone sul lato sinistro di una struttura ad albero (del tutto analoga a quella, a cui siamo abituati, del file system) che permette di rendere conto in ogni momento, navigando attraverso di essa come si è soliti fare, della sequenza di "domande" e "risposte" a cui sarà necessario rispondere per poter configurare un determinato prodotto.

NOTA 2

Nel nostro configuratore una "domanda" (rappresentata nella struttura ad albero da una cartella gialla) sarà per noi un "insieme" (o "casella-insieme"), mentre una "risposta" (rappresentata nella struttura ad albero da un foglio bianco) sarà per noi una "casella" (o "casella semplice").

Attenzione, poiché è possibile che una "risposta" sia allo stesso tempo anche una "domanda", la struttura ad albero può essere costituita da più livelli di domande e risposte, uno innestato dentro l'altro.

è importante sottolineare che si può arrivare fino a 6 livelli successivi di domande e risposte.

Sul lato destro in basso viene invece visualizzata una griglia, il cui contenuto cambia ogni qual volta che muovendosi nell'albero si seleziona un particolare insieme, e che mostra le caselle costituenti la totalità delle risposte possibili a fronte della domanda selezionata.

Sul lato destro in alto è invece visualizzato un riquadro con le caratteristiche principali della casella selezionata in quel momento nell'albero.

Si procede ora alla spiegazione degli attributi impostabili a livello di singola casella:

Id. Casella

Identificativo numerico univoco della singola casella. Viene gestito dall'applicazione.

Posiz.

Permette di cambiare l'ordinamento delle caselle nella struttura del configuratore; tale ordinamento non sarebbe altrimenti manipolabile da parte dell'utente essendo vincolato al solo attributo "Id. Casella"

Stringa Raggr.

Permette di effettuare raggruppamenti logici fra caselle diverse.

Cod. Casella

Identificativo alfanumerico della singola casella. Tale attributo può anche non essere indicato, ma qualora lo sia deve essere assolutamente univoco all'interno del configuratore.

Questo vincolo è legato al fatto che tale "Cod. Casella" sarà utilizzato per riferirsi ad una determinata casella

e su questo quindi non dovrà esserci ambiguità.

Descr. Casella

è la descrizione della casella che si sta inserendo.

Si tratta di un attributo obbligatorio.

Descr. Ridotta

è una descrizione più sintetica della casella che si sta inserendo.

Insieme

Stabilisce se la casella costituisce una domanda (ed è quindi una casella-insieme) che avrà quindi un certo numero di risposte oppure se si tratta di una risposta ad una domanda (ed è quindi una casella semplice).

Tipo Insieme

Permette di stabilire un importante attributo per gli "insiemi" (altresì detti "caselle-insieme").

Un "insieme" si dirà "a sottocaselle alternative" qualora le caselle costituenti le possibili risposte alla domanda che tale insieme rappresenta, siano alternative:

quindi una risposta deve essere data, ma una sola risposta è possibile.

Es:

Colore

Giallo

Rosso

Verde

Il colore può essere o giallo o rosso o verde! Una risposta la devo dare, ma deve essere unica.

Un "insieme" si dirà "a sottocaselle multiple" qualora le caselle costituenti le possibili risposte alla domanda che tale insieme rappresenta, non siano alternative fra di loro ma costituiscano invece delle risposte a caratteristiche diverse che la domanda richiede:

quindi una risposta deve essere data, ma più risposte sono possibili.

Es:

Barra

Altezza

Lunghezza

Larghezza

Per la barra dovrò indicare sia l'altezza, che la lunghezza, che la larghezza! Devo dare tre risposte.

Un "insieme" si dirà "a sottocaselle facoltative" nelle stesse condizioni del caso di insieme a "sotto-caselle multiple", ma con la differenza che può non essere data alcuna risposta.

Es:

Optional

Climatizzatore

Airbag

Autoradio

Io potrei decidere di non volere il climatizzatore, di non volere l'airbag, di non volere l'autoradio.

In questo caso posso anche non dare risposte alla domanda.

RIEPILOGANDO:

"Insieme a caselle alternative": 1 ed 1 sola risposta/casella selezionabile.

"Insieme a caselle multiple": 1 o più risposte/caselle selezionabili.

"Insieme a caselle facoltative": 0 o più risposte/caselle selezionabili.

Obbligatorio

Indica che la casella è obbligatoria. In fase di configurazione tale casella dovrà essere selezionata.

Testo

Indica che in fase di configurazione se si desidera selezionare quella casella, sarà necessario indicare del testo aggiuntivo.

Prezzo

Indica che in fase di configurazione se si desidera selezionare quella casella, sarà necessario indicare un prezzo.

Valore

Indica che in fase di configurazione se si desidera selezionare quella casella, sarà necessario indicare un valore.

Valore predefinito

Per le caselle con obbligo di indicazione di un valore affinchè siano selezionabili, è possibile indicare in questo attributo un valore numerico; esso sarà automaticamente proposto come valore numerico per quella casella al momento della creazione di una nuova configurazione.

Default

Indicando che una casella è di default, in fase di creazione di un nuovo prodotto a partire da questo configuratore, tale casella risulterà automaticamente selezionata.

Note

Si possono introdurre delle note particolari per ogni insieme/casella facente parte del configuratore.

Data inizio/fine validità

Sono le date di inizio e di fine validità per quella casella all'interno del configuratore.

Al momento in cui si andrà a configurare un prodotto sulla base di questo configuratore, l'utente potrà

vedere (e quindi selezionare) solo le caselle valide alla data che stabilirà di dare come data di inizio validità per il prodotto configurato.

NOTA 3

Tutte le caselle che, alla data di sistema, risulteranno scadute, verranno mostrate in griglia evidenziate in grigio.

Codice casella corrispondente di livello inferiore

Questa casella deve essere obbligatoriamente indicata in presenza di multi-istanza di un oggetto all'interno dello stesso configuratore.

Mentre il Codice Casella deve essere univoco all'interno dello stesso configuratore, il Codice casella corrispondente di livello inferiore può essere lo stesso a fronte di codici casella diversi fra loro, ciò è legato al fatto che caselle diverse di un configuratore, corrispondono alla stessa casella nel configuratore di livello inferiore (cioè quello logicamente sottostante).

Es:

Nella distinta base neutra di una automobile (prodotto finito) abbiamo indicato nei materiali 3 volte il semilavorato neutro SSL1 (= sedile posteriore) presente con coeff. di impiego pari a 1 in tutti e 3 i casi.

SSL1 è un semilavorato neutro poiché evidentemente la sua composizione dipende dalle scelte effettuate a livello di configurazione, ed è presente 3 volte distinte fra i materiali poiché evidentemente è possibile effettuare a livello di configuratore scelte diverse per ciascuno dei 3 sedili posteriori.

A livello di configuratore del prodotto finito automobile dovremo quindi indicare il sedile posteriore con tutte le sue specifiche ben 3 volte, con codici casella necessariamente diversi per i 3 sedili posteriori a parità di domanda/risposta.

Vediamo una parte del configuratore per l'automobile:

(evidenziando il Cod. Casella)

.......................

.......................

SEDP (1° sedile posteriore)

TESS (tessuto primo sedile posteriore)

PELLE

STOFFA

TIPO (tipo 1° sedile posteriore)

CLASSIC

AVANTGUARDE

SEDP2 (2° sedile posteriore)

TESS2 (tessuto secondo sedile posteriore)

PELLE2

STOFFA2

TIPO (tipo 2° sedile posteriore)

CLASSIC2

AVANTGUARDE2

SEDP3 (3° sedile posteriore)

TESS3 (tessuto terzo sedile posteriore)

PELLE3

STOFFA3

TIPO3 (tipo 3° sedile posteriore)

CLASSIC3

AVANTGUARDE3

.........................

.........................

Serve allora qualcosa che ricolleghi il codice casella indicato nel configuratore dell'automobile, con il codice casella nel configuratore (di livello inferiore) del sedile posteriore (configuratore che esisterà necessariamente essendo il sedile posteriore a sua volta un articolo neutro, quindi dipendente dalle scelte effettuate a fronte di esso).

Per fare ciò si usa appunto il Codice casella corrispondente nel livello inferiore che lega la casella nel configuratore di livello superiore alla casella nel configuratore di livello inferiore.

Vediamo il configuratore del sedile posteriore:

(evidenziando il Cod. Casella)

TESS (tessuto sedile posteriore)

PELLE

STOFFA

TIPO (tipo sedile posteriore)

CLASSIC

AVANTGUARDE

Il campo Cod. Casella-Insieme indicato a livello di testata del configuratore del sedile posteriore sarà SEDP

Il giusto modo di legare le caselle del configuratore di livello superiore (automobile) con le caselle del configuratore di livello sottostante (sedile posteriore) sarà dunque il seguente:

Vediamo nuovamente parte del configuratore dell'automobile:

(evidenziando il Cod. Casella ed il Cod. Casella corrispondente di livello inferiore)

.......................

.......................

SEDP (1° sedile posteriore) <non indicato>

TESS (tessuto primo sedile posteriore) <non indicato>

PELLE <non indicato>

STOFFA <non indicato>

TIPO (tipo 1° sedile posteriore) <non indicato>

CLASSIC <non indicato>

AVANTGUARDE <non indicato>

SEDP2 (2° sedile posteriore) SEDP

TESS2 (tessuto secondo sedile posteriore) TESS

PELLE2 PELLE

STOFFA2 STOFFA

TIPO2 (tipo 2° sedile posteriore) TIPO

CLASSIC2 CLASSIC

AVANTGUARDE2 AVANTGUARDE

SEDP3 (3° sedile posteriore) SEDP

TESS3 (tessuto terzo sedile posteriore) TESS

PELLE3 PELLE

STOFFA3 STOFFA

TIPO3 (tipo 3° sedile posteriore) TIPO

CLASSIC3 CLASSIC

AVANTGUARDE3 AVANTGUARDE

.........................

.........................

NOTA 4

In tutti i casi in cui il Codice casella corrispondente nel livello inferiore non è indicato è perché la corrispondenza è sottinteso che avvenga direttamente per Codice casella.

è il caso, decisamente più frequente, della mono-istanza di un oggetto all'interno di un configuratore.

Cod. Funzione di validazione scelta di configurazione

Se indicato, è il codice di una funzione VBScript che deve essere eseguita all'atto della selezione/deselezione della casella in fase di configurazione.

Permette di effettuare delle validazioni/controlli incrociati fra più caselle con la potenza di un vero e proprio linguaggio di programmazione quindi con un qualsiasi livello di sofisticatezza, permettendo di restituire anche messaggi a video.

Se opportunamente impostata, permette persino di annullare/effettuare altre scelte in relazione alla avvenuta selezione/deselezione della casella stessa.

Cod. Form./Funz per determinazione prezzo scelta di configurazione

Se indicato, è il codice di una funzione o espressione VBScript che deve essere eseguita all'atto della selezione/deselezione della casella in fase di configurazione.

Permette di determinare il prezzo da attribuire a quella casella; prezzo che può dipendere dall'avvenuta selezione o meno di altre caselle in fase di configurazione così come può dipendere dalle informazioni specifiche inserite a livello di configurazione.

Sottintesa

Il significato di questo attributo è legato alla possibilità nel tempo di aggiungere nuove scelte/opzioni al configuratore di un determinato prodotto, senza per questo perdere la possibilità di poter riconoscere articoli già esistenti, evitando di generarne di nuovi aventi le stesse caratteristiche di altri esistenti.

Es:

Ipotizziamo che nel configuratore di una automobile venga aggiunto a partire da una certa data un nuovo insieme (una nuova possibile scelta con delle opzioni), nella fattispecie la possibilità di montare 1 o 2 airbag.

Nel configuratore dell'automobile dovrei aggiungere:

(evidenziando il Cod. Casella ed l'attributo Sottintesa)

AIRBAG Sì

NESSUNO Sì

1 No

2 No

Fino ad oggi tutte le automobili configurate non avevano airbag, ma da oggi è possibile montarne 1 o 2.

Quello che vorrei evitare è che andando a fare oggi una configurazione perfettamente identica ad un'altra

già esistente, con la sola differenza che questa volta ho specificatamente indicato la scelta AIRBAG = NESSUNO, l'applicazione mi dica che non esiste già un'automobile siffatta e mi generi a livello di anagrafica articolo una nuova automobile del tutto identica ad un'altra, provocando una inutile proliferazione di codici.

Allora per ottenere questo risultato, andrò ad indicare che le caselle AIRBAG e NESSUNO sono sottintese,

ciò farà sì che quando l'applicazione andrà a cercare un prodotto già configurato avente le stesse caratteristiche di questo, non confronterà le caselle selezionate (cioè le scelte effettuate) che hanno l'attributo Sottintesa = Sì e quindi sarà in grado di individuare una automobile identica a questa e non genererà un nuovo prodotto.

Valore Sottinteso

Il significato di questo attributo è lo stesso dell'attributo precedente ed entra in gioco in presenza di caselle con obbligo di indicazione di un valore/misura.

Es:

Ipotizziamo che nel configuratore di una automobile venga aggiunta a partire da una certa data, la possibilità di indicare per una barra delle sospensioni oltre a lunghezza e larghezza, anche l'altezza.

L'altezza viene impostata come casella con obbligo di indicazione di un valore.

Nel configuratore dell'automobile dovrei aggiungere una nuova casella ALTEZZA:

(evidenziando il Cod. Casella, l'attributo Sottintesa, e l'attributo Valore Sottinteso)

BARRA No 0

LUNGHEZZA No 0

LARGHEZZA No 0

ALTEZZA Si 2

Fino ad oggi in tutte le automobili configurate l'altezza della barra non era configurabile ma era fissa ed uguale a 2cm, ma da oggi è possibile scegliere anche l'altezza della barra.

Quello che vorrei evitare è che andando a fare oggi una configurazione perfettamente identica ad un'altra

già esistente, con la sola differenza che questa volta ho specificatamente indicato la scelta ALTEZZA = 2, l'applicazione mi dica che non esiste già un'automobile siffatta e mi generi a livello di anagrafica articolo una nuova automobile del tutto identica ad un'altra, provocando una inutile proliferazione di codici.

Allora per ottenere questo risultato, andrò ad indicare che le casella ALTEZZA è sottintesa ed è sottintesa per valore uguale a 2, ciò farà sì che quando l'applicazione andrà a cercare un prodotto già configurato avente le stesse caratteristiche di questo, non confronterà le caselle selezionate (cioè le scelte effettuate) che hanno l'attributo Sottintesa = Sì ed hanno contemporaneamente nel campo misura/qtà un valore che è proprio uguale al valore sottinteso e quindi sarà in grado di individuare una automobile identica a questa e non genererà un nuovo prodotto.

Premendo il pulsante Dati Configuratore si accede alla finestra con le informazioni legate al configuratore nella sua interezza e quindi globali alla totalità delle caselle che lo compongono.

Si procede ora alla spiegazione degli attributi impostabili a livello di configuratore:

Configuratore

è il cod. articolo neutro a cui il configuratore è agganciato.

Tipo Insieme

è lo stesso attributo che si imposta per ogni singola casella-insieme, solamente che questa volta si riferisce alla casella-insieme (virtuale, in quanto in realtà non è affatto una casella) costituente la root (o radice) della struttura ad albero.

Tale casella-insieme (virtuale) rappresenta l'intestazione dell'intera struttura del configuratore, viene quindi

intestata al cod. articolo neutro di cui quello è il suo configuratore.

In pratica l'attributo Tipo Insieme fa riferimento alle caselle di 1° livello del configuratore, stabilendo se sono alternative, multiple o facoltative.

Cod. Casella Insieme

Attribuisce un Cod. Casella al configuratore nella sua globalità.

Questo campo può servire fondamentalmente per 2 scopi diversi.

  1. Se si tratta di un configuratore di un semilavorato neutro o materia prima neutra (quindi di livello inferiore)

che può essere presente più volte (multi-istanza) all'interno di un configuratore di livello superiore (per es.

nel configuratore del prodotto finito), allora questo campo diventa di fatto obbligatorio.

Tale Cod. Casella-Insieme indicherà il Cod. Casella che dovrà avere la casella-insieme presente nel

configuratore di livello superiore adibita a contenere al proprio interno tutte le caselle del configuratore di

livello inferiore (in particolare la sua 1a istanza);

contemporaneamente tale Cod. Casella-Insieme indicherà il Cod. Casella corrispondente di livello

inferiore che dovrà avere ciascuna casella-insieme presente nel configuratore di livello superiore adibita

a contenere al proprio interno tutte le caselle del configuratore di livello inferiore (per le altre

istanze diversa dalla 1a).

Vedi nell'esempio già fatto di multi-istanza il caso delle caselle SEDP, SEDP2 e SEDP3.

  1. Tuttavia questo campo può essere indicato anche nei configuratori di semilavorati neutri o materie prime

neutre presenti una sola volta (mono-istanza) per poter scrivere in modo più agevole le

funzioni/espressioni di generazione del codice articolo reale configurato e della descrizione dell'articolo

reale configurato.

In tale ipotesi, il Cod. Casella-Insieme indicherà il Cod. Casella che dovrà avere la casella-insieme

presente nel configuratore di livello superiore adibita a contenere al proprio interno tutte le caselle del

configuratore di livello inferiore (in particolare la sua 1a istanza);

Cod. Form./Funz. per generazione cod. articolo

è obbligatorio, ed è il codice di una funzione o espressione VBScript che deve essere eseguita per determinare il cod. dell'articolo reale configurato in relazione alle scelte di configurazione effettuate.

Cod. Form./Funz. per generazione descr. articolo

è il codice di una funzione o espressione VBScript che sarà eseguita per determinare la descrizione dell'articolo reale configurato in relazione alle scelte di configurazione effettuate.

Se non indicata, la descrizione dell'articolo reale configurato sarà impostata uguale alla descrizione dell'articolo neutro a cui è agganciato il configuratore da cui siamo partiti per fare la configurazione.

Cod. Funz. per validazione configurazione

è il codice di una funzione VBScript che sarà eseguita al momento in cui si tenterà di salvare una configurazione, per effettuare delle validazioni/controlli finali fra tutte le caselle con la potenza di un vero e proprio linguaggio di programmazione quindi con un qualsiasi livello di sofisticatezza, permettendo di restituire anche messaggi a video, ma soprattutto permettendo di invalidare le scelte effettuate perché incompatibili.

Non è obbligatoria, ma soprattutto è importante sottolineare che ha senso impostarla esclusivamente sul configuratore del prodotto finito (è da quello che partirò per effettuare le mie configurazioni e creare i vari prodotti reali), impostarla sui sotto-configuratori di semilavorati e materie prime neutre non sortirà alcun tipo di controllo.

Data/Ora ultimo aggiornamento & Operatore che ha effettuato la modifica

Coppia di dati per la rintracciabilità dell'ultimo intervento in modifica su quel configuratore.

Si procede infine alla spiegazione delle funzioni specifiche (non standard) di questo programma:

Menu File

Aggiorna Configuratore senza uscire

Permette di salvare tutte le modifiche apportate al configuratore senza chiuderlo.

Molto utile per poter avere sempre aggiornate all'ultima modifica tutte le variabili d'ambiente e predefinite

da utilizzarsi in fase di impostazione di formule e/o funzioni.

Taglia Livello Configuratore

Molto utile abbinato alla funzione di duplicazione di un configuratore.

Infatti permette facilmente di creare tutti i sotto-configuratori (dei semilavorati e materie prime neutre), duplicando il configuratore del prodotto finito e poi eseguendo operazioni di cancellazione di caselle e di tagli di livello.

Per taglio di livello si intende l'eliminazione di una casella-insieme, portando al livello superiore tutte la struttura di caselle ad essa sottostante.

Importa da Configuratore

Permette di importare all'interno di un configuratore, tutte le caselle di un altro configuratore.

Risulta molto comodo, in presenza di multi-istanza di un oggetto all'interno dello stesso configuratore, in quanto permette di importare l'oggetto multi-istanziato (configuratore di un semi-lavorato o materia prima neutra) più volte all'interno dello stesso configuratore, occupandosi in automatico di scrivere nel campo cod. casella corr. nel config. di livello inferiore il codice casella da importare (quello di origine), qualora esso risulti già presente nel configuratore di destinazione.

Non solo, ma è anche possibile indicare, in presenza di caselle da importare che risultino già presenti nel configuratore di destinazione, delle regole (mediante applicazione di un prefisso o di un suffisso) per determinare un nuovo cod. casella, in modo che venga direttamente inserito nel configuratore di destinazione (senza poi doverlo fare a mano) in fase di importazione.

Rivisualizza Struttura Configuratore

Serve per riordinare le caselle dell'albero costituente la struttura del configuratore, nel caso siano stati effettuati cambiamenti del campo posizione di una o più caselle.

Menu Record

Nuova Casella-Insieme

Trasforma, una casella-semplice, in casella-insieme.

Cancella Caselle dell'Insieme

Cancella tutte le caselle sottostanti ad una determinata casella-insieme.

Questa funzione è diversa dalla Cancella Casella, che nel caso di una casella-insieme comporterebbe oltre alla cancellazione di tutte le caselle sottostanti, anche quella della casella stessa.

Clicca per accedere al sito di NTS Informatica