Processo di generazione automatica codici clienti e fornitori
La creazione automatica dei codici dell'anagrafica cliente/fornitore viene attivata dal programma di Configurazione alla voce Contabilità accendendo l'opzione Generaz. autom. codici cli/fo. Il codice generato prevede la possibilità di richiedere all'utente alcuni caratteri da utilizzare come prefisso per il codice (Numero di bytes protocollo). Naturalmente questa possibilità è utilizzabile solo se, in fase dI configurazione della ditta, è stato deciso di utilizzare una codifica alfanumerica per i codici dei sottoconti.
L'algoritmo di generazione dei codici dipende dal numero di caratteri indicati come prefisso e dal numero di caratteri complessivo previsto per la lunghezza del codice sottoconto oppure solo dal numero di caratteri massimo del codice sottoconto se la codifica è numerica.
Codifica alfanumerica | Codifica numerica |
---|---|
Stringa con prefisso seguita da un progressivo numerico completato con zeri a sinistra fino alla lunghezza max (XXX9999999) | Numero (9999999999) |
Ad esempio nel caso di codifica alfanumerica e lunghezza pari a 6 caratteri, supponendo di utilizzare un solo carattere di prefisso, 'C' per i clienti e 'F' per i fornitori, i codici clienti generati vanno da C00001 a C99999 e quelli fornitori da F00001 a F99999.
Il progressivo numerico è determinato sulla base dell'ultimo codice generato o, nel caso di codifica alfanumerica, dell'ultimo codice generato a parità di prefisso.
Per comprendere l'algoritmo si consideri il seguente esempio:
Tipologia codice sottoconto | alfanumerica |
Lunghezza codice sottoconto | 10 caratteri |
Lunghezza prefisso | 1 carattere |
Supponendo di utilizzare come prefisso la lettera C [1] come prefisso il nuovo codice sarà ottenuto incrementando il progressivo numerico dell'ultimo codice che ha il carattere C come carattere iniziale. Pertanto per prima cosa si deve ricavare dalla tabella dei sottoconti (Piano dei Conti) il maggiore tra i codici che iniziano col carattere C. Per questo scopo viene utilizzato il seguente statement SQL:
|
Il primo codice restituito dalla query è processato in modo da eliminare i caratteri di prefisso (la C in questo caso).
La porzione di stringa ottenuta è convertita in numero e incrementata 1 ottenendo così il progressivo numerico per il prossimo codice.
|
Le eccezioni possibili sono:
- se Y non è uguale al prefisso (C nell'esempio) non esiste nessun codice precedente e quindi il codice generato è Y000000001 (C000000001 nell'esempio)
- se XXXXXXXXX=999999999 il protocollo è terminato quindi non è generato nessun codice (SIGLA® mostra un messaggio di avvertimento del tipo:Raggiunto numero massimo di clienti/fornitori)
- se XXXXXXXXX non è una stringa numerica la sua conversione in numero da come risultato zero e quindi il codice generato è Y000000001 (C000000001 nell'esempio).
|
Note
- ↑ La logica potrebbe essere che in fase di immissione di un nuovo codice cliente si utilizza il prefisso C mentre in fase di immissione di un nuovo fornitore la lettera F.
Voci correlate
Anagrafica cliente/fornitore
Piano dei Conti
Configurazione