# Checklist Test Campo Picking List

## Deploy patch

1. Apri [apply_plist_reservation_patch.sql](C:/devel/python/ware_house/apply_plist_reservation_patch.sql) in SSMS.
2. Verifica di essere collegato al database corretto.
3. Esegui lo script completo.
4. Controlla che l'esecuzione termini senza errori SQL.

## Verifica oggetti DB

1. Verifica che esista la tabella `dbo.PickingListReservation`.
2. Verifica che siano stati aggiornati questi oggetti:
   - `dbo.sp_xExePackingListPallet`
   - `dbo.XMag_ViewPackingList`
   - `dbo.sp_xExePackingListPalletPrenota`
   - `dbo.sp_ControllaPrenotazionePackingListPalletNew`
3. Verifica che in `dbo.WarehouseObjectBackup` esistano le copie con tag `plist_reservation_fix_alpha2`.

## Test backoffice Gestione Picking List

1. Apri `Gestione Picking List`.
2. Verifica che la griglia alta mostri solo le UDC residue.
3. Prenota una picking list.
4. Verifica che risulti prenotata solo quella.
5. Premi di nuovo `Prenota` sulla stessa lista.
   - Atteso: non cambia nulla.
6. Premi `S-prenota` sulla lista prenotata.
   - Atteso: la lista passa a non prenotata.
7. Premi di nuovo `S-prenota`.
   - Atteso: non cambia nulla.
8. Prenota una lista con UDC non scaffalate.
   - Atteso: non devono accendersi altre liste per effetto della locazione `1000 / 5E1.1`.
9. Prenota una lista che in passato collideva sulla cella `8057`.
   - Atteso: non deve più prenotare anche l'altra.

## Test barcode

1. Con una sola lista prenotata, premi `F1`.
   - Atteso: viene proposta la coda alta della lista prenotata.
2. Premi `F2`.
   - Atteso: viene proposta la coda bassa non prenotata.
3. Preleva una UDC della picking list.
   - Atteso: compare `Ok Scarico`.
   - Atteso: compare `7G.1.1`.
4. Se la UDC è non scaffalata:
   - Atteso: compare `5E1.1`.
5. Dopo il prelievo, se restano altre UDC della stessa plist:
   - Atteso: compare la UDC successiva.

## Test fine lista

1. Lavora una picking list fino all'ultima UDC.
2. Verifica che la plist sparisca dalla griglia alta.
3. Verifica che la prenotazione venga automaticamente disattivata.
4. Verifica che `F1` non continui più a considerarla attiva.

## Test Ricarica

1. Durante il lavoro su una plist, premi `Ricarica`.
2. Verifica che la griglia alta mostri solo il residuo reale.
3. Verifica che la plist esaurita non ricompaia.

## Rollback

1. Apri [rollback_plist_reservation_patch.sql](C:/devel/python/ware_house/rollback_plist_reservation_patch.sql) in SSMS.
2. Verifica di essere sullo stesso database usato per il deploy.
3. Esegui lo script completo.
4. Controlla che il comportamento legacy sia ripristinato.
