# `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

            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

            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.