Files
ware_house/specifica_storico_pickinglist.md

3.0 KiB

Specifica - Storico Picking List

Obiettivo

La finestra "Storico Picking List" deve permettere di consultare le picking list visibili nel modello dati Python parallelo, comprese quelle gia' esaurite, mostrando lo stato sintetico della lista e il dettaglio delle UDC.

Accesso

  • La finestra si apre dal launcher principale tramite il pulsante "Storico Picking List".
  • In una fase successiva potra' essere collegata alla form "Gestione Picking List" per aprire direttamente il dettaglio della lista selezionata.
  • La finestra e' disponibile agli operatori autenticati secondo il permesso launcher.open_history_pickinglist.

Comportamento UI

  • La finestra usa lo stesso posizionamento delle altre form del backoffice.
  • Tutte le interrogazioni al database sono asincrone.
  • Durante il caricamento della lista e del dettaglio deve comparire l'overlay standard dell'applicazione.
  • La parte alta mostra l'elenco delle picking list.
  • La parte bassa mostra il dettaglio della picking list selezionata.
  • Il filtro principale e' il numero documento, con ricerca parziale.

Logica dati

La form usa un ramo di lettura storico Python separato dalle viste operative C#.

Oggetti SQL dedicati:

  • dbo.py_vPreparaPackingListSAMA1
  • dbo.py_vPreparaPackingList
  • dbo.py_XMag_ViewPackingListStorico

Questi oggetti sono creati dallo script apply_python_pickinglist_history_views.sql e possono essere rimossi con rollback_python_pickinglist_history_views.sql.

La vista storica non usa dbo.vPreparaPackingListSAMA1, dbo.vPreparaPackingList o dbo.XMag_ViewPackingList, cosi' il programma C# continua a lavorare sul proprio ramo legacy.

La vista dbo.py_vPreparaPackingListSAMA1 include:

  • documenti dell'anno corrente: BAMTES.ANNDOC >= YEAR(GETDATE())
  • documenti aperti e chiusi: BAMTES.STATO IN ('P', 'D')
  • nessun filtro sugli ultimi 10 giorni

La lista alta aggrega per documento:

  • data documento
  • stato documento gestionale
  • totale UDC
  • righe residue
  • righe spedite
  • stato operativo
  • stato prenotazione Python

Lo stato operativo e' calcolato cosi':

  • Chiusa: il documento gestionale ha BAMTES.STATO = 'D'.
  • Da lavorare: nessuna riga risulta spedita.
  • In corso: almeno una riga risulta spedita e almeno una riga resta da lavorare.
  • Esaurita: non restano righe operative.

Il criterio primario per riconoscere una picking list lavorata nello storico e' lo stato gestionale BAMTES.STATO. La cella 9999 = 7G.1.1 resta un indizio logistico importante, ma non e' sufficiente come unico criterio storico perche' una UDC non piu' in giacenza puo' ricadere nei fallback della vista.

Convenzioni operative

Una riga con Cella = 9999 viene considerata spedita/prelevata, coerentemente con la convenzione 7G.1.1 osservata sul barcode.

Limiti noti

Questa finestra e' una prima vista storica di consultazione. Non sostituisce ancora una vera storicizzazione annuale progettata a database. Quando il database verra' riprogettato per FlyWMS, sara' preferibile costruire una vista storica dedicata, con date di chiusura lista, utente, tempi e movimento UDC collegato.