44 lines
1.2 KiB
Markdown
44 lines
1.2 KiB
Markdown
# `search_pallets.py`
|
|
|
|
## Scopo
|
|
|
|
Questo modulo consente di cercare pallet/UDC, lotti e codici prodotto su tutto
|
|
il magazzino e di esportare i risultati.
|
|
|
|
## Flusso operativo
|
|
|
|
```{mermaid}
|
|
flowchart TD
|
|
A["open_search_window()"] --> B["SearchWindow.__init__()"]
|
|
B --> C["_build_ui()"]
|
|
C --> D["Utente compila filtri"]
|
|
D --> E["_do_search()"]
|
|
E --> F{"Filtri vuoti?"}
|
|
F -- Si --> G["Richiesta conferma ricerca globale"]
|
|
F -- No --> H["Prepara parametri SQL"]
|
|
G --> H
|
|
H --> I["AsyncRunner.run(query_json SQL_SEARCH)"]
|
|
I --> J["_ok()"]
|
|
J --> K["Popola Treeview"]
|
|
K --> L["Eventuale reset campi"]
|
|
```
|
|
|
|
## Ordinamento ed export
|
|
|
|
```{mermaid}
|
|
flowchart TD
|
|
A["Doppio click su header"] --> B["_on_heading_double_click()"]
|
|
B --> C["_sort_by_column()"]
|
|
C --> D["Riordina righe del Treeview"]
|
|
|
|
E["Click Export XLSX"] --> F["_export_xlsx()"]
|
|
F --> G["Legge righe visibili"]
|
|
G --> H["Scrive workbook Excel"]
|
|
```
|
|
|
|
## Note
|
|
|
|
- Il modulo usa `Treeview` come backend principale.
|
|
- Le ricerche possono essere molto ampie: per questo, senza filtri, viene chiesta conferma.
|
|
- `IDCella = 9999` viene evidenziata con uno stile dedicato.
|