Gestione “Magazzini”
Come anticipato, il componente aggiuntivo permette di estendere le funzionalità standard di vtenext CRM relativamente alla gestione dei magazzini. La configurazione del componente è molto semplice e prevede di partire dalla creazione di un magazzino.
Creazione di un Magazzino
- Le informazioni da inserire per la creazione sono:
- Il nome del Magazzino
La tipologia del Magazzino che può essere:
- Deposito
- Furgone
- Altro
Figura 1 - Anagrafica Magazzino Sede
Dopo aver creato il Magazzino, si procede alla configurazione nella sezione delle Impostazioni:
Impostazioni > Sezione “Altre Impostazioni” > Impostazioni Magazzino
Qui sarà possibile creare i valori di default in conformità a varie combinazioni possibili e i relativi tipi di documento che verranno utilizzati per la movimentazione.
Visualizzazione dello storico movimenti di magazzino
Per visualizzare lo storico dei movimenti relativi al magazzino creato, è possibile selezionare la voce “Storico Movimenti” presente nel menù delle Relazioni.
Verrà così riportato l’elenco delle movimentazioni del Magazzino in oggetto.
Figura 2 – Storico Movimenti
Documento interno
Con i magazzini viene introdotto il nuovo modulo “Documento interno” che ha la particolarità di non avere relazionato un’Azienda. Tale entità ha lo scopo di poter creare un documento che movimenti il magazzino (es. carico, scarico, rettifica) o i magazzini (es. trasferimento merci) indipendentemente da un cliente o fornitore.
DDT passivo e Fattura passiva
Questi due moduli permettono di creare rispettivamente un “Documento di trasporto” e una “Fattura di acquisto” da Fornitore. I Listini qui non vengono applicati in automatico e non è presente il campo Listino nelle due entità; c’è ugualmente la possibilità di selezionare il prezzo di listino manualmente dalla riga. La movimentazione di magazzino invece segue le logiche standard del modulo Magazzini basandosi sulle impostazioni del Tipo documento.
Quantità di Magazzino
Nel modulo Magazzini è presente la relatedlist “Prodotti” che mostra per prodotto Giacenza, Ordinato, Impegnato e Disponibilità.
Figura 3 - Prodotti
Analogamente alla precedente è presente nel modulo Prodotti una relatedlist “Magazzino” che visualizza per magazzino le quattro quantità specifiche.
Figura 4 - Magazzino
Configurazione logiche di gestione Magazzino
I Magazzini prevedono una pre-configurazione standard di base (necessaria la verifica). Come anticipato, seguendo il percorso Impostazioni > Sezione “Altre Impostazioni” > Impostazioni Magazzino sarà possibile procedere alla configurazione.
Nell’esempio sono stati configurati i Magazzini “Sede” e “Sede Staccata”. Per ciascuno sarà ora necessario impostare per Modulo, Tipo Documento e Stato:
- i valori di default che verranno compilati al momento della creazione del documento
l’azione da svolgere sul magazzino al momento del salvataggio
Per impostare un valore di default è sufficiente scegliere:
- il modulo
- il tipo documento
- il magazzino di riferimento che sarà utilizzato come default
- una serie per la numerazione dei documenti
- lo stato di default
Ovviamente questi valori saranno poi derogabili nel documento.
Conclusa la definizione dei valori di default, dovranno essere create le azioni che verranno eseguite al salvataggio del documento in base al modulo, allo stato e al tipo documento appena definito.
È possibile impostare:
se si tratta di:
- carico
- scarico
- nulla
su che magazzino effettuare i movimenti,
su che tipo di quantità:
- giacenza
- ordinato
- impegnato
È inoltre possibile definire più azioni per modulo, stato e tipo documento. I campi “Tipo Documento” e “Stato” sono campi gestiti con l’Editor di Picklist Standard.
Figura 6 - Tipo Documento e Stato
Per quanto riguarda lo “Stato”, occorre porre particolare attenzione, ad alcuni valori. Il valore di default presume particolari funzionalità:
“Canceled”:
- Se un documento è in questo stato vengono cancellati i movimenti per quel documento e storna le quantità a magazzino. Note tecniche: in caso si volesse modificare tale valore il file da modificare è il seguente ./modules/ SDK/src/WarehouseFiles/utils/WarehouseUtils.php
“Provisional”:
- Solo se un documento è in stato Provisional è possibile modificarlo o cancellarlo. Note tecniche: in caso si volesse modificare tale valore il file da modificare è il seguente ./modules/SDK/src/ WarehouseFiles/StatusInventoryPermissions.php
- In creazione se non è presente alcuno stato documento nelle impostazioni di magazzino per quel tipo documento di default imposta Provisional. Note tecniche: in caso si volesse modificare tale valore il file da modificare è il seguente ./modules/SDK/src/ WarehouseFiles/ViewStatus.php
Procedura di Ricalcolo Saldi Magazzino
È stata implementata una procedura per il ricalcolo saldi di magazzino e relativi movimenti. Ciò permette di ricostruire le quantità (giacenza, ordinato, impegnato e disponibilità) per prodotto e magazzino basandosi sulle righe dei documenti. La procedura, seguendo la logica delle causali documento configurate nelle “Impostazioni Magazzino”, ricostruirà eventuali movimenti mancanti ed eliminerà quelli superflui.
Il ricalcolo viene incontro, alla basilare esigenza di:
- modifica del comportamento di una causale;
- oppure all’esigenza dell’utente di ricalcolare ex-novo gli aggreganti di magazzino in base alle righe documento presenti nel sistema.
Per avviare la procedura, selezionare l’opzione. “Ricalcolo Saldi Magazzino” dal menù “Altro” presente nell’anagrafica del Magazzino interessato.
Il ricalcolo dei saldi, essendo potenzialmente una procedura onerosa in termini di tempo di elaborazione (dipendente dal numero di righe documenti da processare), viene eseguito in backgroud, ovvero in modalità asincrona rispetto al funzionamento del CRM. Apparirà quindi un messaggio di avvio della procedura, al quale non seguirà nessun messaggio di conclusione procedura. Le operazioni verranno tuttavia tracciate in un apposito file di log sul server.
Per evitare il sormontarsi di esecuzioni contemporanee, è stato implementato un sistema di blocco ricalcolo nel caso in cui a parità di magazzino, vi sia già un processo di ricalcolo saldi in esecuzione. Si possono eseguire contemporaneamente più ricalcoli su magazzini diversi (non più di uno sullo stesso).
Note tecniche: nel è necessario modificare la variabile $array_permission_status nel file modules/SDK/src/WarehouseFiles/WarehouseAlignment/WarehouseAlignmentConfig.Warehouse/Warehouse.php èandando possibilea impostarespecificare ilogni funzionamento in debug = 1valore per permettereogni semplicemente di verificare tramite il log creato in logs/warehouse_alignment_[crmid_magazzino].log quante righe movimenti e quantità verrebbero aggiornate dalla procedura. Inoltre, è possibile esplicitare quali moduli documento si intente includere nella procedura (per esempio moduli documento personalizzati).modulo.