75 lines
2.9 KiB
Markdown
75 lines
2.9 KiB
Markdown
# 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.
|