I codici a struttura variabile

I CODICI A STRUTTURA VARIABILE

I CODICI A STRUTTURA VARIABILE (detti anche CODICI VARIABILI) consentono di creare e gestire in modo semplice e lineare famiglie di articoli dalle caratteristiche simili dotate di un codice 'parlante' che descrive le caratteristiche specifiche del singolo articolo.
Ad esempio: se la nostra società vende caschi e il modello di casco "CX" è dotato delle caratteristiche (o varianti):

COLORE (8 var) TAGLIA (9 var)
ROS (ROSSO)
BLU (BLU)
GIA (GIALLO)
VER (VERDE)
RSA (ROSA)
AMA (AMARANTO)
ARG (ARGENTO)
NER (NERO)
XXXS
XXS
XS
S
M
L
XL
XXL
XXXL

dovremo probabilmente inserire nell'archivio articoli, per ogni modello, 72 codici sostanzialmente ripetitivi ad esclusione del COLORE, della TAGLIA (ed eventualmente del prezzo).
Invece di perdere tempo (e commettere errori) creando decine di codici identici è possibile creare un codice variabile del tipo:

CX-<COLORE>-<TAGLIA>

dove CX è il codice che identifica il modello di casco, <COLORE> è un segnacampo che sarà sostituito da ciascun colore e <TAGLIA> è un segnacampo che sarà sostituito da ciascuna taglia. Il codice variabile così costituito potrà generare automaticamente i codici:

CODICI CASCO

CX-ROS-XXXS
CX-ROS-XXS
CX-ROS-XS
CX-ROS-M
CX-ROS-L
CX-ROS-XL
CX-ROS-XXL
CX-ROS-XXXL
CX-BLU-XXXS
CX-BLU-XXS
CX-BLU-XS
CX-BLU-M
CX-BLU-L
CX-BLU-XL
CX-BLU-XXL
CX-BLU-XXXL
CX-GIA-XXXS
CX-GIA-XXS
CX-GIA-XS
CX-GIA-M
CX-GIA-L
CX-GIA-XL
CX-GIA-XXL
CX-GIA-XXXL
CX-VER-XXXS
............
............
eccetera

Come il codice, anche la descrizione e i prezzi di acquisto e di vendita possono essere determinati parametricamente.

Nella finestra di gestione dei codici variabili ci sono comode funzionalità che consentono:

bullet

creare tutti i codici 'standard' per un certo codice variabile;

bullet

creare tutti i codici contenuti in una lista di codici;

bullet

aggiornare i valori (descrizione e listini) per un certo codice variabile.

Non è tuttavia necessario inserire preventivamente tutti i codici variabili per poterli utilizzare in JOLLY: se in un documento (ad esempio in un ordine) si fa riferimento ad un articolo non esistente che appartiene all'universo dei codici validi per un determinato codice variabile, JOLLY consente la creazione automatica contestuale dell'articolo.

COMPONENTI DI CODICE VARIABILE
I componenti di codice variabile sono le parti variabili dei codici variabili. Nell'esempio appena visto <COLORE> e <TAGLIA> sono componenti di codice variabile.
Il codice dei componenti deve sempre essere chiaro e privo di ambiguità: è consigliabile utilizzare codici tendenzialmente brevi.
I valori assunti dal codice possono essere:

bulletnumerici (utilizzabili nelle formule e nelle espressioni) o alfanumerici; se i valori sono numerici è possibile (anche se non necessario) indicare una modalità di enumerazione implicita, specificando l'intervallo dei valori ammessi e il passo con cui determinare i valori contigui;
bulleta lunghezza fissa o a lunghezza variabile; i codici a lunghezza fissa sono in generale preferibili in quanto di più semplice lettura ed interpretazione.

