Aggiungi sequenza prelievo e gestisci destinazioni senza nazione
This commit is contained in:
74
specifica_sequenza_prelievo.md
Normal file
74
specifica_sequenza_prelievo.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Sequenza di prelievo per picking list
|
||||
|
||||
## Obiettivo
|
||||
|
||||
Consentire al responsabile di definire, per una singola picking list, l'ordine
|
||||
dei gruppi di ubicazioni che il barcode deve seguire. Il barcode continua a
|
||||
presentare una sola UDC alla volta e non espone la configurazione all'operatore.
|
||||
|
||||
## Ordine predefinito
|
||||
|
||||
In assenza di una configurazione personalizzata il sistema propone:
|
||||
|
||||
1. UDC `Non scaff.` nella cella convenzionale `1000` / `5E.1.1`.
|
||||
2. UDC negli scaffali secondo il valore legacy `Celle.Ordinamento`.
|
||||
|
||||
L'ordinamento globale delle celle non viene modificato.
|
||||
|
||||
## Configurazione per documento
|
||||
|
||||
La finestra `Sequenza di prelievo` si apre dalla picking list selezionata in
|
||||
`Gestione Picking List`. I gruppi disponibili sono `Non scaff.` e le corsie
|
||||
effettivamente presenti nel contenuto residuo del documento.
|
||||
|
||||
L'utente puo' trascinare i gruppi nell'area destra, usare il doppio clic oppure
|
||||
i pulsanti `Aggiungi`, `Rimuovi`, `Su` e `Giu'`. L'ordine dall'alto verso il
|
||||
basso definisce la precedenza dei gruppi configurati.
|
||||
|
||||
Una sequenza puo' essere parziale: gli eventuali gruppi non inseriti vengono
|
||||
accodati secondo l'ordine predefinito. In questo modo una configurazione non
|
||||
puo' rendere invisibili UDC o scaffali aggiunti successivamente alla picking
|
||||
list.
|
||||
|
||||
`Ripristina default` elimina la configurazione del documento e riattiva
|
||||
immediatamente l'ordine standard.
|
||||
|
||||
## Persistenza e concorrenza
|
||||
|
||||
La tabella Python-only `dbo.py_PickingListPrelievoSequenza` memorizza una riga
|
||||
per documento e gruppo, con ordine e campi di audit. Il salvataggio marca come
|
||||
cancellata la configurazione precedente e inserisce quella nuova in una singola
|
||||
transazione con `XACT_ABORT ON`, conservando quindi anche lo storico delle
|
||||
variazioni.
|
||||
|
||||
Due picking list possono quindi avere sequenze diverse senza modificare le
|
||||
celle, le altre liste o gli oggetti usati dal programma C#.
|
||||
|
||||
## Consumo dal barcode
|
||||
|
||||
La vista Python-only `dbo.py_ViewPackingListPrelievo` deriva dalla vista
|
||||
residuale, esclude quindi le UDC gia' in `7G.1.1` e calcola
|
||||
`OrdinePrelievoGruppo`. Sia la griglia di dettaglio sia il repository barcode
|
||||
ordinano per:
|
||||
|
||||
1. `OrdinePrelievoGruppo`;
|
||||
2. `Ordinamento` legacy della cella;
|
||||
3. codice pallet come criterio stabile finale.
|
||||
|
||||
Pausa, ripresa, salto UDC, F1/F2 e prenotazione non vengono modificati. Quando
|
||||
una UDC viene movimentata, la richiesta successiva rilegge la vista e usa la
|
||||
sequenza corrente sul contenuto residuo.
|
||||
|
||||
## Installazione e rollback
|
||||
|
||||
Per un aggiornamento completo del database online usare
|
||||
`apply_online_python_wms_full_patch.sql`.
|
||||
|
||||
Per applicare solo questa evoluzione a un database gia' aggiornato:
|
||||
|
||||
1. eseguire `apply_pickinglist_days_filter_patch.sql`;
|
||||
2. eseguire `apply_pickinglist_sequence_patch.sql`.
|
||||
|
||||
Il rollback specifico e' `rollback_pickinglist_sequence_patch.sql`; dopo il
|
||||
rollback deve essere ripristinata anche una versione applicativa precedente,
|
||||
poiche' il nuovo codice interroga la vista di prelievo.
|
||||
Reference in New Issue
Block a user