Codice Merce Avanzato (CMA)¶
A cosa serve¶
Il Codice Merce Avanzato (CMA) e' un sistema di codifica alternativa degli articoli di magazzino. Mentre ogni merce ha un codice interno univoco assegnato dal gestionale (gruppo/sottogruppo/progressivo), il CMA permette di identificare lo stesso articolo con un codice "parlante" composto da elementi significativi per l'azienda: marchio del fornitore, codice catalogo, categoria merceologica, ecc.
Il CMA e' utile quando:
- L'azienda tratta articoli di piu' marchi e vuole cercarli con il codice del catalogo fornitore
- Si importano listini o anagrafiche merci dall'esterno e si vuole riconoscere automaticamente articoli gia' codificati
- Si vuole una ricerca per "contenuto" (es. digitare parte del marchio + parte del codice fornitore per trovare l'articolo)
- Si usa l'e-commerce e si vuole collegare categorie/sottocategorie alle merci
- Si gestiscono matricole con "part number" del produttore
Concetti fondamentali¶
CMA "Semplice" vs "Completo"¶
Il CMA puo' funzionare in due modalita':
| Modalita' | Descrizione | Esempio |
|---|---|---|
| Semplice (alias) | Un singolo codice alternativo associato alla merce. Funziona come alias di ricerca | Merce 001234 → CMA BOSCH-GBH2600 |
| Completa (tabelle) | Il CMA e' scomposto in piu' tabelle (fino a 20), ciascuna con un valore. L'insieme delle tabelle forma il codice avanzato | Tabella 01=BOSCH, Tabella 02=GBH2600, Tabella 03=TRAPANI |
La modalita' completa permette di: - Cercare articoli per caratteristiche combinate (es. "tutti gli articoli BOSCH della categoria TRAPANI") - Ricomporre automaticamente il CMA durante l'importazione merci, usando i valori delle tabelle presenti nel file - Collegare automaticamente brand, categorie, part number e altre classificazioni alla merce
Struttura a tabelle¶
Nella modalita' completa, il CMA e' formato da un insieme di tabelle numerate (01, 02, 03, ...). Ogni tabella rappresenta un aspetto dell'articolo. L'azienda decide quale aspetto assegnare a ogni posizione:
| Tabella | Esempio d'uso | Configurazione |
|---|---|---|
| 01 | Marchio / Brand | tab-cma-brand, cma-tab-marchio |
| 02 | Codice merce fornitore | cma-tab-cmf |
| 03 | Categoria e-commerce | tab-cma-categoria |
| 04 | Sottocategoria e-commerce | tab-cma-sottocategoria |
| 05 | Part number matricola | tab-cma-part-number |
| 06 | Materiali (produzione) | tab-cma-materiali |
| 07 | Aziende del gruppo | tab-cma-aziende-gruppo |
| 08 | Cliente fatturazione | tab-cma-cli-fat |
Personalizzazione
L'assegnazione e' personalizzabile per installazione: ogni azienda decide cosa mettere in ciascuna tabella. Gli esempi sopra sono solo indicativi.
Classi di articoli¶
Se la configurazione "Gestione classi articoli" e' attiva, le sequenze di tabelle possono essere diverse per classe di articolo. Ad esempio: articoli di tipo "meccanica" usano tabelle diverse da articoli di tipo "elettronica". Questo permette composizioni diverse del CMA in funzione della tipologia merce.
Configurazione¶
Configurazioni per la composizione del CMA¶
Queste configurazioni decidono come viene costruito il codice merce avanzato:
| Chiave | Descrizione | Valori |
|---|---|---|
| componi-cm-avanzato | Come comporre il CMA quando si crea un articolo da listino fornitore | N = nessuna proposta (se importazione di massa, usa il codice fornitore); MA+CMF = Marchio + Codice merce fornitore |
| euta-c039-cla | Gestione classi articoli — le sequenze di tabelle dipendono dalla classe? | S = si', dipendono dalla classe; N = unica sequenza per tutti |
| euta-c039-des | Compongo automaticamente la descrizione merce dalle tabelle CMA? | S = si'; N = no |
| euta-c039-des-ava | La descrizione creata automaticamente viene memorizzata per intero? | S = si', memorizzo la descrizione creata; N = uso solo la descrizione interna |
| euta-c039-spz | Lascio gli spazi nel CMA composto? | S = si', conservo gli spazi; N = compatto eliminando gli spazi |
| euta-c039-prog-aut | Creo un progressivo automatico in caso di duplicati? | S = si', aggiunge un suffisso univoco; N = segnala errore |
Configurazioni per l'importazione¶
| Chiave | Descrizione | Valori |
|---|---|---|
| prefisso-cma | Aggiungo un prefisso al CMA durante importazione da listino | N = nessun prefisso; PM = prefisso Marchio |
| cma-tab-marchio | Quale tabella CMA contiene il marchio (usata per componi-cm-avanzato) | Codice tabella (es. 01) |
| cma-tab-cmf | Quale tabella CMA contiene il codice merce fornitore | Codice tabella (es. 02) |
| ins-auto-da-listino-generale | Se cerco un CMA e non esiste, lo creo automaticamente dal listino? | N = no; A = automatico; C = con conferma; S = semiautomatico (chiede gruppo/sottogruppo) |
| ins-auto-cod-alternativo-vuoto | Se inserisco una merce senza CMA, ne creo uno automaticamente dal codice interno? | S = si'; N = no (attenzione: le merci senza CMA non sono visibili nelle ricerche per codice avanzato) |
Configurazioni per la ricerca¶
| Chiave | Descrizione | Valori |
|---|---|---|
| uso-cma | Posizione del CMA nella sequenza di ricerca | 1..6 (indica in quale ordine viene provata la ricerca per CMA) |
| uso-cma-alt | Posizione della ricerca per CMA alternativo | 1..6 |
Configurazioni per moduli specifici (tabelle CMA)¶
| Chiave | Modulo | Descrizione |
|---|---|---|
| tab-cma-brand | Merce avanzata | Tabella CMA collegata ai brand/marchi |
| tab-cma-aziende-gruppo | Merce avanzata | Tabella CMA per aziende del gruppo |
| tab-cma-cli-fat | Merce avanzata | Tabella CMA per cliente fatturazione |
| tab-cma-categoria | E-commerce | Tabella CMA per categoria shop |
| tab-cma-sottocategoria | E-commerce | Tabella CMA per sottocategoria shop |
| tab-cma-part-number | Matricole | Tabella CMA per part number |
| tab-cma-materiali | Produzione | Tabella CMA per materiali |
Creazione dei codici merce avanzati¶
Creazione automatica durante importazione merci¶
La procedura di importazione/esportazione anagrafiche merci (accessibile da Sistema > Import/Export) e' il modo piu' comune per popolare i CMA in modo massivo. Ecco come funziona:
Struttura del file di importazione¶
Nel file Excel/CSV di importazione, le colonne relative al CMA sono:
| Colonna | Significato |
|---|---|
| MER-CMA | Codice merce avanzato completo |
| MER-A-xx | Valore per la tabella CMA numero xx (es. MER-A-01 = tabella 01, MER-A-02 = tabella 02, ...) |
| MER-SOSTITUITO-CMA | CMA della merce sostituita (per aggiornamenti) |
Logica di riconoscimento durante l'importazione¶
Il sistema usa il CMA per identificare una merce gia' esistente quando nel file manca il codice interno (gruppo/sottogruppo/progressivo). La sequenza di ricerca e':
- Se il file contiene gruppo/sottogruppo/progressivo → ricerca diretta per codice interno
- Se il codice interno manca ma c'e' MER-CMA → cerca la merce con quel CMA
- Se trovata → aggiorna la merce esistente
- Se non trovata → crea una nuova merce assegnando un codice interno progressivo
- Se non c'e' ne' codice ne' CMA → errore (dati insufficienti)
Creazione automatica del CMA dalle tabelle¶
Se nel file sono presenti colonne MER-A-xx (valori per tabelle CMA) ma NON la colonna MER-CMA, il sistema puo' ricomporre automaticamente il CMA dai valori delle tabelle. Questo avviene quando:
- La configurazione
componi-cm-avanzatoe' diversa da "N" - Le colonne MER-A-xx sono presenti e compilate
- La configurazione
euta-c039-prog-autNON e' "S" (il progressivo automatico disabilita la ricomposizione perche' rende imprevedibile il CMA)
Esempio: se componi-cm-avanzato = MA+CMF, la tabella marchio (es. MER-A-01) e' BOSCH, e la tabella codice fornitore (es. MER-A-02) e' GBH2600, il CMA risultante sara' BOSCHGBH2600.
Validazione delle tabelle CMA in importazione¶
Per ogni colonna MER-A-xx presente nel file:
- Il sistema verifica che il valore indicato esista nella tabella corrispondente (se la tabella e' configurata come "non libera")
- Se la tabella e' configurata come libera, qualsiasi valore e' accettato senza validazione
- Se il valore non esiste e la tabella non e' libera, l'importazione segnala un errore per quella riga
Esportazione delle tabelle CMA¶
Quando si esporta l'anagrafica merci, le tabelle CMA vengono incluse come colonne MER-A-xx nel file di output. Questo permette di esportare, modificare in Excel, e reimportare mantenendo la struttura CMA intatta.
Attenzione: campo MER-CMA obbligatorio
Se il codice merce avanzato e' attivo sulla configurazione dell'ambiente, la colonna MER-CMA diventa obbligatoria nel file di importazione. Se manca e non puo' essere ricomposta dalle tabelle, l'importazione segnalera' un errore.
Creazione automatica da listino fornitore¶
Quando si importa un listino fornitore e la configurazione componi-cm-avanzato e' attiva:
- Il sistema legge il marchio e il codice merce fornitore dal listino
- Compone il CMA secondo la regola configurata (es.
MA+CMF→BOSCH+GBH2600=BOSCHGBH2600) - Cerca se esiste gia' un articolo con quel CMA
- Se trovato, collega automaticamente il listino all'articolo esistente
- Se non trovato e la ricerca non individua il codice via CMA, la merce puo' essere creata automaticamente (se configurato)
Opzioni durante l'importazione da listino:
| Opzione | Effetto |
|---|---|
| Collego automaticamente | Se il codice fornitore e' gia' collegato a un articolo tramite un altro fornitore, viene collegato anche a questo. Se non trovato, viene cercato come codice merce avanzato |
| Imposta preferenziale | Se il collegamento avviene, il fornitore viene marcato come preferenziale |
Creazione massiva da codici fornitore¶
La funzione Creazione C.M. Avanzato da C.M. Forn. (Sistema > Utility) genera CMA per tutti gli articoli che hanno un codice merce fornitore ma non hanno ancora un CMA:
- Scansiona tutte le merci in anagrafica
- Per ciascuna, legge le schede fornitore-merce
- Se esiste un codice merce fornitore, crea il CMA corrispondente
- In caso di duplicato: se
euta-c039-prog-aut= "S", genera un codice univoco con suffisso progressivo; altrimenti segnala errore
Al termine mostra i contatori: Letti, Creati, Skip (mancava il codice fornitore), Falliti.
Inserimento manuale¶
Dall'anagrafica merci, e' possibile compilare manualmente il CMA di un articolo posizionandosi sul campo Codice avanzato e digitando il codice. Con gestione "Completa", si compilano le singole tabelle.
Inserimento automatico se lasciato vuoto
Se la configurazione ins-auto-cod-alternativo-vuoto = "S", il sistema crea automaticamente un CMA uguale al codice merce interno quando si inserisce una nuova merce senza specificare il CMA. Questo garantisce che tutte le merci siano visibili nelle ricerche per codice avanzato.
Utilizzo nella ricerca articoli¶
Il CMA e' il principale strumento di ricerca alternativa. Quando si cerca una merce in qualsiasi funzione del gestionale (ordini, bolle, fatture, ecc.), il campo di ricerca supporta:
Invio (ricerca diretta)¶
Sequenza automatica di ricerca:
- Cerca come codice merce avanzato (match esatto)
- Cerca come riferimento lotto interno (se trovato, restituisce anche il lotto)
- Cerca come codice EAN (barcode)
- Cerca su listino generale: se il codice corrisponde a un articolo sul listino, esegue la codifica automatica (se configurata con
ins-auto-da-listino-generale)
F8 (ricerca alfabetica)¶
Apre un elenco di tutti gli articoli ordinati per CMA. Se si digita una parte di codice prima di premere F8 (es. P03), la lista parte da quella posizione:
P031A
P031B
P032AAA
P034
...
F9 (ricerca avanzata)¶
Dipende dalla modalita' di gestione CMA configurata:
Con gestione "Semplice" (codice alternativo): Digita una o piu' parti separate da spazio → trova tutti i CMA che contengono le parti indicate.
Esempio: digitando P03 -AB si trovano:
- P031A-ABC
- X-ABCP03
Con gestione "Completa" (tabelle): - Campo vuoto + F9: apre la ricerca parametrica per caratteristiche — permette di selezionare i valori per ciascuna tabella CMA e ottenere gli articoli corrispondenti - Campo con testo + F9: ricerca per contenuto come nella modalita' semplice
Casi d'uso¶
Caso 1: Distributore multi-marca¶
Un distributore tratta articoli di 5 marchi (BOSCH, MAKITA, DEWALT, ecc.). Ogni fornitore ha un catalogo con codici propri. L'azienda vuole cercare gli articoli con il codice del catalogo fornitore.
Configurazione:
| Chiave | Valore |
|---|---|
| componi-cm-avanzato | MA+CMF |
| cma-tab-marchio | 01 |
| cma-tab-cmf | 02 |
| euta-c039-spz | N (compatta) |
Risultato:
- Importando il listino BOSCH con articolo GBH2600 → CMA = BOSCHGBH2600
- Importando il listino MAKITA con articolo HR2630 → CMA = MAKITAHR2630
- L'operatore digita BOSCH + F9 → vede tutti gli articoli BOSCH
- L'operatore digita GBH2600 + Invio → trova direttamente l'articolo
Caso 2: Importazione con prefisso anti-collisione¶
Un'azienda importa listini da fornitori che usano codici corti (es. A001, A002). Per evitare collisioni tra fornitori diversi con gli stessi codici, si aggiunge il marchio come prefisso.
Configurazione:
| Chiave | Valore |
|---|---|
| componi-cm-avanzato | MA+CMF |
| prefisso-cma | PM |
Risultato:
- Fornitore ALFA, articolo A001 → CMA = ALFAA001
- Fornitore BETA, articolo A001 → CMA = BETAA001
- Nessuna collisione tra i due
Caso 3: Import/export merci con tabelle CMA¶
Un'azienda vuole importare un file Excel con le merci e i relativi attributi di classificazione (brand, categoria, sottocategoria). Non ha il codice interno perche' gli articoli devono essere creati ex-novo.
Struttura del file Excel:
| MER-CMA | MER-A-01 | MER-A-03 | MER-A-04 | Descrizione | ... |
|---|---|---|---|---|---|
| BOSCH | ELETTRO | TRAPANI | Trapano SDS GBH2600 | ... | |
| MAKITA | ELETTRO | AVVITATORI | Avvitatore DHP453 | ... |
Configurazione:
| Chiave | Valore |
|---|---|
| componi-cm-avanzato | MA+CMF |
| euta-c039-prog-aut | N |
| ins-auto-cod-alternativo-vuoto | S |
Flusso:
1. Il sistema legge ogni riga del file
2. Non trova il codice interno → cerca il CMA
3. Il CMA e' vuoto → lo ricompone dalle tabelle: tab-01 (BOSCH) + tab-02 (vuota? usa CMF dal file) → CMA = BOSCH...
4. Non esiste una merce con quel CMA → la crea con un nuovo codice progressivo
5. Assegna le tabelle CMA (brand, categoria, sottocategoria) alla nuova merce
6. Le merci sono ricercabili per brand, categoria e CMA
Caso 4: E-commerce con categorie¶
Un'azienda vende online e vuole che le categorie dello shop siano collegate alle merci tramite il CMA.
Configurazione:
| Chiave | Valore |
|---|---|
| tab-cma-categoria | 03 |
| tab-cma-sottocategoria | 04 |
Risultato:
- Articolo con tabella 03 = ELETTRO e tabella 04 = TRAPANI → visibile nella categoria Elettroutensili > Trapani dello shop
- La sincronizzazione e-commerce legge le tabelle CMA per classificare gli articoli automaticamente
Caso 5: Ricerca parametrica su caratteristiche¶
Un magazziniere vuole trovare tutti gli articoli di una certa marca in una certa categoria, senza conoscere il codice interno.
Operazione:
1. Nel campo merce di qualsiasi funzione, premere F9 su campo vuoto
2. Si apre la ricerca per caratteristiche
3. Selezionare: Tabella 01 (Marca) = BOSCH, Tabella 03 (Categoria) = TRAPANI
4. Il sistema restituisce tutti gli articoli che hanno contemporaneamente marca BOSCH e categoria TRAPANI
5. Selezionare l'articolo desiderato
Caso 6: Gestione duplicati con progressivo¶
Un'azienda importa articoli dove piu' fornitori vendono lo stesso prodotto con marchio diverso. Il CMA risultante potrebbe essere duplicato.
Configurazione:
| Chiave | Valore |
|---|---|
| euta-c039-prog-aut | S |
Risultato:
- Prima importazione articolo A001 → CMA = ALFAA001
- Seconda importazione (stesso codice, altro fornitore) → CMA = ALFAA001-001 (suffisso progressivo automatico)
- Nessun conflitto, entrambi gli articoli sono ricercabili
Domande frequenti¶
Il CMA e' obbligatorio? No. Se non configurato, la ricerca usa solo codice interno, descrizione ed EAN. Il CMA e' un livello aggiuntivo facoltativo.
Posso avere piu' CMA per la stessa merce? No, ogni merce ha un solo CMA. Con la gestione "Completa" (tabelle), lo stesso articolo ha un valore per ciascuna tabella, quindi e' ricercabile per piu' chiavi.
Cosa succede se inserisco una merce senza CMA?
Se ins-auto-cod-alternativo-vuoto = "N", la merce non sara' visibile nelle ricerche per codice avanzato. Se = "S", il sistema crea automaticamente un CMA uguale al codice interno.
Come funziona la ricerca "Solo gia' esistenti" durante l'importazione? In questa modalita', se il file non ha il codice interno ma ha il CMA, il sistema cerca la merce tramite CMA. Se non la trova, salta la riga (non la crea). Se la trova, la aggiorna. E' utile per aggiornamenti massivi senza rischio di creare merci duplicate.
Cosa succede se cambio la struttura delle tabelle CMA? Modificare cosa rappresenta ciascuna tabella non aggiorna i dati gia' inseriti. Dopo una modifica strutturale, e' consigliabile rigenerare i CMA usando la funzione "Creazione C.M. Avanzato da C.M. Forn." (Sistema > Utility) oppure reimportando il file merci.
Il CMA viene esportato verso l'e-commerce e il DB Frontiera? Si'. Le tabelle CMA sono parte dei dati merce esportati. Le procedure di sincronizzazione leggono le tabelle CMA per classificare gli articoli (es. per categorie e-commerce).
Posso usare tabelle CMA "libere" (senza validazione)? Si'. Ogni tabella puo' essere configurata come "libera": in questo caso qualsiasi valore digitato e' accettato senza dover essere pre-codificato. E' utile per tabelle con valori molto variabili (es. codici catalogo fornitore).