# Installazione Warehouse Python

## Requisiti

1. Windows 11 o Windows Server 2019.
2. Python 3.13 o versione compatibile installata e presente nel `PATH`.
3. Microsoft ODBC Driver per SQL Server installato sul PC.
   - Driver consigliato: `ODBC Driver 17 for SQL Server`.
4. Accesso di rete al server SQL.

## Installazione dipendenze

Aprire PowerShell nella cartella del programma ed eseguire:

```powershell
python -m pip install -r requirements.txt
```

## Avvio backoffice

```powershell
python main.py
```

Al primo avvio, se manca `db_connection.json`, il programma mostra la finestra di configurazione database.

Per avviare senza finestra console:

```powershell
pythonw warehouse.pyw
```

## Avvio client barcode

```powershell
python barcode_client.py
```

Per avviare senza finestra console:

```powershell
pythonw barcode.pyw
```

## Patch DB Picking List

Per usare in parallelo C# legacy e Python, eseguire in SSMS:

```text
apply_python_parallel_pickinglist_patch.sql
```

Questa patch crea solo oggetti dedicati al Python con prefisso `py_` e non modifica gli oggetti legacy usati dal C#.

Per rimuovere gli oggetti Python dopo i test, eseguire:

```text
rollback_python_parallel_pickinglist_patch.sql
```

La vecchia patch `apply_plist_reservation_patch.sql` modifica invece gli oggetti legacy: usarla solo se si vuole sostituire temporaneamente il comportamento del C#.