I valori validi per ogni componente vengono enumerati, uno per riga, nella apposita casella. Per ogni valore è possibile specificare una descrizione che potrà essere utilizzata in luogo del codice durante certe stampe o visualizzazioni.
Nel caso di valori numerici, i valori enumerati sono considerati 'valori standard', mentre i valori compresi nell'intervallo di validità (se specificato) vengono considerati come l'universo dei valori accettabili.

IL CODICE ARTICOLO
Il codice articolo di un codice variabile viene specificato attraverso una formula.
Il codice deve iniziare con una lettera e non può iniziare con una componente variabile. La lunghezza massima del codice (non della formula che lo specifica) è 60 caratteri.

SINTASSI DELLE FORMULE
Le formule sono sostanzialmente espressioni SQL che possono referenziare i componenti di codice variabile.
Il risultato delle formule deve essere di dimensione non eccedente il limite del campo in cui viene immagazzinato. Questa regola è tassativa per il codice, che non può superare i 60 caratteri.
I componenti di codice variabile devono essere racchiusi tra parentesi angolari (esempio: <COLORE>).
Per utilizzare in formule numeriche condizionali i segni < e > con il loro significato proprio è necessario farli precedere da un back slash. Esempio: \< oppure \>
Tutte le formule sono elaborate secondo la sintassi SQL (e transact-SQL) previa la sostituzione dei valori dei pezzi variabili e una forma di preprocessing (stile MACRO) che comprende le seguenti espressioni:

CASE(VALORE;RANGE=RISULTATO[;RANGE=RISULTATO][;ELSE=RISULTATO])
RANGE può essere un range di valori numerici nella forma 1:10,12,14
ESEMPIO: CASE(VALORE;1,3,5,7,9=1;2,4,6,8,10=2;ELSE=3)

TCASE('VALORE'; 'STR1'='RESULT1'[;'STRn'='RESULTn'] [; ELSE='STRX')
Text CASE: funziona come il CASE, ma gestisce valori di testo.
ESEMPIO: TCASE('<FX_TIPO>';'A'='A101'; 'B','X','Y','Z'='B202'; ELSE='ALTRO')

TRANS_FORMULA(FORMULA)
interpreta la formula numerica indicata e la rende sotto forma di stringa;
E' utile per integrare (come testo) il risultato di una formula o di una espressione nel valore restituito dalla formula;
ESEMPI:
TRANS_FORMULA(<F2_LARG>*24)
TRANS_FORMULA(zeri(<F2_LARG>*24,6))
ABC_TRANS_FORMULA(<FX>*4)_XYZ

PM_speciale(<ELEMENTO_CODICE>)
rende TRUE se il pezzo indicato è speciale, cioè se assume un valore non compreso tra quelli standard; utilizzare SENZA APICI.

NB: nel codice dell'articolo è possibile referenziare liberamente tutti i componenti di codice variabile che servono. In tutte le altre formule (descrizione, prezzo, ...) è possibile utilizzare esclusivamente i componenti già utilizzati nel codice articolo.

I LISTINI DEI CODICI VARIABILI
Ogni codice variabile può generare zero, uno o più listini secondo la filosofia di funzionamento dei listini e dell'archivio articoli.
I valori di ciascun listino possono a loro volta essere indicati come formule.

NB per le formule di sconti e ricarichi: poiché JOLLY accetta e gestisce sconti e ricarichi composti (esempio: 10+5, da non confondersi con il valore 15) il valore specificato nel campo sconto fornitore e nel campo ricarico cliente non è propriamente né un valore numerico né un valore testo, ma una via di mezzo tra i due. 
Perciò, per evitare di confondere, ad esempio, lo sconto "10+5" con lo sconto "15", JOLLY si limita a sostituire i valori simbolici delle formule senza risolvere le espressioni numeriche.
E' necessario tenere conto di questo comportamento se si desidera utilizzare formule per l'assegnazione di sconti e ricarichi. All'occorrenza utilizzare la funzione TRANS_FORMULA().

Pagina base del manuale di JOLLY

aggiornato il 23/01/2010

home

scrivimi, se ti va