7 Commits

72 changed files with 13672 additions and 1611 deletions

61
INSTALLAZIONE.md Normal file
View File

@@ -0,0 +1,61 @@
# 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#.

View File

@@ -0,0 +1,821 @@
# Analisi bug prenotazione Picking List
## Obiettivo
Documentare in modo chiaro:
- il comportamento attuale della prenotazione picking list
- il bug osservato
- la causa tecnica del bug
- la correzione proposta lato stored procedure
Il documento serve come base di riferimento prima di modificare la logica SQL legacy.
---
## Contesto operativo
L'operatore, dal backoffice:
1. seleziona una picking list
2. preme `Prenota`
3. si aspetta che **una sola** picking list risulti prenotata
Il comportamento atteso del sistema è:
- una sola picking list prenotata alla volta
- quella picking list diventa la coda `F1` sul barcode
- le altre picking list restano non prenotate e alimentano la coda `F2`
---
## Comportamento attuale
Il comportamento effettivamente osservato è questo:
1. l'operatore seleziona una sola picking list
2. preme `Prenota`
3. risultano prenotate **due** picking list, non una sola
Questo comportamento è stato osservato:
- nell'applicazione Python
- anche nell'applicazione C#
Quindi il bug **non nasce nella UI Python**.
---
## Verifica di aderenza Python / C#
### Lato Python
La finestra [gestione_pickinglist.py](C:/devel/python/ware_house/gestione_pickinglist.py) chiama:
- [sp_xExePackingListPallet_async](C:/devel/python/ware_house/prenota_sprenota_sql.py)
che esegue direttamente la stored procedure SQL legacy:
- `dbo.sp_xExePackingListPallet`
### Lato C#
La finestra legacy [FRMagViewLayout.cs](C:/devel/seawall_decompiled/decompiled/SWMagViewLayout/FRMagViewLayout.cs) chiama anch'essa:
- `dbo.sp_xExePackingListPallet`
### Conclusione
Python e C# usano la **stessa** logica DB per la prenotazione.
Se il bug compare in entrambi, il problema è nella stored procedure o nel modello dati su cui essa si basa.
---
## Stato attuale della griglia picking list
La query summary della picking list in [gestione_pickinglist.py](C:/devel/python/ware_house/gestione_pickinglist.py) aggrega così:
- `GROUP BY Documento, CodNazione, NAZIONE, Stato`
- `MAX(IDStato) AS IDStato`
Questo significa:
- se anche **una sola riga** del documento ha `IDStato = 1`
- l'intera picking list appare come prenotata
Questa scelta è coerente con l'idea UI di “documento prenotato”, ma diventa problematica se la stored non lavora in modo esclusivo per documento.
---
## Stored procedure attuale
Stored coinvolta:
- [sp_xExePackingListPallet](C:/devel/python/ware_house/script.sql)
### Logica attuale
La stored:
1. legge da `XMag_ViewPackingList`
2. estrae le `Cella` associate al `Documento`
3. per ogni cella:
- se `IDStato = 0`, la mette a `1`
- altrimenti la rimette a `0`
Quindi la stored non prenota davvero una picking list come entità esclusiva.
Prenota invece:
- **le celle** toccate dal documento selezionato
### Conseguenza tecnica
Se due documenti condividono almeno una stessa cella:
- la prenotazione della prima list mette `IDStato = 1` sulla cella condivisa
- anche la seconda list, leggendo quella stessa cella, eredita `IDStato = 1`
- la griglia alta, usando `MAX(IDStato)`, la mostra come prenotata
---
## Evidenze raccolte
### Query 1 - celle del sottoinsieme di documenti osservati
Scopo:
- verificare quali celle sono coinvolte dai documenti sospetti
- controllare rapidamente se esistono sovrapposizioni evidenti
Query:
```sql
SELECT
Documento,
Cella,
COUNT(*) AS Righe
FROM dbo.XMag_ViewPackingList
WHERE Documento IN (<doc1>, <doc2>)
GROUP BY Documento, Cella
ORDER BY Cella, Documento;
```
Uso nel caso analizzato:
- ha permesso di vedere, per esempio, che documenti diversi insistono sulla stessa cella `8057`
### Query di controllo celle condivise
Risultato:
```text
1000 2
8057 2
```
Interpretazione:
- la cella `1000` è condivisa da 2 documenti
- la cella `8057` è condivisa da 2 documenti
### Query di dettaglio documenti / celle condivise
Risultato:
```text
135 1000 16 16
137 1000 2 1
133 8057 1 1
135 8057 1 1
```
Interpretazione:
- documento `135` e documento `137` condividono la cella `1000`
- documento `133` e documento `135` condividono la cella `8057`
Questa è una prova concreta del fatto che la prenotazione a livello cella può propagarsi a più documenti.
### Query 2 - ricerca globale delle celle condivise
Scopo:
- trovare quali celle sono condivise da più documenti
- identificare i punti strutturalmente più critici del dataset
Query:
```sql
SELECT
Cella,
COUNT(DISTINCT Documento) AS NumDocumenti
FROM dbo.XMag_ViewPackingList
GROUP BY Cella
HAVING COUNT(DISTINCT Documento) > 1
ORDER BY NumDocumenti DESC, Cella;
```
Risultato osservato:
```text
1000 2
8057 2
```
Interpretazione:
- la cella `1000` è condivisa da 2 documenti
- la cella `8057` è condivisa da 2 documenti
### Query 3 - dettaglio completo delle collisioni sulle celle condivise
Scopo:
- capire esattamente quali documenti condividono le celle critiche
- vedere quante righe e quanti pallet distinti insistono su quelle celle
Query:
```sql
SELECT
Documento,
Cella,
COUNT(*) AS Righe,
COUNT(DISTINCT Pallet) AS Pallet
FROM dbo.XMag_ViewPackingList
WHERE Cella IN (1000, 8057)
GROUP BY Documento, Cella
ORDER BY Cella, Documento;
```
Risultato osservato:
```text
135 1000 16 16
137 1000 2 1
133 8057 1 1
135 8057 1 1
```
Interpretazione:
- documento `135` e documento `137` condividono la cella `1000`
- documento `133` e documento `135` condividono la cella `8057`
Queste tre query, lette insieme, sono quelle che hanno permesso di evidenziare in modo oggettivo il bug.
---
## Ruolo delle celle convenzionali
Dalle verifiche fatte con il magazziniere:
- `1000` = `5E1.1`
- `9999` = `7G.1.1`
La cella `1000` è una locazione convenzionale delle UDC non scaffalate.
Questo rende il problema ancora più frequente, perché:
- più documenti possono convivere sulla stessa locazione convenzionale `1000`
- quindi la prenotazione per cella tende naturalmente a contaminare più picking list
---
## Diagnosi finale del bug
Il bug è dovuto alla combinazione di due scelte:
1. la stored `sp_xExePackingListPallet` lavora a livello **cella**
2. la UI mostra la prenotazione a livello **documento**
Quando esistono celle condivise tra documenti:
- la prenotazione di un documento produce `IDStato = 1` anche su righe lette da altri documenti
- quindi più picking list risultano prenotate
### Forma sintetica del bug
> Il sistema non sta prenotando una singola picking list in modo esclusivo.
> Sta prenotando le celle associate a quel documento, e la UI deduce da lì lo stato della picking list.
---
# Correzione proposta
## Obiettivo della correzione
Allineare il comportamento del sistema alla regola di business desiderata:
> una sola picking list prenotata per volta
Questo implica che il comando `Prenota` deve produrre uno stato esclusivo a livello documento.
---
## Principio della nuova logica
La stored non deve più comportarsi come un semplice toggle delle celle del documento selezionato.
Deve invece:
1. rimuovere la prenotazione da tutte le altre picking list
2. applicare la prenotazione solo al documento selezionato
In altre parole:
- **prima** si resetta lo stato prenotato degli altri documenti
- **poi** si prenota il documento scelto
---
## Comportamento desiderato dopo la correzione
### Caso `Prenota`
Quando l'operatore prenota il documento `D`:
1. se il documento `D` è già prenotato, non succede nulla
2. se il documento `D` non è prenotato:
- tutte le celle prenotate appartenenti ad altri documenti vengono riportate a `IDStato = 0`
- tutte le celle del documento `D` vengono portate a `IDStato = 1`
- il log della picking list resta aggiornato come oggi
Effetto atteso:
- solo il documento `D` risulta prenotato nella griglia
- solo il documento `D` alimenta la coda `F1`
- tutte le altre picking list alimentano `F2`
- premere `Prenota` più volte sulla stessa picking list già prenotata non deve produrre toggle né effetti collaterali
### Caso `S-prenota`
Quando l'operatore s-prenota il documento `D`:
1. se il documento `D` non è prenotato, non succede nulla
2. se il documento `D` è prenotato:
- le celle del documento `D` vengono riportate a `IDStato = 0`
- nessun altro documento viene automaticamente prenotato
Effetto atteso:
- nessuna picking list resta prenotata, salvo una nuova prenotazione esplicita
- premere `S-prenota` più volte sulla stessa picking list già non prenotata non deve produrre toggle né effetti collaterali
---
## Strategia tecnica consigliata
### Approccio minimo e prudente
La correzione più sicura, restando vicini al legacy, è mantenere una stored unica ma con una semantica esplicita guidata da un parametro azione.
Proposta:
- stored unica con parametro `@Azione`
- `P` = Prenota
- `S` = S-prenota
Logica:
1. determinare se il documento selezionato è già prenotato o no
2. se `@Azione = 'P'`
- se il documento è già prenotato: non fare nulla
- altrimenti:
- azzerare `IDStato = 1` sulle celle coinvolte da altri documenti prenotati
- impostare `IDStato = 1` sulle celle del documento selezionato
3. se `@Azione = 'S'`
- se il documento non è prenotato: non fare nulla
- altrimenti:
- riportare a `0` solo le celle del documento selezionato
Questa logica mantiene:
- la semantica esistente a livello cella
- ma aggiunge l'esclusività a livello documento
- e mantiene pulita la semantica distinta dei pulsanti `Prenota` e `S-prenota`
### Vantaggi
- modifica contenuta
- comportamento coerente con l'operatività reale
- nessuna necessità immediata di cambiare UI Python o C#
- comportamento idempotente dei pulsanti
---
## Rischi da considerare
### 1. Celle condivise tra documenti
La presenza di celle condivise resta un'anomalia logica del dominio.
Anche con la correzione proposta:
- se una cella appartiene contemporaneamente a più documenti nella vista
- la semantica “quale documento possiede davvero la prenotazione della cella” resta concettualmente debole
Tuttavia la correzione proposta risolve il bug visibile di doppia picking list prenotata.
### 2. Effetti sul flusso barcode
Il barcode usa `IDStato = 1` per la coda `F1`.
Quindi la nuova esclusività deve essere verificata attentamente su:
- proposta UDC in `F1`
- proposta UDC in `F2`
- avanzamento dopo prelievo
- ri-prenotazione automatica residua via `sp_ControllaPrenotazionePackingListPalletNew`
### 3. Interazione con `LogPackingList`
La stored attuale aggiorna il log del documento.
Questa parte va mantenuta, perché il barcode e la logica di ri-prenotazione residua si appoggiano su quel log.
---
## Criteri di accettazione della correzione
La correzione sarà considerata valida se, dopo `Prenota`:
1. una sola picking list risulta prenotata in griglia
2. `F1` propone solo UDC del documento prenotato
3. `F2` propone UDC delle altre picking list
4. il problema di doppia prenotazione non si ripresenta più nemmeno in presenza di celle condivise come `1000` o `8057`
E dopo `S-prenota`:
1. il documento selezionato torna non prenotato
2. `F1` non propone più quella picking list
---
## Decisione consigliata
La correzione lato stored procedure è consigliata e necessaria.
Motivo:
- il bug è reale
- il bug è condiviso da Python e C#
- il bug nasce dalla logica DB attuale
- la prenotazione esclusiva è coerente con il modello operativo del magazzino
---
## Stored procedure proposta
Di seguito una proposta documentale di stored unica con parametro `P` / `S`.
```sql
CREATE OR ALTER PROCEDURE [dbo].[sp_xExePackingListPallet]
@IDOperatore int,
@Documento varchar(8),
@Azione char(1), -- 'P' = Prenota, 'S' = S-prenota
@RC int OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SET @RC = 0;
DECLARE @Nominativo varchar(50);
DECLARE @DocumentoPrenotato bit = 0;
DECLARE @Description varchar(255) = '';
DECLARE @Message varchar(255) = '';
DECLARE @IDResult int = 0;
SELECT @Nominativo = [Login]
FROM dbo.Operatori
WHERE ID = @IDOperatore;
IF @Azione NOT IN ('P', 'S')
BEGIN
SET @RC = -10;
RETURN;
END;
IF OBJECT_ID('tempdb..#TargetCelle') IS NOT NULL DROP TABLE #TargetCelle;
CREATE TABLE #TargetCelle (
IDCella int PRIMARY KEY
);
INSERT INTO #TargetCelle (IDCella)
SELECT DISTINCT Cella
FROM dbo.XMag_ViewPackingList
WHERE Documento = @Documento
AND Cella IS NOT NULL;
IF NOT EXISTS (SELECT 1 FROM #TargetCelle)
BEGIN
SET @RC = -20;
RETURN;
END;
IF EXISTS (
SELECT 1
FROM dbo.XMag_ViewPackingList
WHERE Documento = @Documento
AND ISNULL(IDStato, 0) = 1
)
BEGIN
SET @DocumentoPrenotato = 1;
END;
IF @Azione = 'P'
BEGIN
-- Gia' prenotata: no-op
IF @DocumentoPrenotato = 1
RETURN;
-- Azzera prenotazioni di altri documenti
UPDATE c
SET c.IDStato = 0,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
WHERE c.ID IN (
SELECT DISTINCT Cella
FROM dbo.XMag_ViewPackingList
WHERE ISNULL(IDStato, 0) = 1
AND Documento <> @Documento
AND Cella IS NOT NULL
);
-- Prenota solo il documento target
UPDATE c
SET c.IDStato = 1,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
INNER JOIN #TargetCelle t ON t.IDCella = c.ID;
SELECT TOP 1 @Description = NAZIONE
FROM dbo.XMag_ViewPackingList
WHERE Documento = @Documento;
EXEC dbo.sp_LogPackingList
@ID = 0,
@Code = @Documento,
@Description = @Description,
@Message = @Message OUTPUT,
@IDResult = @IDResult OUTPUT;
RETURN;
END;
IF @Azione = 'S'
BEGIN
-- Gia' non prenotata: no-op
IF @DocumentoPrenotato = 0
RETURN;
-- S-prenota solo il documento target
UPDATE c
SET c.IDStato = 0,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
INNER JOIN #TargetCelle t ON t.IDCella = c.ID;
RETURN;
END;
END;
```
### Note sulla stored proposta
- Non esiste più il toggle implicito.
- `Prenota` è idempotente:
- se la list è già prenotata, non cambia nulla.
- `S-prenota` è idempotente:
- se la list è già non prenotata, non cambia nulla.
- L'esclusività viene garantita solo nel ramo `P`.
- La logica continua a usare `IDStato` sulle celle, così il barcode legacy può continuare a usare `F1` / `F2` con la semantica attuale.
---
## Prossimo passo
Dopo approvazione di questo documento:
1. modificare `sp_xExePackingListPallet` o introdurre una nuova versione compatibile
2. testare il risultato con almeno 3 picking list attive
3. verificare il comportamento sul backoffice
4. verificare il comportamento sul barcode (`F1` / `F2`)
---
## Revisione dopo test reale su documenti 133 / 135 / 137
Dopo avere applicato la prima correzione proposta solo sulla stored, il bug **resta presente**:
- prenotando il documento `133`
- la picking list `135` continua a risultare prenotata
Questo comportamento è coerente con le evidenze raccolte:
- `133` e `135` condividono la cella `8057`
- `135` e `137` condividono la cella `1000`
### Conclusione aggiornata
La correzione che agisce **solo** su `Celle.IDStato` non è sufficiente.
Il motivo è strutturale:
1. la stored può anche rendere idempotente `Prenota` / `S-prenota`
2. ma se la UI e il barcode continuano a dedurre lo stato della prenotazione da `Celle.IDStato`
3. una cella condivisa continuerà a far risultare prenotati anche documenti diversi
Quindi il modello corretto deve spostare la **sorgente di verità** della prenotazione:
- **da:** stato della cella
- **a:** documento prenotato attivo
### Nuova architettura proposta
La soluzione corretta è questa:
1. introdurre una piccola tabella di stato, ad esempio `dbo.PickingListReservation`
2. salvare lì il **documento attualmente prenotato**
3. fare in modo che `XMag_ViewPackingList.IDStato` non legga più la prenotazione da `Celle.IDStato`
4. calcolare invece `IDStato` così:
- `1` se `Documento = documento prenotato attivo`
- `0` negli altri casi
In questo modo:
- il backoffice mostra prenotata una sola picking list
- il barcode continua a usare `F1` = `IDStato 1` e `F2` = `IDStato 0`
- le celle condivise `1000` / `8057` non contaminano più altri documenti
### Ruolo residuo di `Celle.IDStato`
`Celle.IDStato` può restare utile come supporto:
- per visualizzazioni legacy
- per evidenziare le celle del documento attivo
- per non rompere altre parti del sistema che si aspettano quel flag
Ma non deve più essere la **fonte primaria** della prenotazione documento.
### Stored definitiva da realizzare
La stored `sp_xExePackingListPallet` deve quindi:
1. mantenere il parametro `@Azione = 'P' | 'S'`
2. aggiornare la tabella `PickingListReservation`
3. opzionalmente riallineare anche `Celle.IDStato`
4. mantenere il log in `LogPackingList`
Semantica definitiva:
- `Prenota`
- se il documento è già quello attivo: nessun effetto
- altrimenti:
- il documento diventa lunico prenotato attivo
- tutte le altre picking list risultano non prenotate
- `S-prenota`
- se il documento non è quello attivo: nessun effetto
- se il documento è quello attivo:
- la prenotazione viene rimossa
- nessun altro documento viene acceso automaticamente
### Nota importante
Questa revisione **supera** la proposta precedente basata soltanto sul reset/set di `Celle.IDStato`.
La patch SQL definitiva deve quindi includere:
1. creazione della tabella `PickingListReservation`
2. `CREATE OR ALTER` della stored `sp_xExePackingListPallet`
3. `CREATE OR ALTER` della vista `XMag_ViewPackingList`
Questo è il primo assetto realmente coerente con il requisito di business:
> una sola picking list prenotata alla volta, anche in presenza di celle condivise.
---
## Evoluzione proposta: usare `ViewPackingListRestante` anche per la lista alta
### Situazione attuale
Nel legacy C# e nel Python attuale la distinzione è questa:
- la **griglia alta** legge la testata aggregata da `XMag_ViewPackingList`
- la **griglia bassa** legge il dettaglio da `ViewPackingListRestante`
La vista `ViewPackingListRestante` è definita come:
```sql
SELECT ...
FROM XMag_ViewPackingList
WHERE Cella <> 9999
```
Quindi:
- `XMag_ViewPackingList` contiene anche le UDC già finite nella locazione convenzionale `9999 = 7G.1.1`
- `ViewPackingListRestante` mostra invece solo le UDC ancora residue
### Conseguenza pratica
Allistante `t = 0` della prenotazione:
- se la picking list non è ancora stata lavorata, `XMag_ViewPackingList` e `ViewPackingListRestante` mostrano di fatto lo stesso insieme di UDC
- le UDC non scaffalate **restano presenti** in entrambe, perché stanno nella cella convenzionale `1000 = 5E1.1`
Dopo che il magazziniere ha iniziato i prelievi:
- le UDC già spedite/prelevate finiscono in `9999 = 7G.1.1`
- quindi spariscono da `ViewPackingListRestante`
- ma restano ancora visibili in `XMag_ViewPackingList`
### Limite del comportamento attuale
Con la summary alta basata su `XMag_ViewPackingList`:
- il comando `Ricarica` può continuare a mostrare picking list già lavorate in parte
- una picking list completamente esaurita può restare visibile nella lista alta
- il contenuto della lista alta non coincide più con il “residuo operativo reale”
In altre parole:
- la griglia bassa mostra il residuo
- la griglia alta mostra ancora lo storico completo
### Modifica proposta
La proposta è:
- usare `ViewPackingListRestante` anche come sorgente della **lista alta aggregata**
quindi sostituire, nella query summary di [gestione_pickinglist.py](C:/devel/python/ware_house/gestione_pickinglist.py):
- `FROM dbo.XMag_ViewPackingList`
con:
- `FROM dbo.ViewPackingListRestante`
mantenendo invariati:
- `GROUP BY Documento, CodNazione, NAZIONE, Stato`
- `COUNT(DISTINCT Pallet)`
- `COUNT(DISTINCT Lotto)`
- `COUNT(DISTINCT Articolo)`
- `SUM(Qta)`
- `MIN(Ordinamento)`
- `MAX(IDStato)`
### Effetti attesi
Con questa modifica:
1. allinizio una picking list nuova continua a comparire normalmente
2. durante il lavoro il pulsante `Ricarica` mostra solo ciò che resta davvero da prelevare
3. le UDC già finite in `7G.1.1` non inquinano più i conteggi della testata
4. una picking list completamente esaurita esce naturalmente dalla lista visibile
5. le UDC non scaffalate continuano a comparire correttamente, perché stanno in `1000 = 5E1.1`, non in `9999`
### Chiusura automatica della prenotazione
Per mantenere coerenti:
- griglia alta
- stato della prenotazione
- comportamento del barcode `F1`
la prenotazione attiva non deve soltanto sparire dalla griglia: deve essere anche **azzerata logicamente** quando il residuo arriva a zero.
La patch SQL definitiva quindi deve fare anche questo:
- dopo ogni movimento, controllare se il documento prenotato ha ancora righe in `ViewPackingListRestante`
- se non ne ha più:
- la prenotazione attiva va portata a `NULL` / `0`
- le eventuali celle residue marcate `IDStato = 1` vanno riportate a `0`
Effetto operativo:
- plist piena allinizio
- plist via via ridotta durante i prelievi
- plist che, allultima UDC, sparisce dalla griglia alta
- e nello stesso momento cessa anche di essere la coda `F1`
### Impatto funzionale
Questa modifica:
- **non è** una replica pedissequa del legacy C#
- ma è un miglioramento operativo coerente con il comportamento atteso dal magazzino
In particolare rende la lista alta:
- più coerente con il significato di “picking list ancora da esaurire”
- allineata al contenuto della griglia bassa
- più utile nei refresh successivi durante il lavoro reale
### Impatto tecnico
Il cambiamento richiesto è piccolo lato Python:
- aggiornare la query summary in [gestione_pickinglist.py](C:/devel/python/ware_house/gestione_pickinglist.py)
Non richiede, in prima battuta:
- modifiche alla stored di prenotazione
- modifiche al barcode
- modifiche a `ViewPackingListRestante`
### Decisione progettuale
Questa modifica va considerata come una scelta esplicita di evoluzione:
- **se vogliamo restare 1:1 col C#**, la lista alta resta su `XMag_ViewPackingList`
- **se vogliamo rendere il modulo più aderente al residuo operativo reale**, conviene passare a `ViewPackingListRestante`

View File

@@ -0,0 +1,182 @@
/*
Patch online - form storiche Python
Contenuto:
- crea/aggiorna le viste Python-only usate dalla form "Storico Picking List"
- non modifica stored procedure legacy C#
- non modifica le viste legacy C#
- non crea oggetti per "Storico movimenti UDC", perche' quella form legge in sola lettura:
dbo.MagazziniPallet, dbo.Celle, dbo.XMag_GiacenzaPalletPlistChiuse
Oggetti creati/aggiornati:
- dbo.py_vPreparaPackingListSAMA1
- dbo.py_vPreparaPackingList
- dbo.py_XMag_ViewPackingListStorico
*/
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
IF OBJECT_ID(N'dbo.PyPickingListReservation', N'U') IS NULL
BEGIN
CREATE TABLE [dbo].[PyPickingListReservation](
[ID] [tinyint] NOT NULL,
[Documento] [varchar](8) NULL,
[IDOperatore] [int] NULL,
[ModUtente] [varchar](50) NULL,
[ModDataOra] [datetime] NULL,
CONSTRAINT [PK_PyPickingListReservation] PRIMARY KEY CLUSTERED ([ID] ASC),
CONSTRAINT [CK_PyPickingListReservation_Singleton] CHECK ([ID] = 1)
) ON [PRIMARY];
END
GO
IF NOT EXISTS (SELECT 1 FROM dbo.PyPickingListReservation WHERE ID = 1)
BEGIN
INSERT INTO dbo.PyPickingListReservation (ID, Documento, IDOperatore, ModUtente, ModDataOra)
VALUES (1, NULL, NULL, NULL, GETDATE());
END
GO
CREATE OR ALTER VIEW [dbo].[py_vPreparaPackingListSAMA1]
AS
SELECT
SAMA1.dbo.LOTSER.NUMLOT,
SAMA1.dbo.ARTICO.CODICE,
SAMA1.dbo.FATRIG.DESCR,
LEFT(SAMA1.dbo.LOTSER.NUMSER, 6) AS UDC,
SUM(SAMA1.dbo.LOTSER.QTTGIAI) AS Qta,
SAMA1.dbo.BAMTES.NUMDOC,
SAMA1.dbo.BAMTES.DATDOC,
SAMA1.dbo.BAMTES.ID,
SAMA1.dbo.BAMTES.DESCRDEST,
SAMA1.dbo.BAMTES.STATO AS StatoDocumento,
SAMA1.dbo.NAZIONI.CODICE AS Expr1,
SAMA1.dbo.MTRASP.CODICE + ' ' + SAMA1.dbo.NAZIONI.DESCR AS NAZIONE,
SAMA1.dbo.BAMTES.IDMTRASP
FROM SAMA1.dbo.NAZIONI
INNER JOIN SAMA1.dbo.BAMTES
ON SAMA1.dbo.NAZIONI.ID = SAMA1.dbo.BAMTES.IDNAZDEST
RIGHT OUTER JOIN SAMA1.dbo.LOTTIBF
LEFT OUTER JOIN SAMA1.dbo.LOTSER
ON SAMA1.dbo.LOTTIBF.IDLOTSER = SAMA1.dbo.LOTSER.ID
LEFT OUTER JOIN SAMA1.dbo.ARTICO
ON SAMA1.dbo.LOTSER.IDARTICO = SAMA1.dbo.ARTICO.ID
LEFT OUTER JOIN SAMA1.dbo.FATRIG
ON SAMA1.dbo.LOTTIBF.IDFATRIG = SAMA1.dbo.FATRIG.ID
ON SAMA1.dbo.BAMTES.ID = SAMA1.dbo.FATRIG.IDBAM
LEFT OUTER JOIN SAMA1.sam.EXTUC
ON LEFT(SAMA1.dbo.LOTSER.NUMSER, 6) = SAMA1.sam.EXTUC.CODICE
LEFT OUTER JOIN SAMA1.dbo.MTRASP
ON SAMA1.dbo.BAMTES.IDMTRASP = SAMA1.dbo.MTRASP.ID
WHERE
SAMA1.dbo.BAMTES.ANNDOC >= YEAR(GETDATE())
AND SAMA1.dbo.BAMTES.STATO IN ('P', 'D')
AND SAMA1.dbo.LOTSER.NUMLOT <> '00000000000'
GROUP BY
SAMA1.dbo.LOTSER.NUMLOT,
SAMA1.dbo.ARTICO.CODICE,
SAMA1.dbo.FATRIG.DESCR,
LEFT(SAMA1.dbo.LOTSER.NUMSER, 6),
SAMA1.dbo.BAMTES.NUMDOC,
SAMA1.dbo.BAMTES.DATDOC,
SAMA1.dbo.BAMTES.ID,
SAMA1.dbo.BAMTES.DESCRDEST,
SAMA1.dbo.BAMTES.STATO,
SAMA1.dbo.NAZIONI.CODICE,
SAMA1.dbo.NAZIONI.DESCR,
SAMA1.dbo.BAMTES.IDMTRASP,
SAMA1.dbo.MTRASP.CODICE;
GO
CREATE OR ALTER VIEW [dbo].[py_vPreparaPackingList]
AS
SELECT
NUMLOT,
CODICE,
DESCR,
UDC,
Qta,
NUMDOC,
DATDOC,
ID,
DESCRDEST,
StatoDocumento,
Expr1,
NAZIONE
FROM dbo.py_vPreparaPackingListSAMA1
WHERE NUMLOT <> '';
GO
CREATE OR ALTER VIEW [dbo].[py_XMag_ViewPackingListStorico]
AS
SELECT TOP (100000)
prep.UDC AS Pallet,
prep.NUMLOT AS Lotto,
prep.CODICE AS Articolo,
prep.DESCR AS Descrizione,
prep.Qta,
prep.NUMDOC AS Documento,
prep.DATDOC AS DataDocumento,
prep.StatoDocumento,
prep.Expr1 AS CodNazione,
prep.NAZIONE,
CASE
WHEN prep.Expr1 = 'DE' THEN 10
WHEN prep.Expr1 = 'TH' THEN
CASE WHEN SUBSTRING(prep.DESCRDEST, 1, 2) = 'NA' THEN 11 ELSE 13 END
WHEN prep.Expr1 = 'MEX' THEN 12
ELSE 4
END AS Stato,
ISNULL(g.NumeroPallet, 0) AS PalletCella,
ISNULL(g.IDMagazzino, 1) AS Magazzino,
ISNULL(g.IDArea, 5) AS Area,
ISNULL(g.IDCella, 1000) AS Cella,
ISNULL(c.Ordinamento, 99999) AS Ordinamento,
ISNULL(c.Corsia + ' - ' + c.Colonna + ' - ' + c.Fila, 'Non scaff.') AS Ubicazione,
SUBSTRING(prep.DESCRDEST, 1, 2) AS DEST,
CASE
WHEN MAX(CASE
WHEN pr.Documento IS NOT NULL
AND pr.Documento = CAST(prep.NUMDOC AS varchar(8))
THEN 1 ELSE 0 END) = 1
THEN 1
ELSE 0
END AS IDStato
FROM dbo.Celle c
INNER JOIN dbo.XMag_GiacenzaPallet g
ON c.ID = g.IDCella
RIGHT OUTER JOIN dbo.py_vPreparaPackingList prep
ON g.BarcodePallet COLLATE SQL_Latin1_General_CP1_CI_AS = prep.UDC
LEFT JOIN dbo.PyPickingListReservation pr
ON pr.ID = 1
AND NULLIF(LTRIM(RTRIM(pr.Documento)), '') IS NOT NULL
GROUP BY
prep.Expr1,
prep.NAZIONE,
prep.UDC,
prep.NUMDOC,
prep.DATDOC,
prep.StatoDocumento,
prep.NUMLOT,
prep.CODICE,
prep.DESCR,
prep.Qta,
g.NumeroPallet,
g.IDMagazzino,
g.IDArea,
g.IDCella,
c.Ordinamento,
c.Corsia,
c.Colonna,
c.Fila,
prep.DESCRDEST;
GO
PRINT 'Patch form storiche Python applicata.';
PRINT 'Creato/aggiornato dbo.py_vPreparaPackingListSAMA1';
PRINT 'Creato/aggiornato dbo.py_vPreparaPackingList';
PRINT 'Creato/aggiornato dbo.py_XMag_ViewPackingListStorico';
GO

View File

@@ -0,0 +1,408 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
Patch deploy per i test sul campo:
- salva le definizioni correnti degli oggetti legacy coinvolti
- applica la nuova logica di prenotazione plist a livello documento
Oggetti salvati:
- dbo.sp_xExePackingListPallet
- dbo.XMag_ViewPackingList
- dbo.sp_xExePackingListPalletPrenota
- dbo.sp_ControllaPrenotazionePackingListPalletNew
Oggetti creati/usati dalla patch:
- dbo.WarehouseObjectBackup
- dbo.PickingListReservation
Nota:
- la tabella dbo.PickingListReservation può restare anche dopo il rollback
perché il vecchio codice non la usa.
*/
DECLARE @BackupTag varchar(64) = 'plist_reservation_fix_alpha2';
IF OBJECT_ID(N'dbo.WarehouseObjectBackup', N'U') IS NULL
BEGIN
CREATE TABLE dbo.WarehouseObjectBackup (
BackupTag varchar(64) NOT NULL,
ObjectName sysname NOT NULL,
ObjectType varchar(16) NOT NULL,
Definition nvarchar(max) NOT NULL,
SavedAt datetime NOT NULL CONSTRAINT DF_WarehouseObjectBackup_SavedAt DEFAULT(GETDATE()),
CONSTRAINT PK_WarehouseObjectBackup PRIMARY KEY CLUSTERED (BackupTag, ObjectName)
);
END;
GO
DECLARE @BackupTag varchar(64) = 'plist_reservation_fix_alpha2';
;WITH Targets AS (
SELECT N'dbo.sp_xExePackingListPallet' AS ObjectName, 'PROCEDURE' AS ObjectType
UNION ALL SELECT N'dbo.XMag_ViewPackingList', 'VIEW'
UNION ALL SELECT N'dbo.sp_xExePackingListPalletPrenota', 'PROCEDURE'
UNION ALL SELECT N'dbo.sp_ControllaPrenotazionePackingListPalletNew', 'PROCEDURE'
)
INSERT INTO dbo.WarehouseObjectBackup (BackupTag, ObjectName, ObjectType, Definition)
SELECT
@BackupTag,
t.ObjectName,
t.ObjectType,
sm.[definition]
FROM Targets t
INNER JOIN sys.sql_modules sm
ON sm.object_id = OBJECT_ID(t.ObjectName)
WHERE NOT EXISTS (
SELECT 1
FROM dbo.WarehouseObjectBackup b
WHERE b.BackupTag = @BackupTag
AND b.ObjectName = t.ObjectName
);
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/* ============================================================
Patch prenotazione Picking List a livello documento
Obiettivo:
- rendere esclusiva la prenotazione di una sola picking list
- mantenere la stored con lo stesso nome:
dbo.sp_xExePackingListPallet
- introdurre una sorgente di verità per documento prenotato:
dbo.PickingListReservation
- far leggere XMag_ViewPackingList.IDStato da tale stato
e non più soltanto da Celle.IDStato
============================================================ */
IF OBJECT_ID(N'dbo.PickingListReservation', N'U') IS NULL
BEGIN
CREATE TABLE [dbo].[PickingListReservation](
[ID] [tinyint] NOT NULL,
[Documento] [varchar](8) NULL,
[IDOperatore] [int] NULL,
[ModUtente] [varchar](50) NULL,
[ModDataOra] [datetime] NULL,
CONSTRAINT [PK_PickingListReservation] PRIMARY KEY CLUSTERED ([ID] ASC),
CONSTRAINT [CK_PickingListReservation_Singleton] CHECK ([ID] = 1)
) ON [PRIMARY];
END
GO
IF NOT EXISTS (SELECT 1 FROM dbo.PickingListReservation WHERE ID = 1)
BEGIN
INSERT INTO dbo.PickingListReservation (ID, Documento, IDOperatore, ModUtente, ModDataOra)
VALUES (1, NULL, NULL, NULL, GETDATE());
END
GO
CREATE OR ALTER PROCEDURE [dbo].[sp_xExePackingListPallet]
@IDOperatore int,
@Documento varchar(8),
@Azione char(1) = 'P',
@RC int OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SET @RC = 0;
DECLARE @Nominativo varchar(50) = '';
DECLARE @DocumentoAttivo varchar(8) = NULL;
DECLARE @Description varchar(255) = '';
DECLARE @Message varchar(255) = '';
DECLARE @IDResult int = 0;
DECLARE @ID int = 0;
SELECT @Nominativo = [Login]
FROM dbo.Operatori
WHERE ID = @IDOperatore;
IF @Nominativo IS NULL
SET @Nominativo = 'SYSTEM';
IF @Azione NOT IN ('P', 'S')
BEGIN
SET @RC = -10;
RETURN;
END;
IF NOT EXISTS (
SELECT 1
FROM dbo.XMag_ViewPackingList
WHERE CAST(Documento AS varchar(8)) = @Documento
)
BEGIN
SET @RC = -20;
RETURN;
END;
IF NOT EXISTS (SELECT 1 FROM dbo.PickingListReservation WHERE ID = 1)
BEGIN
INSERT INTO dbo.PickingListReservation (ID, Documento, IDOperatore, ModUtente, ModDataOra)
VALUES (1, NULL, NULL, NULL, GETDATE());
END;
SELECT @DocumentoAttivo = NULLIF(LTRIM(RTRIM(Documento)), '')
FROM dbo.PickingListReservation
WHERE ID = 1;
DECLARE @TargetCelle TABLE (
IDCella int PRIMARY KEY
);
INSERT INTO @TargetCelle (IDCella)
SELECT DISTINCT Cella
FROM dbo.XMag_ViewPackingList
WHERE CAST(Documento AS varchar(8)) = @Documento
AND Cella IS NOT NULL;
IF @Azione = 'P'
BEGIN
IF @DocumentoAttivo = @Documento
RETURN;
UPDATE c
SET c.IDStato = 0,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
WHERE ISNULL(c.IDStato, 0) <> 0;
UPDATE c
SET c.IDStato = 1,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
INNER JOIN @TargetCelle t ON t.IDCella = c.ID;
UPDATE dbo.PickingListReservation
SET Documento = @Documento,
IDOperatore = @IDOperatore,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ID = 1;
SELECT TOP 1 @Description = NAZIONE
FROM dbo.XMag_ViewPackingList
WHERE CAST(Documento AS varchar(8)) = @Documento;
EXEC dbo.sp_LogPackingList
@ID = @ID,
@Code = @Documento,
@Description = @Description,
@Message = @Message OUTPUT,
@IDResult = @IDResult OUTPUT;
RETURN;
END;
IF @Azione = 'S'
BEGIN
IF ISNULL(@DocumentoAttivo, '') <> @Documento
RETURN;
UPDATE c
SET c.IDStato = 0,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
INNER JOIN @TargetCelle t ON t.IDCella = c.ID;
UPDATE dbo.PickingListReservation
SET Documento = NULL,
IDOperatore = @IDOperatore,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ID = 1;
RETURN;
END;
END;
GO
CREATE OR ALTER VIEW [dbo].[XMag_ViewPackingList]
AS
WITH Base AS (
SELECT
dbo.vPreparaPackingList.UDC AS Pallet,
dbo.vPreparaPackingList.NUMLOT AS Lotto,
dbo.vPreparaPackingList.CODICE AS Articolo,
dbo.vPreparaPackingList.DESCR AS Descrizione,
dbo.vPreparaPackingList.Qta,
dbo.vPreparaPackingList.NUMDOC AS Documento,
dbo.vPreparaPackingList.Expr1 AS CodNazione,
dbo.vPreparaPackingList.NAZIONE,
CASE
WHEN Expr1 = 'DE' THEN 10
WHEN Expr1 = 'TH' THEN CASE WHEN SUBSTRING(dbo.vPreparaPackingList.DESCRDEST, 1, 2) = 'NA' THEN 11 ELSE 13 END
WHEN Expr1 = 'MEX' THEN 12
ELSE 4
END AS Stato,
ISNULL(dbo.XMag_GiacenzaPallet.NumeroPallet, 0) AS PalletCella,
ISNULL(dbo.XMag_GiacenzaPallet.IDMagazzino, 1) AS Magazzino,
ISNULL(dbo.XMag_GiacenzaPallet.IDArea, 5) AS Area,
ISNULL(dbo.XMag_GiacenzaPallet.IDCella, 1000) AS Cella,
ISNULL(dbo.Celle.Ordinamento, 99999) AS Ordinamento,
ISNULL(dbo.Celle.Corsia + ' - ' + dbo.Celle.Colonna + ' - ' + dbo.Celle.Fila, 'Non scaff.') AS Ubicazione,
SUBSTRING(dbo.vPreparaPackingList.DESCRDEST, 1, 2) AS DEST
FROM dbo.Celle
INNER JOIN dbo.XMag_GiacenzaPallet
ON dbo.Celle.ID = dbo.XMag_GiacenzaPallet.IDCella
RIGHT OUTER JOIN dbo.vPreparaPackingList
ON dbo.XMag_GiacenzaPallet.BarcodePallet COLLATE SQL_Latin1_General_CP1_CI_AS = dbo.vPreparaPackingList.UDC
GROUP BY
dbo.vPreparaPackingList.Expr1,
dbo.vPreparaPackingList.NAZIONE,
dbo.vPreparaPackingList.UDC,
dbo.vPreparaPackingList.NUMDOC,
dbo.vPreparaPackingList.NUMLOT,
dbo.vPreparaPackingList.CODICE,
dbo.vPreparaPackingList.DESCR,
dbo.vPreparaPackingList.Qta,
dbo.XMag_GiacenzaPallet.NumeroPallet,
dbo.XMag_GiacenzaPallet.IDMagazzino,
dbo.XMag_GiacenzaPallet.IDArea,
dbo.XMag_GiacenzaPallet.IDCella,
dbo.Celle.Ordinamento,
dbo.Celle.Corsia,
dbo.Celle.Colonna,
dbo.Celle.Fila,
dbo.vPreparaPackingList.DESCRDEST
)
SELECT TOP 10000
Base.Pallet,
Base.Lotto,
Base.Articolo,
Base.Descrizione,
Base.Qta,
Base.Documento,
Base.CodNazione,
Base.NAZIONE,
Base.Stato,
Base.PalletCella,
Base.Magazzino,
Base.Area,
Base.Cella,
Base.Ordinamento,
Base.Ubicazione,
Base.DEST,
CASE
WHEN pr.Documento IS NOT NULL
AND pr.Documento = CAST(Base.Documento AS varchar(8))
THEN 1
ELSE 0
END AS IDStato
FROM Base
LEFT JOIN dbo.PickingListReservation pr
ON pr.ID = 1
AND NULLIF(LTRIM(RTRIM(pr.Documento)), '') IS NOT NULL
ORDER BY
CASE
WHEN pr.Documento IS NOT NULL
AND pr.Documento = CAST(Base.Documento AS varchar(8))
THEN 1
ELSE 0
END DESC,
Base.Documento,
Base.Ordinamento;
GO
CREATE OR ALTER PROCEDURE [dbo].[sp_xExePackingListPalletPrenota]
@IDOperatore int,
@Documento varchar(8),
@RC int OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SET @RC = 0;
DECLARE @Nominativo varchar(50) = '';
SELECT @Nominativo = LOGIN
FROM dbo.Operatori
WHERE ID = @IDOperatore;
IF @Nominativo IS NULL
SET @Nominativo = 'SYSTEM';
UPDATE c
SET c.IDStato = 1,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
WHERE c.ID IN (
SELECT DISTINCT Cella
FROM dbo.ViewPackingListRestante
WHERE CAST(Documento AS varchar(8)) = @Documento
AND Cella IS NOT NULL
);
END;
GO
CREATE OR ALTER PROCEDURE [dbo].[sp_ControllaPrenotazionePackingListPalletNew]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Documento varchar(8) = NULL;
DECLARE @IDOperatore int = 0;
DECLARE @Nominativo varchar(50) = 'SYSTEM';
DECLARE @RC int = 0;
SELECT
@Documento = NULLIF(LTRIM(RTRIM(Documento)), ''),
@IDOperatore = ISNULL(IDOperatore, 0),
@Nominativo = ISNULL(NULLIF(LTRIM(RTRIM(ModUtente)), ''), 'SYSTEM')
FROM dbo.PickingListReservation
WHERE ID = 1;
IF ISNULL(@Documento, '') = ''
RETURN;
IF NOT EXISTS (
SELECT 1
FROM dbo.ViewPackingListRestante
WHERE CAST(Documento AS varchar(8)) = @Documento
)
BEGIN
UPDATE dbo.Celle
SET IDStato = 0,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ISNULL(IDStato, 0) <> 0;
UPDATE dbo.PickingListReservation
SET Documento = NULL,
IDOperatore = @IDOperatore,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ID = 1;
RETURN;
END;
UPDATE dbo.Celle
SET IDStato = 0,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ISNULL(IDStato, 0) <> 0;
IF @IDOperatore <= 0
BEGIN
SELECT TOP 1 @IDOperatore = ID
FROM dbo.Operatori
WHERE LOGIN = @Nominativo;
END;
EXEC dbo.sp_xExePackingListPalletPrenota
@IDOperatore = @IDOperatore,
@Documento = @Documento,
@RC = @RC OUTPUT;
END;
GO

View File

@@ -0,0 +1,328 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
Patch parallela per usare C# e Python contemporaneamente.
Questa patch NON modifica gli oggetti legacy usati dal C#.
Il C# continua a usare:
- dbo.XMag_ViewPackingList
- dbo.ViewPackingListRestante
- dbo.sp_xExePackingListPallet
- dbo.sp_xExePackingListPalletPrenota
- dbo.sp_ControllaPrenotazionePackingListPalletNew
Il Python usa invece:
- dbo.py_XMag_ViewPackingList
- dbo.py_ViewPackingListRestante
- dbo.py_sp_xExePackingListPallet
- dbo.py_sp_xExePackingListPalletPrenota
- dbo.py_sp_ControllaPrenotazionePackingListPalletNew
- dbo.PyPickingListReservation
*/
IF OBJECT_ID(N'dbo.PyPickingListReservation', N'U') IS NULL
BEGIN
CREATE TABLE [dbo].[PyPickingListReservation](
[ID] [tinyint] NOT NULL,
[Documento] [varchar](8) NULL,
[IDOperatore] [int] NULL,
[ModUtente] [varchar](50) NULL,
[ModDataOra] [datetime] NULL,
CONSTRAINT [PK_PyPickingListReservation] PRIMARY KEY CLUSTERED ([ID] ASC),
CONSTRAINT [CK_PyPickingListReservation_Singleton] CHECK ([ID] = 1)
) ON [PRIMARY];
END
GO
IF NOT EXISTS (SELECT 1 FROM dbo.PyPickingListReservation WHERE ID = 1)
BEGIN
INSERT INTO dbo.PyPickingListReservation (ID, Documento, IDOperatore, ModUtente, ModDataOra)
VALUES (1, NULL, NULL, NULL, GETDATE());
END
GO
CREATE OR ALTER VIEW [dbo].[py_XMag_ViewPackingList]
AS
SELECT TOP 10000
legacy.Pallet,
legacy.Lotto,
legacy.Articolo,
legacy.Descrizione,
legacy.Qta,
legacy.Documento,
legacy.CodNazione,
legacy.NAZIONE,
legacy.Stato,
legacy.PalletCella,
legacy.Magazzino,
legacy.Area,
legacy.Cella,
legacy.Ordinamento,
legacy.Ubicazione,
legacy.DEST,
CASE
WHEN pr.Documento IS NOT NULL
AND pr.Documento = CAST(legacy.Documento AS varchar(8))
THEN 1
ELSE 0
END AS IDStato
FROM dbo.XMag_ViewPackingList legacy
LEFT JOIN dbo.PyPickingListReservation pr
ON pr.ID = 1
AND NULLIF(LTRIM(RTRIM(pr.Documento)), '') IS NOT NULL
ORDER BY
CASE
WHEN pr.Documento IS NOT NULL
AND pr.Documento = CAST(legacy.Documento AS varchar(8))
THEN 1
ELSE 0
END DESC,
legacy.Documento,
legacy.Ordinamento;
GO
CREATE OR ALTER VIEW [dbo].[py_ViewPackingListRestante]
AS
SELECT
Pallet,
Lotto,
Articolo,
Descrizione,
Qta,
Documento,
CodNazione,
NAZIONE,
Stato,
PalletCella,
Magazzino,
Area,
Cella,
Ordinamento,
Ubicazione,
DEST,
IDStato
FROM dbo.py_XMag_ViewPackingList
WHERE Cella <> 9999;
GO
CREATE OR ALTER PROCEDURE [dbo].[py_sp_xExePackingListPallet]
@IDOperatore int,
@Documento varchar(8),
@Azione char(1) = 'P',
@RC int OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SET @RC = 0;
DECLARE @Nominativo varchar(50) = '';
DECLARE @DocumentoAttivo varchar(8) = NULL;
DECLARE @Description varchar(255) = '';
DECLARE @Message varchar(255) = '';
DECLARE @IDResult int = 0;
DECLARE @ID int = 0;
SELECT @Nominativo = [Login]
FROM dbo.Operatori
WHERE ID = @IDOperatore;
IF @Nominativo IS NULL
SET @Nominativo = 'SYSTEM';
IF @Azione NOT IN ('P', 'S')
BEGIN
SET @RC = -10;
RETURN;
END;
IF NOT EXISTS (
SELECT 1
FROM dbo.py_XMag_ViewPackingList
WHERE CAST(Documento AS varchar(8)) = @Documento
)
BEGIN
SET @RC = -20;
RETURN;
END;
IF NOT EXISTS (SELECT 1 FROM dbo.PyPickingListReservation WHERE ID = 1)
BEGIN
INSERT INTO dbo.PyPickingListReservation (ID, Documento, IDOperatore, ModUtente, ModDataOra)
VALUES (1, NULL, NULL, NULL, GETDATE());
END;
SELECT @DocumentoAttivo = NULLIF(LTRIM(RTRIM(Documento)), '')
FROM dbo.PyPickingListReservation
WHERE ID = 1;
DECLARE @TargetCelle TABLE (
IDCella int PRIMARY KEY
);
INSERT INTO @TargetCelle (IDCella)
SELECT DISTINCT Cella
FROM dbo.py_XMag_ViewPackingList
WHERE CAST(Documento AS varchar(8)) = @Documento
AND Cella IS NOT NULL;
IF @Azione = 'P'
BEGIN
IF @DocumentoAttivo = @Documento
RETURN;
UPDATE c
SET c.IDStato = 0,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
WHERE ISNULL(c.IDStato, 0) <> 0;
UPDATE c
SET c.IDStato = 1,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
INNER JOIN @TargetCelle t ON t.IDCella = c.ID;
UPDATE dbo.PyPickingListReservation
SET Documento = @Documento,
IDOperatore = @IDOperatore,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ID = 1;
SELECT TOP 1 @Description = NAZIONE
FROM dbo.py_XMag_ViewPackingList
WHERE CAST(Documento AS varchar(8)) = @Documento;
EXEC dbo.sp_LogPackingList
@ID = @ID,
@Code = @Documento,
@Description = @Description,
@Message = @Message OUTPUT,
@IDResult = @IDResult OUTPUT;
RETURN;
END;
IF @Azione = 'S'
BEGIN
IF ISNULL(@DocumentoAttivo, '') <> @Documento
RETURN;
UPDATE c
SET c.IDStato = 0,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
INNER JOIN @TargetCelle t ON t.IDCella = c.ID;
UPDATE dbo.PyPickingListReservation
SET Documento = NULL,
IDOperatore = @IDOperatore,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ID = 1;
RETURN;
END;
END;
GO
CREATE OR ALTER PROCEDURE [dbo].[py_sp_xExePackingListPalletPrenota]
@IDOperatore int,
@Documento varchar(8),
@RC int OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SET @RC = 0;
DECLARE @Nominativo varchar(50) = '';
SELECT @Nominativo = LOGIN
FROM dbo.Operatori
WHERE ID = @IDOperatore;
IF @Nominativo IS NULL
SET @Nominativo = 'SYSTEM';
UPDATE c
SET c.IDStato = 1,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
WHERE c.ID IN (
SELECT DISTINCT Cella
FROM dbo.py_ViewPackingListRestante
WHERE CAST(Documento AS varchar(8)) = @Documento
AND Cella IS NOT NULL
);
END;
GO
CREATE OR ALTER PROCEDURE [dbo].[py_sp_ControllaPrenotazionePackingListPalletNew]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Documento varchar(8) = NULL;
DECLARE @IDOperatore int = 0;
DECLARE @Nominativo varchar(50) = 'SYSTEM';
DECLARE @RC int = 0;
SELECT
@Documento = NULLIF(LTRIM(RTRIM(Documento)), ''),
@IDOperatore = ISNULL(IDOperatore, 0),
@Nominativo = ISNULL(NULLIF(LTRIM(RTRIM(ModUtente)), ''), 'SYSTEM')
FROM dbo.PyPickingListReservation
WHERE ID = 1;
IF ISNULL(@Documento, '') = ''
RETURN;
IF NOT EXISTS (
SELECT 1
FROM dbo.py_ViewPackingListRestante
WHERE CAST(Documento AS varchar(8)) = @Documento
)
BEGIN
UPDATE dbo.Celle
SET IDStato = 0,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ISNULL(IDStato, 0) <> 0;
UPDATE dbo.PyPickingListReservation
SET Documento = NULL,
IDOperatore = @IDOperatore,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ID = 1;
RETURN;
END;
UPDATE dbo.Celle
SET IDStato = 0,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ISNULL(IDStato, 0) <> 0;
IF @IDOperatore <= 0
BEGIN
SELECT TOP 1 @IDOperatore = ID
FROM dbo.Operatori
WHERE LOGIN = @Nominativo;
END;
EXEC dbo.py_sp_xExePackingListPalletPrenota
@IDOperatore = @IDOperatore,
@Documento = @Documento,
@RC = @RC OUTPUT;
END;
GO

View File

@@ -0,0 +1,158 @@
/*
Patch SQL - viste storiche picking list per ramo Python
Obiettivo:
- creare un ramo di lettura storico completamente separato dalle viste C#
- non modificare dbo.vPreparaPackingListSAMA1
- non modificare dbo.vPreparaPackingList
- non modificare dbo.XMag_ViewPackingList
- non modificare stored procedure C#
La form Python "Storico Picking List" legge da dbo.py_XMag_ViewPackingListStorico.
*/
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE OR ALTER VIEW [dbo].[py_vPreparaPackingListSAMA1]
AS
SELECT
SAMA1.dbo.LOTSER.NUMLOT,
SAMA1.dbo.ARTICO.CODICE,
SAMA1.dbo.FATRIG.DESCR,
LEFT(SAMA1.dbo.LOTSER.NUMSER, 6) AS UDC,
SUM(SAMA1.dbo.LOTSER.QTTGIAI) AS Qta,
SAMA1.dbo.BAMTES.NUMDOC,
SAMA1.dbo.BAMTES.DATDOC,
SAMA1.dbo.BAMTES.ID,
SAMA1.dbo.BAMTES.DESCRDEST,
SAMA1.dbo.BAMTES.STATO AS StatoDocumento,
SAMA1.dbo.NAZIONI.CODICE AS Expr1,
SAMA1.dbo.MTRASP.CODICE + ' ' + SAMA1.dbo.NAZIONI.DESCR AS NAZIONE,
SAMA1.dbo.BAMTES.IDMTRASP
FROM SAMA1.dbo.NAZIONI
INNER JOIN SAMA1.dbo.BAMTES
ON SAMA1.dbo.NAZIONI.ID = SAMA1.dbo.BAMTES.IDNAZDEST
RIGHT OUTER JOIN SAMA1.dbo.LOTTIBF
LEFT OUTER JOIN SAMA1.dbo.LOTSER
ON SAMA1.dbo.LOTTIBF.IDLOTSER = SAMA1.dbo.LOTSER.ID
LEFT OUTER JOIN SAMA1.dbo.ARTICO
ON SAMA1.dbo.LOTSER.IDARTICO = SAMA1.dbo.ARTICO.ID
LEFT OUTER JOIN SAMA1.dbo.FATRIG
ON SAMA1.dbo.LOTTIBF.IDFATRIG = SAMA1.dbo.FATRIG.ID
ON SAMA1.dbo.BAMTES.ID = SAMA1.dbo.FATRIG.IDBAM
LEFT OUTER JOIN SAMA1.sam.EXTUC
ON LEFT(SAMA1.dbo.LOTSER.NUMSER, 6) = SAMA1.sam.EXTUC.CODICE
LEFT OUTER JOIN SAMA1.dbo.MTRASP
ON SAMA1.dbo.BAMTES.IDMTRASP = SAMA1.dbo.MTRASP.ID
WHERE
SAMA1.dbo.BAMTES.ANNDOC >= YEAR(GETDATE())
AND SAMA1.dbo.BAMTES.STATO IN ('P', 'D')
AND SAMA1.dbo.LOTSER.NUMLOT <> '00000000000'
GROUP BY
SAMA1.dbo.LOTSER.NUMLOT,
SAMA1.dbo.ARTICO.CODICE,
SAMA1.dbo.FATRIG.DESCR,
LEFT(SAMA1.dbo.LOTSER.NUMSER, 6),
SAMA1.dbo.BAMTES.NUMDOC,
SAMA1.dbo.BAMTES.DATDOC,
SAMA1.dbo.BAMTES.ID,
SAMA1.dbo.BAMTES.DESCRDEST,
SAMA1.dbo.BAMTES.STATO,
SAMA1.dbo.NAZIONI.CODICE,
SAMA1.dbo.NAZIONI.DESCR,
SAMA1.dbo.BAMTES.IDMTRASP,
SAMA1.dbo.MTRASP.CODICE;
GO
CREATE OR ALTER VIEW [dbo].[py_vPreparaPackingList]
AS
SELECT
NUMLOT,
CODICE,
DESCR,
UDC,
Qta,
NUMDOC,
DATDOC,
ID,
DESCRDEST,
StatoDocumento,
Expr1,
NAZIONE
FROM dbo.py_vPreparaPackingListSAMA1
WHERE NUMLOT <> '';
GO
CREATE OR ALTER VIEW [dbo].[py_XMag_ViewPackingListStorico]
AS
SELECT TOP (100000)
prep.UDC AS Pallet,
prep.NUMLOT AS Lotto,
prep.CODICE AS Articolo,
prep.DESCR AS Descrizione,
prep.Qta,
prep.NUMDOC AS Documento,
prep.DATDOC AS DataDocumento,
prep.StatoDocumento,
prep.Expr1 AS CodNazione,
prep.NAZIONE,
CASE
WHEN prep.Expr1 = 'DE' THEN 10
WHEN prep.Expr1 = 'TH' THEN
CASE WHEN SUBSTRING(prep.DESCRDEST, 1, 2) = 'NA' THEN 11 ELSE 13 END
WHEN prep.Expr1 = 'MEX' THEN 12
ELSE 4
END AS Stato,
ISNULL(g.NumeroPallet, 0) AS PalletCella,
ISNULL(g.IDMagazzino, 1) AS Magazzino,
ISNULL(g.IDArea, 5) AS Area,
ISNULL(g.IDCella, 1000) AS Cella,
ISNULL(c.Ordinamento, 99999) AS Ordinamento,
ISNULL(c.Corsia + ' - ' + c.Colonna + ' - ' + c.Fila, 'Non scaff.') AS Ubicazione,
SUBSTRING(prep.DESCRDEST, 1, 2) AS DEST,
CASE
WHEN MAX(CASE
WHEN pr.Documento IS NOT NULL
AND pr.Documento = CAST(prep.NUMDOC AS varchar(8))
THEN 1 ELSE 0 END) = 1
THEN 1
ELSE 0
END AS IDStato
FROM dbo.Celle c
INNER JOIN dbo.XMag_GiacenzaPallet g
ON c.ID = g.IDCella
RIGHT OUTER JOIN dbo.py_vPreparaPackingList prep
ON g.BarcodePallet COLLATE SQL_Latin1_General_CP1_CI_AS = prep.UDC
LEFT JOIN dbo.PyPickingListReservation pr
ON pr.ID = 1
AND NULLIF(LTRIM(RTRIM(pr.Documento)), '') IS NOT NULL
GROUP BY
prep.Expr1,
prep.NAZIONE,
prep.UDC,
prep.NUMDOC,
prep.DATDOC,
prep.StatoDocumento,
prep.NUMLOT,
prep.CODICE,
prep.DESCR,
prep.Qta,
g.NumeroPallet,
g.IDMagazzino,
g.IDArea,
g.IDCella,
c.Ordinamento,
c.Corsia,
c.Colonna,
c.Fila,
prep.DESCRDEST;
GO
PRINT 'Viste storiche Python create/aggiornate:';
PRINT ' - dbo.py_vPreparaPackingListSAMA1';
PRINT ' - dbo.py_vPreparaPackingList';
PRINT ' - dbo.py_XMag_ViewPackingListStorico';
GO

View File

@@ -7,6 +7,7 @@ singleton so every module can schedule work on the same async runtime.
import asyncio
import threading
import contextlib
class _LoopHolder:
@@ -15,6 +16,7 @@ class _LoopHolder:
def __init__(self):
self.loop = None
self.thread = None
self.closing = False
_GLOBAL = _LoopHolder()
@@ -26,7 +28,7 @@ def get_global_loop() -> asyncio.AbstractEventLoop:
The loop is created lazily the first time the function is called and kept
alive for the lifetime of the application.
"""
if _GLOBAL.loop:
if _GLOBAL.loop and not _GLOBAL.closing:
return _GLOBAL.loop
ready = threading.Event()
@@ -35,7 +37,23 @@ def get_global_loop() -> asyncio.AbstractEventLoop:
_GLOBAL.loop = asyncio.new_event_loop()
asyncio.set_event_loop(_GLOBAL.loop)
ready.set()
try:
_GLOBAL.loop.run_forever()
finally:
loop = _GLOBAL.loop
if loop is not None:
pending = [task for task in asyncio.all_tasks(loop) if not task.done()]
for task in pending:
task.cancel()
if pending:
with contextlib.suppress(Exception):
loop.run_until_complete(asyncio.gather(*pending, return_exceptions=True))
with contextlib.suppress(Exception):
loop.run_until_complete(loop.shutdown_asyncgens())
with contextlib.suppress(Exception):
loop.run_until_complete(loop.shutdown_default_executor())
with contextlib.suppress(Exception):
loop.close()
_GLOBAL.thread = threading.Thread(target=_run, name="asyncio-bg-loop", daemon=True)
_GLOBAL.thread.start()
@@ -46,7 +64,9 @@ def get_global_loop() -> asyncio.AbstractEventLoop:
def stop_global_loop():
"""Stop the shared loop and join the background thread if present."""
if _GLOBAL.loop and _GLOBAL.loop.is_running():
_GLOBAL.closing = True
_GLOBAL.loop.call_soon_threadsafe(_GLOBAL.loop.stop)
_GLOBAL.thread.join(timeout=2)
_GLOBAL.loop = None
_GLOBAL.thread = None
_GLOBAL.closing = False

View File

@@ -19,6 +19,16 @@ from sqlalchemy import text
from sqlalchemy.ext.asyncio import create_async_engine
from sqlalchemy.pool import NullPool
try:
import pyodbc
# The desktop app opens short-lived SQL connections from a background
# asyncio loop. ODBC pooling can keep native handles alive for a while after
# the GUI closes, which is especially visible with pythonw.
pyodbc.pooling = False
except Exception:
pyodbc = None # type: ignore[assignment]
try:
import orjson as _json
@@ -120,6 +130,7 @@ class AsyncMSSQLClient:
params: Optional[Dict[str, Any]] = None,
*,
as_dict_rows: bool = False,
commit: bool = False,
) -> Dict[str, Any]:
"""Execute a query and return a JSON-friendly payload.
@@ -128,6 +139,9 @@ class AsyncMSSQLClient:
params: Optional named parameters bound to the statement.
as_dict_rows: When ``True`` returns rows as dictionaries keyed by
column name; otherwise rows are returned as lists.
commit: When ``True`` the statement runs in a transaction that is
committed on success. Useful for SQL batches that both mutate
data and return a final result set.
Returns:
A dictionary containing column names, rows and elapsed execution
@@ -135,7 +149,7 @@ class AsyncMSSQLClient:
"""
await self._ensure_engine()
t0 = time.perf_counter()
async with self._engine.connect() as conn:
async with (self._engine.begin() if commit else self._engine.connect()) as conn:
res = await conn.execute(text(sql), params or {})
rows = res.fetchall()
cols = list(res.keys())

102
audit_log.py Normal file
View File

@@ -0,0 +1,102 @@
"""Central textual audit log for user-driven warehouse operations."""
from __future__ import annotations
import json
import logging
from pathlib import Path
from typing import Any
from user_session import UserSession
AUDIT_LOG_PATH = Path(__file__).with_name("warehouse_audit.log")
_LOGGER = logging.getLogger("warehouse_audit")
_LOGGER_CONFIGURED = False
def _configure_logger() -> None:
"""Configure the append-only textual audit logger once."""
global _LOGGER_CONFIGURED
if _LOGGER_CONFIGURED:
return
_LOGGER.setLevel(logging.INFO)
_LOGGER.propagate = False
handler = logging.FileHandler(AUDIT_LOG_PATH, encoding="utf-8")
handler.setFormatter(logging.Formatter("%(asctime)s | %(message)s"))
_LOGGER.addHandler(handler)
_LOGGER_CONFIGURED = True
def _user_label(session: UserSession | None) -> str:
"""Render the user identity consistently in the audit trail."""
if session is None:
return "anonymous"
return f"{session.login or 'anonymous'}#{session.operator_id}"
def _payload(
*,
session: UserSession | None,
module: str,
action: str,
outcome: str,
target: str = "",
details: dict[str, Any] | None = None,
) -> str:
"""Serialize one audit event as a compact text line."""
base = {
"user": _user_label(session),
"module": module,
"action": action,
"outcome": outcome,
"target": target,
"details": details or {},
}
return json.dumps(base, ensure_ascii=False, default=str)
def log_user_action(
session: UserSession | None,
*,
module: str,
action: str,
outcome: str,
target: str = "",
details: dict[str, Any] | None = None,
) -> None:
"""Write one user action event to the textual audit file."""
_configure_logger()
_LOGGER.info(
_payload(
session=session,
module=module,
action=action,
outcome=outcome,
target=target,
details=details,
)
)
def log_session_event(
session: UserSession | None,
*,
action: str,
outcome: str,
details: dict[str, Any] | None = None,
) -> None:
"""Write one session lifecycle event to the textual audit file."""
log_user_action(
session,
module="session",
action=action,
outcome=outcome,
details=details,
)

8
barcode.pyw Normal file
View File

@@ -0,0 +1,8 @@
from runtime_support import ensure_stdio, run_with_fatal_log
ensure_stdio("warehouse_barcode")
from barcode_client import main
raise SystemExit(run_with_fatal_log("Barcode WMS", main))

478
barcode_client.py Normal file
View File

@@ -0,0 +1,478 @@
"""Lightweight standalone barcode client for the warehouse WMS."""
from __future__ import annotations
import asyncio
import sys
import tkinter as tk
from concurrent.futures import Future
from tkinter import messagebox, ttk
from typing import Callable
from runtime_support import ensure_stdio, run_with_fatal_log
ensure_stdio("warehouse_barcode")
from async_loop_singleton import get_global_loop, stop_global_loop
from async_msssql_query import AsyncMSSQLClient
from barcode_repository import BarcodeRepository
from barcode_service import BarcodeActionResult, BarcodeService, BarcodeViewState
from db_config import build_dsn_from_config, ensure_db_config
from login_window import prompt_login_compact
class BarcodeClientApp:
"""Single-window Tk barcode client modeled after the C# legacy form."""
BARCODE_MAX_WIDTH = 320
BARCODE_MAX_HEIGHT = 400
DESKTOP_THRESHOLD_WIDTH = 1024
DESKTOP_THRESHOLD_HEIGHT = 768
DESKTOP_WINDOW_WIDTH = 465
DESKTOP_WINDOW_HEIGHT = 531
def __init__(self, root: tk.Tk, db_client: AsyncMSSQLClient, session, loop: asyncio.AbstractEventLoop):
self.root = root
self.db_client = db_client
self.session = session
self.loop = loop
self.repository = BarcodeRepository(db_client)
self.service = BarcodeService(self.repository, session.operator_id)
self._pending: Future | None = None
self._auto_advance_id: str | None = None
self._status_colors = {
"red": "#f4cccc",
"green": "#d9ead3",
"yellow": "#e2f0cb",
}
self._is_barcode_desktop = False
self.queue_var = tk.StringVar(value="")
self.info1_var = tk.StringVar(value="")
self.info2_var = tk.StringVar(value="")
self.info3_var = tk.StringVar(value="")
self.info4_var = tk.StringVar(value="")
self.destination_var = tk.StringVar(value="")
self.scanned_var = tk.StringVar(value="")
self._build_ui()
self._apply_state(self.service.state)
self._bind_keys()
self.root.protocol("WM_DELETE_WINDOW", self._shutdown)
def _build_ui(self) -> None:
self.root.title("WMS")
self.root.configure(bg="#f1f1f1")
self._apply_responsive_geometry()
if self._is_barcode_desktop:
field_font = ("Segoe UI", 9)
entry_font = ("Segoe UI", 11)
band_font = ("Segoe UI", 9, "bold")
info_font = ("Segoe UI", 9)
queue_font = ("Segoe UI", 8)
pad_x = 5
pad_y = 4
band_wrap = 190
info_wrap = 194
button_pad_y = 1
else:
field_font = ("Segoe UI", 12)
entry_font = ("Segoe UI", 15)
band_font = ("Segoe UI", 12, "bold")
info_font = ("Segoe UI", 12)
queue_font = ("Segoe UI", 10)
pad_x = 16
pad_y = 12
band_wrap = 400
info_wrap = 408
button_pad_y = 4
wrap = tk.Frame(self.root, bg="#f1f1f1", padx=pad_x, pady=pad_y)
wrap.pack(fill="both", expand=True)
wrap.rowconfigure(3, weight=1)
wrap.columnconfigure(0, weight=1)
header = tk.Frame(wrap, bg="#f1f1f1")
header.grid(row=0, column=0, sticky="ew", pady=(0, 4 if self._is_barcode_desktop else 10))
tk.Label(
header,
textvariable=self.queue_var,
bg="#f1f1f1",
fg="#333333",
font=queue_font,
anchor="e",
).pack(side="right")
form = tk.Frame(wrap, bg="#f1f1f1")
form.grid(row=1, column=0, sticky="ew")
self._add_compact_field(form, 0, "Pallet", self.scanned_var, scanned=True, label_font=field_font, entry_font=entry_font)
self._add_compact_field(form, 1, "Cella", self.destination_var, scanned=False, label_font=field_font, entry_font=entry_font)
self.status_band = tk.Label(
wrap,
textvariable=self.info1_var,
bg=self._status_colors["red"],
fg="#1f2937",
font=band_font,
anchor="w",
justify="left",
padx=6,
pady=3 if self._is_barcode_desktop else 6,
wraplength=band_wrap,
)
self.status_band.grid(row=2, column=0, sticky="ew", pady=(8 if self._is_barcode_desktop else 14, 4))
info_box = tk.Frame(wrap, bg="#f1f1f1")
info_box.grid(row=3, column=0, sticky="nsew")
info_box.columnconfigure(0, weight=1)
for row_index in range(3):
info_box.rowconfigure(row_index, weight=1)
self.info2_label = tk.Label(
info_box,
textvariable=self.info2_var,
bg="#f1f1f1",
fg="#222222",
font=info_font,
anchor="w",
justify="left",
wraplength=info_wrap,
)
self.info2_label.grid(row=0, column=0, sticky="ew", pady=(2, 0))
self.info3_label = tk.Label(
info_box,
textvariable=self.info3_var,
bg="#f1f1f1",
fg="#222222",
font=info_font,
anchor="w",
justify="left",
wraplength=info_wrap,
)
self.info3_label.grid(row=1, column=0, sticky="ew", pady=(2, 0))
self.info4_label = tk.Label(
info_box,
textvariable=self.info4_var,
bg="#f1f1f1",
fg="#222222",
font=info_font,
anchor="w",
justify="left",
wraplength=info_wrap,
)
self.info4_label.grid(row=2, column=0, sticky="ew", pady=(2, 4 if self._is_barcode_desktop else 10))
buttons = tk.Frame(wrap, bg="#f1f1f1")
buttons.grid(row=4, column=0, sticky="ew", pady=(4, 0))
buttons.columnconfigure(0, weight=1)
buttons.columnconfigure(1, weight=1)
self.btn_f1 = ttk.Button(buttons, text="[F1] H Priority", command=lambda: self._start_queue(1))
self.btn_f1.grid(row=0, column=0, padx=(0, 4), pady=(0, button_pad_y), sticky="ew")
self.btn_submit = ttk.Button(buttons, text="[Ent] Salva", command=self._submit)
self.btn_submit.grid(row=0, column=1, padx=(4, 0), pady=(0, button_pad_y), sticky="ew")
self.btn_f2 = ttk.Button(buttons, text="[F2] L Priority", command=lambda: self._start_queue(0))
self.btn_f2.grid(row=1, column=0, padx=(0, 4), sticky="ew")
self.btn_unload = ttk.Button(buttons, text="[F4] Elimina", command=self._begin_manual_unload)
self.btn_unload.grid(row=1, column=1, padx=(4, 0), sticky="ew")
self.busy_cover = tk.Frame(self.root, bg="#d9d9d9")
panel = ttk.Frame(self.busy_cover, padding=16)
panel.place(relx=0.5, rely=0.5, anchor="center")
self.busy_label = ttk.Label(panel, text="Attendere...", font=("Segoe UI", 11, "bold"))
self.busy_label.pack(pady=(0, 8))
self.busy_bar = ttk.Progressbar(panel, mode="indeterminate", length=260)
self.busy_bar.pack()
def _add_compact_field(
self,
parent: tk.Frame,
row: int,
label: str,
variable: tk.StringVar,
*,
scanned: bool,
label_font,
entry_font,
) -> None:
tk.Label(
parent,
text=label,
bg="#f1f1f1",
fg="#1f1f1f",
font=label_font,
anchor="w",
).grid(row=row, column=0, sticky="w", padx=(0, 8), pady=4 if self._is_barcode_desktop else 6)
entry = ttk.Entry(parent, textvariable=variable, font=entry_font, width=8)
entry.grid(row=row, column=1, sticky="ew", pady=4 if self._is_barcode_desktop else 6, ipady=1 if self._is_barcode_desktop else 4)
parent.columnconfigure(1, weight=1)
if scanned:
self.pallet_entry = entry
self.scanned_var.trace_add("write", lambda *_: self._limit_var(self.scanned_var, 8))
else:
self.destination_entry = entry
self.destination_var.trace_add("write", lambda *_: self._limit_var(self.destination_var, 8))
def _limit_var(self, variable: tk.StringVar, max_len: int) -> None:
value = str(variable.get() or "")
if len(value) > max_len:
variable.set(value[:max_len])
def _apply_responsive_geometry(self) -> None:
"""Adapt the window size to barcode-sized or desktop-sized screens."""
self.root.update_idletasks()
screen_width = max(1, int(self.root.winfo_screenwidth() or 0))
screen_height = max(1, int(self.root.winfo_screenheight() or 0))
is_barcode_desktop = (
screen_width <= self.BARCODE_MAX_WIDTH or screen_height <= self.BARCODE_MAX_HEIGHT
)
self._is_barcode_desktop = is_barcode_desktop
if is_barcode_desktop:
width = screen_width
height = screen_height
x = 0
y = 0
self.root.minsize(max(220, width), max(300, height))
else:
width = min(self.DESKTOP_WINDOW_WIDTH, screen_width)
height = min(self.DESKTOP_WINDOW_HEIGHT, screen_height)
x = 0
y = 0
self.root.minsize(420, 500)
if (
screen_width >= self.DESKTOP_THRESHOLD_WIDTH
and screen_height >= self.DESKTOP_THRESHOLD_HEIGHT
and not is_barcode_desktop
):
width = min(self.DESKTOP_WINDOW_WIDTH, screen_width)
height = min(self.DESKTOP_WINDOW_HEIGHT, screen_height)
x = 0
y = 0
self.root.geometry(f"{width}x{height}+{x}+{y}")
def _bind_keys(self) -> None:
self.root.bind("<F1>", lambda _e: self._start_queue(1))
self.root.bind("<F2>", lambda _e: self._start_queue(0))
self.root.bind("<F4>", lambda _e: self._begin_manual_unload())
self.pallet_entry.bind("<Return>", self._on_pallet_enter)
self.destination_entry.bind("<Return>", self._on_destination_enter)
def _set_busy(self, busy: bool, message: str = "") -> None:
state = "disabled" if busy else "normal"
for button in (self.btn_f1, self.btn_f2, self.btn_unload, self.btn_submit):
try:
button.configure(state=state)
except Exception:
pass
try:
self.pallet_entry.configure(state=state)
except Exception:
pass
try:
if str(self.destination_entry.cget("state")) != "readonly" or busy:
self.destination_entry.configure(state=state)
except Exception:
pass
if busy:
self.busy_label.configure(text=message or "Attendere...")
self.busy_cover.place(relx=0, rely=0, relwidth=1, relheight=1)
self.busy_bar.start(10)
else:
self.busy_bar.stop()
self.busy_cover.place_forget()
def _apply_state(self, state: BarcodeViewState) -> None:
if self._auto_advance_id is not None:
try:
self.root.after_cancel(self._auto_advance_id)
except Exception:
pass
self._auto_advance_id = None
self.queue_var.set(state.queue_label)
self.destination_var.set(state.destination_barcode)
self.scanned_var.set(state.scanned_pallet)
self.info1_var.set(state.status_text)
self.info2_var.set(state.document)
self.info3_var.set(state.customer)
self.info4_var.set(state.expected_pallet)
self.status_band.configure(bg=state.status_color or self._status_colors["red"])
destination_readonly = state.mode in ("priority_high", "priority_low", "manual_unload")
try:
self.destination_entry.configure(state="normal")
if destination_readonly:
self.destination_entry.configure(state="readonly")
except Exception:
pass
if state.mode == "confirm" and state.status_text == "Ok Scarico":
next_queue = self._queue_id_from_label(state.queue_label)
if next_queue is not None:
self._auto_advance_id = self.root.after(1200, lambda q=next_queue: self._start_queue(q))
self.root.after(20, self._focus_primary_input)
def _focus_primary_input(self) -> None:
try:
self.pallet_entry.focus_force()
self.pallet_entry.selection_range(0, "end")
except Exception:
pass
def _focus_destination_input(self) -> None:
try:
self.destination_entry.configure(state="normal")
except Exception:
pass
try:
self.destination_entry.focus_force()
self.destination_entry.selection_range(0, "end")
except Exception:
pass
def _on_pallet_enter(self, _event=None) -> str:
pallet = str(self.scanned_var.get() or "").strip()
destination = str(self.destination_var.get() or "").strip()
if not pallet:
return "break"
if destination == "9000000":
self._submit()
return "break"
self.destination_var.set("")
self._focus_destination_input()
return "break"
def _on_destination_enter(self, _event=None) -> str:
pallet = str(self.scanned_var.get() or "").strip()
destination = str(self.destination_var.get() or "").strip()
if pallet and destination:
self._submit()
else:
self._focus_primary_input()
return "break"
def _begin_manual_unload(self) -> None:
self._apply_state(self.service.begin_manual_unload())
def _start_queue(self, id_stato: int) -> None:
self._run_async(
lambda: self.service.start_priority_queue(id_stato),
busy_message="Carico la coda selezionata...",
)
def _submit(self) -> None:
self._run_async(
lambda: self.service.submit(
scanned_pallet=self.scanned_var.get(),
destination_barcode=self.destination_var.get(),
),
busy_message="Eseguo il movimento...",
)
def _run_async(self, coro_factory: Callable[[], object], busy_message: str) -> None:
if self._pending is not None and not self._pending.done():
return
if self._auto_advance_id is not None:
try:
self.root.after_cancel(self._auto_advance_id)
except Exception:
pass
self._auto_advance_id = None
self._set_busy(True, busy_message)
self._pending = asyncio.run_coroutine_threadsafe(coro_factory(), self.loop)
self.root.after(40, self._poll_future)
def _queue_id_from_label(self, queue_label: str) -> int | None:
text = str(queue_label or "")
if text.startswith("Alta priorita'"):
return 1
if text.startswith("Bassa priorita'"):
return 0
return None
def _poll_future(self) -> None:
if self._pending is None:
self._set_busy(False)
return
if not self._pending.done():
self.root.after(40, self._poll_future)
return
future = self._pending
self._pending = None
self._set_busy(False)
try:
result = future.result()
except Exception as exc:
current = self.service.state
current.status_text = f"Errore operativo: {exc}"
current.status_color = "#f4cccc"
self._apply_state(current)
messagebox.showerror("Barcode WMS", f"Operazione fallita:\n{exc}", parent=self.root)
return
if isinstance(result, BarcodeActionResult):
self._apply_state(result.state)
if result.message and not result.ok:
self.root.bell()
elif isinstance(result, BarcodeViewState):
self._apply_state(result)
def _shutdown(self) -> None:
try:
if self._pending is not None and not self._pending.done():
return
except Exception:
pass
try:
fut = asyncio.run_coroutine_threadsafe(self.db_client.dispose(), self.loop)
fut.result(timeout=2)
except Exception:
pass
try:
self.root.destroy()
finally:
try:
stop_global_loop()
except Exception:
pass
def main() -> int:
loop = get_global_loop()
bootstrap = tk.Tk()
bootstrap.withdraw()
config = ensure_db_config(loop, parent=bootstrap)
if not config:
bootstrap.destroy()
stop_global_loop()
return 1
db_client = AsyncMSSQLClient(build_dsn_from_config(config))
session = prompt_login_compact(bootstrap, db_client)
if session is None:
try:
fut = asyncio.run_coroutine_threadsafe(db_client.dispose(), loop)
fut.result(timeout=2)
except Exception:
pass
bootstrap.destroy()
stop_global_loop()
return 1
app = BarcodeClientApp(bootstrap, db_client, session, loop)
bootstrap.deiconify()
bootstrap.lift()
bootstrap.focus_force()
app._focus_primary_input()
bootstrap.mainloop()
return 0
if __name__ == "__main__":
raise SystemExit(run_with_fatal_log("Barcode WMS", main))

155
barcode_repository.py Normal file
View File

@@ -0,0 +1,155 @@
"""Low-level DB access for the barcode WMS client.
The goal of this module is to mirror the legacy C# barcode form as closely as
possible while keeping SQL isolated from the UI.
"""
from __future__ import annotations
from dataclasses import dataclass
from typing import Any
SQL_NEXT_PICKING = """
SELECT TOP (1)
Documento,
CodNazione,
NAZIONE,
Stato,
Pallet,
Cella,
Ubicazione,
Ordinamento,
IDStato
FROM dbo.py_XMag_ViewPackingList
WHERE Ordinamento > 0
AND IDStato = :id_stato
ORDER BY Ordinamento;
"""
SQL_PICKING_BY_PALLET = """
SELECT TOP (1)
Documento,
CodNazione,
NAZIONE,
Stato,
Pallet,
Cella,
Ubicazione,
Ordinamento,
IDStato
FROM dbo.py_XMag_ViewPackingList
WHERE Pallet = :pallet
ORDER BY Ordinamento;
"""
SQL_TRACE_BY_PALLET = """
SELECT TOP (1)
Pallet,
Lotto,
Prodotto,
Descrizione
FROM dbo.vXTracciaProdotti
WHERE Pallet = :pallet
ORDER BY Lotto;
"""
SQL_LEGACY_MOVE = """
SET NOCOUNT ON;
DECLARE @RC int = 0;
EXEC dbo.sp_xMagGestioneMagazziniPallet
@IDOperatore = :id_operatore,
@BarcodeCella = :barcode_cella,
@BarcodePallet = :barcode_pallet,
@NumeroCella = :numero_cella,
@RC = @RC OUTPUT;
EXEC dbo.py_sp_ControllaPrenotazionePackingListPalletNew;
SELECT
@RC AS RC,
:barcode_cella AS BarcodeCella,
:barcode_pallet AS BarcodePallet,
:numero_cella AS NumeroCella;
"""
def _rows_to_dicts(res: dict[str, Any] | None) -> list[dict[str, Any]]:
"""Convert ``query_json`` payloads to a list of row dictionaries."""
if not isinstance(res, dict):
return []
rows = res.get("rows") or []
cols = res.get("columns") or []
if rows and isinstance(rows[0], dict):
return [row for row in rows if isinstance(row, dict)]
out: list[dict[str, Any]] = []
for row in rows:
if isinstance(row, (list, tuple)) and cols:
out.append({str(cols[i]): row[i] for i in range(min(len(cols), len(row)))})
return out
@dataclass
class LegacyMoveResult:
"""Result of one movement executed through the legacy stored procedure."""
rc: int
barcode_cella: str
barcode_pallet: str
numero_cella: int
class BarcodeRepository:
"""Thin async repository used by the lightweight barcode client."""
def __init__(self, db_client):
self.db_client = db_client
async def fetch_next_picking(self, id_stato: int) -> dict[str, Any] | None:
"""Return the next pallet proposed by the legacy F1/F2 queue logic."""
res = await self.db_client.query_json(SQL_NEXT_PICKING, {"id_stato": int(id_stato)})
rows = _rows_to_dicts(res)
return rows[0] if rows else None
async def fetch_picking_by_pallet(self, pallet: str) -> dict[str, Any] | None:
"""Return one picking row for the given pallet, if still present in the queue."""
res = await self.db_client.query_json(SQL_PICKING_BY_PALLET, {"pallet": str(pallet or "").strip()})
rows = _rows_to_dicts(res)
return rows[0] if rows else None
async def fetch_trace_by_pallet(self, pallet: str) -> dict[str, Any] | None:
"""Return trace information used by the C# fallback confirmation path."""
res = await self.db_client.query_json(SQL_TRACE_BY_PALLET, {"pallet": str(pallet or "").strip()})
rows = _rows_to_dicts(res)
return rows[0] if rows else None
async def execute_legacy_move(
self,
*,
operator_id: int,
barcode_cella: str,
barcode_pallet: str,
numero_cella: int,
) -> LegacyMoveResult:
"""Execute the same stored procedure used by the C# barcode form."""
params = {
"id_operatore": int(operator_id),
"barcode_cella": str(barcode_cella or "").strip(),
"barcode_pallet": str(barcode_pallet or "").strip(),
"numero_cella": int(numero_cella),
}
res = await self.db_client.query_json(SQL_LEGACY_MOVE, params, commit=True)
rows = _rows_to_dicts(res)
row = rows[0] if rows else {}
return LegacyMoveResult(
rc=int(row.get("RC") or 0),
barcode_cella=str(row.get("BarcodeCella") or params["barcode_cella"]),
barcode_pallet=str(row.get("BarcodePallet") or params["barcode_pallet"]),
numero_cella=int(row.get("NumeroCella") or params["numero_cella"]),
)

247
barcode_service.py Normal file
View File

@@ -0,0 +1,247 @@
"""Service layer for the lightweight barcode WMS client."""
from __future__ import annotations
from dataclasses import dataclass
from typing import Literal
from barcode_repository import BarcodeRepository, LegacyMoveResult
ModeName = Literal["idle", "priority_high", "priority_low", "manual_load", "manual_unload", "confirm"]
@dataclass
class BarcodeViewState:
"""State projected from service logic into the barcode UI."""
mode: ModeName = "idle"
queue_label: str = ""
status_text: str = "Pronto."
status_color: str = "#d9d9d9"
source_location: str = ""
document: str = ""
customer: str = ""
expected_pallet: str = ""
destination_barcode: str = ""
scanned_pallet: str = ""
@dataclass
class BarcodeActionResult:
"""Standard result returned by user actions."""
ok: bool
state: BarcodeViewState
message: str = ""
class BarcodeService:
"""Faithful, but cleaner, port of the legacy barcode form logic."""
GRAY = "#d9d9d9"
RED = "#f4cccc"
LIGHT_GREEN = "#d9ead3"
GREEN_YELLOW = "#e2f0cb"
CONVENTIONAL_LOCATION_BY_CELL = {
1000: "5E1.1",
9999: "7G.1.1",
}
def __init__(self, repository: BarcodeRepository, operator_id: int):
self.repository = repository
self.operator_id = int(operator_id)
self._current_priority_state = 0
self._state = BarcodeViewState()
@property
def state(self) -> BarcodeViewState:
"""Return a copy-safe reference to the current UI state."""
return self._state
def reset(self) -> BarcodeViewState:
"""Return the client to its neutral state."""
self._current_priority_state = 0
self._state = BarcodeViewState()
return self._state
def begin_manual_load(self) -> BarcodeViewState:
"""Prepare a real versamento into a physical warehouse cell."""
self._current_priority_state = 0
self._state = BarcodeViewState(
mode="manual_load",
queue_label="Versamento",
status_text="OP Carico",
status_color=self.GRAY,
)
return self._state
def begin_manual_unload(self) -> BarcodeViewState:
"""Prepare a direct unload toward the virtual outbound cell 9000000."""
self._current_priority_state = 0
self._state = BarcodeViewState(
mode="manual_unload",
queue_label="Prelievo diretto",
status_text="OP Scarico",
status_color=self.GRAY,
destination_barcode="9000000",
)
return self._state
async def start_priority_queue(self, id_stato: int) -> BarcodeActionResult:
"""Load the next item of the selected legacy priority queue."""
row = await self.repository.fetch_next_picking(id_stato)
self._current_priority_state = int(id_stato)
queue_label = "Alta priorita' (F1)" if int(id_stato) == 1 else "Bassa priorita' (F2)"
if not row:
self._state = BarcodeViewState(
mode="priority_high" if int(id_stato) == 1 else "priority_low",
queue_label=queue_label,
status_text="Pronto.",
status_color=self.RED,
destination_barcode="9000000",
)
return BarcodeActionResult(True, self._state)
customer = f"{row.get('CodNazione') or ''} - {row.get('NAZIONE') or ''}".strip(" -")
source_location = self._display_location(
cella=row.get("Cella"),
ubicazione=row.get("Ubicazione"),
)
self._state = BarcodeViewState(
mode="priority_high" if int(id_stato) == 1 else "priority_low",
queue_label=queue_label,
status_text=f"Ok Cella - {source_location}",
status_color=self.LIGHT_GREEN,
source_location=source_location,
document=str(row.get("Documento") or ""),
customer=customer,
expected_pallet=str(row.get("Pallet") or ""),
destination_barcode="9000000",
)
return BarcodeActionResult(True, self._state)
async def submit(self, *, scanned_pallet: str, destination_barcode: str) -> BarcodeActionResult:
"""Execute the movement according to the current mode."""
pallet = str(scanned_pallet or "").strip()
destination = str(destination_barcode or "").strip()
if not pallet:
return BarcodeActionResult(False, self._state, "Inserisci o leggi il pallet.")
if not destination:
return BarcodeActionResult(False, self._state, "Inserisci o leggi la destinazione.")
if not destination.isdigit():
return BarcodeActionResult(False, self._state, "La destinazione deve essere numerica.")
if self._state.mode in ("priority_high", "priority_low") and destination == "9000000":
expected = str(self._state.expected_pallet or "").strip()
if expected and expected != pallet:
self._state.scanned_pallet = pallet
self._state.status_text = "Errata lettura: il pallet letto non coincide con quello atteso."
self._state.status_color = self.RED
return BarcodeActionResult(False, self._state, self._state.status_text)
move = await self.repository.execute_legacy_move(
operator_id=self.operator_id,
barcode_cella=destination,
barcode_pallet=pallet,
numero_cella=int(destination),
)
if move.rc != 0:
self._state.scanned_pallet = pallet
self._state.status_text = f"Operazione non riuscita (RC={move.rc})."
self._state.status_color = self.RED
return BarcodeActionResult(False, self._state, self._state.status_text)
self._state = await self._build_post_move_state(
barcode_pallet=pallet,
destination_barcode=destination,
last_priority_state=self._current_priority_state,
)
return BarcodeActionResult(True, self._state, self._state.status_text)
async def _build_post_move_state(
self,
*,
barcode_pallet: str,
destination_barcode: str,
last_priority_state: int,
) -> BarcodeViewState:
"""Mirror the legacy confirmation flow after one stored-procedure move."""
picking_row = await self.repository.fetch_picking_by_pallet(barcode_pallet)
if picking_row:
customer = f"{picking_row.get('CodNazione') or ''} - {picking_row.get('NAZIONE') or ''}".strip(" -")
source_location = self._display_location(
cella=picking_row.get("Cella"),
ubicazione=picking_row.get("Ubicazione"),
)
return BarcodeViewState(
mode="confirm",
queue_label="Alta priorita' (F1)" if last_priority_state == 1 else ("Bassa priorita' (F2)" if last_priority_state == 0 else ""),
status_text=f"Ok Cella - {source_location}",
status_color=self.LIGHT_GREEN,
source_location=source_location,
document=str(picking_row.get("Documento") or ""),
customer=customer,
expected_pallet=str(picking_row.get("Pallet") or ""),
destination_barcode=destination_barcode,
)
trace_row = await self.repository.fetch_trace_by_pallet(barcode_pallet)
if trace_row:
lotto = str(trace_row.get("Lotto") or "")
prodotto = str(trace_row.get("Prodotto") or "")
descrizione = str(trace_row.get("Descrizione") or "")
queue_label = "Alta priorita' (F1)" if last_priority_state == 1 else ("Bassa priorita' (F2)" if last_priority_state == 0 else "Conferma movimento")
return BarcodeViewState(
mode="confirm",
queue_label=queue_label,
status_text=(
"Ok Scarico" if destination_barcode == "9000000" else f"Ok Carico - {destination_barcode}"
),
status_color=self.GREEN_YELLOW,
source_location=str(destination_barcode or ""),
document=(
self.CONVENTIONAL_LOCATION_BY_CELL[9999]
if destination_barcode == "9000000" and last_priority_state in (0, 1)
else lotto
),
customer=(
lotto
if destination_barcode == "9000000" and last_priority_state in (0, 1)
else prodotto
),
expected_pallet=(
" - ".join(part for part in (prodotto, descrizione) if part)
if destination_barcode == "9000000" and last_priority_state in (0, 1)
else descrizione
),
destination_barcode=destination_barcode,
scanned_pallet=barcode_pallet,
)
return BarcodeViewState(
mode="confirm",
queue_label="Conferma movimento",
status_text="Movimento eseguito.",
status_color=self.GREEN_YELLOW,
destination_barcode=destination_barcode,
scanned_pallet=barcode_pallet,
)
def _display_location(self, *, cella: object, ubicazione: object) -> str:
"""Return the operator-facing location, honoring legacy conventional cells."""
try:
cella_int = int(cella)
except Exception:
cella_int = None
if cella_int in self.CONVENTIONAL_LOCATION_BY_CELL:
return self.CONVENTIONAL_LOCATION_BY_CELL[cella_int]
return str(ubicazione or cella or "")

86
busy_overlay.py Normal file
View File

@@ -0,0 +1,86 @@
from __future__ import annotations
from typing import Any
import tkinter as tk
import customtkinter as ctk
from ui_theme import theme_color, theme_font, theme_padding, theme_value
class InlineBusyOverlay:
"""Busy overlay rendered inside the same window, avoiding extra toplevels."""
def __init__(self, parent: tk.Misc, theme_cfg: dict[str, Any] | None = None):
self.parent = parent
self.theme_cfg = theme_cfg or {}
self._cover: ctk.CTkFrame | None = None
self._label: ctk.CTkLabel | None = None
self._bar: ctk.CTkProgressBar | None = None
def show(self, message: str = "Attendere..."):
if self._cover and self._cover.winfo_exists():
if self._label:
self._label.configure(text=message)
try:
self._cover.lift()
except Exception:
pass
return
cover = ctk.CTkFrame(
self.parent,
corner_radius=0,
fg_color=theme_color(self.theme_cfg, "overlay_cover_fg_color", ("#d9d9d9", "#4a4a4a")),
)
cover.place(relx=0, rely=0, relwidth=1, relheight=1)
try:
cover.lift()
except Exception:
pass
wrap = ctk.CTkFrame(
cover,
corner_radius=int(theme_value(self.theme_cfg, "overlay_panel_corner_radius", 10)),
fg_color=theme_color(self.theme_cfg, "overlay_panel_fg_color", ("#f2f2f2", "#353535")),
)
wrap.place(relx=0.5, rely=0.5, anchor="center")
label = ctk.CTkLabel(
wrap,
text=message,
font=theme_font(self.theme_cfg, "overlay_label_font", ("Segoe UI", 11, "bold")),
)
label_pad = theme_padding(self.theme_cfg, "overlay_label_padding", (18, 14, 18, 8))
label.pack(padx=(label_pad[0], label_pad[2]), pady=(label_pad[1], label_pad[3]))
bar = ctk.CTkProgressBar(
wrap,
mode="indeterminate",
width=int(theme_value(self.theme_cfg, "overlay_progress_width", 220)),
)
bar_pad = theme_padding(self.theme_cfg, "overlay_progress_padding", (18, 0, 18, 14))
bar.pack(padx=(bar_pad[0], bar_pad[2]), pady=(bar_pad[1], bar_pad[3]))
try:
bar.start()
except Exception:
pass
self._cover = cover
self._label = label
self._bar = bar
def hide(self):
if self._bar:
try:
self._bar.stop()
except Exception:
pass
self._bar = None
self._label = None
if self._cover and self._cover.winfo_exists():
try:
self._cover.destroy()
except Exception:
pass
self._cover = None

188
carico.csv Normal file
View File

@@ -0,0 +1,188 @@
NULL;0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65528;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;2025-10-09 15:05:53.347;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65534;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:05:04.247;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:05:04.920;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;50046000;2025-10-09 15:05:04.920;2025-10-09 15:05:54.967;501919;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;52;2025-10-09 15:05:54.967;2025-10-09 15:05:54.967;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:05:54.967;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:05:54.967;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;638870;2025-10-09 15:05:54.967;2025-10-09 15:05:55.603;27771;0;640;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;51364000;2025-10-09 15:05:04.247;2025-10-09 15:05:55.610;840626;2;672;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;39;2025-10-09 15:05:55.610;2025-10-09 15:05:55.610;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:05:55.607;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5088 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:05:55.610;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5088 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;212;2025-10-09 15:05:55.610;2025-10-09 15:05:55.610;6;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1960000;2025-10-09 15:05:54.967;2025-10-09 15:05:56.927;529690;0;640;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;50;2025-10-09 15:05:56.927;2025-10-09 15:05:56.927;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:05:56.933;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:05:56.927;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;652653;2025-10-09 15:05:56.927;2025-10-09 15:05:57.580;27771;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;1974000;2025-10-09 15:05:55.607;2025-10-09 15:05:57.580;840632;2;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;27;2025-10-09 15:05:57.580;2025-10-09 15:05:57.580;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:05:57.590;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:05:57.580;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;184;2025-10-09 15:05:57.580;2025-10-09 15:05:57.580;6;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;17050000;2025-10-09 15:05:56.933;2025-10-09 15:06:13.983;557461;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;45;2025-10-09 15:06:13.983;2025-10-09 15:06:13.983;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:13.983;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:13.983;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;113;2025-10-09 15:06:13.983;2025-10-09 15:06:13.983;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;0;2025-10-09 15:06:13.983;2025-10-09 15:06:13.983;557465;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;24;2025-10-09 15:06:13.983;2025-10-09 15:06:13.983;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:13.983;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;708;2025-10-09 15:06:13.983;2025-10-09 15:06:13.983;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;3000;2025-10-09 15:06:13.983;2025-10-09 15:06:13.987;557529;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;15;2025-10-09 15:06:13.987;2025-10-09 15:06:13.987;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:13.983;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006061',@BarcodePallet='504492',@NumeroCella=9006061,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363036314800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343439322E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100ED6B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;2002542;2025-10-09 15:06:13.987;2025-10-09 15:06:15.990;83776;0;1969;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;2020000;2025-10-09 15:06:13.983;2025-10-09 15:06:16.003;641305;0;1969;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;37;2025-10-09 15:06:16.003;2025-10-09 15:06:16.003;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:16.000;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504492' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:16.003;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504492' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;651476;2025-10-09 15:06:16.003;2025-10-09 15:06:16.653;27771;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;656000;2025-10-09 15:06:16.000;2025-10-09 15:06:16.657;669076;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;37;2025-10-09 15:06:16.657;2025-10-09 15:06:16.657;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:16.657;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504492';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:16.657;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504492';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;676063;2025-10-09 15:06:16.657;2025-10-09 15:06:17.333;17798;0;672;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;19743000;2025-10-09 15:05:57.590;2025-10-09 15:06:17.333;840638;2;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;43;2025-10-09 15:06:17.333;2025-10-09 15:06:17.333;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:06:17.327;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9006061 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:06:17.333;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9006061 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;196;2025-10-09 15:06:17.333;2025-10-09 15:06:17.333;2;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;13080000;2025-10-09 15:06:16.657;2025-10-09 15:06:29.737;686874;0;672;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;50;2025-10-09 15:06:29.737;2025-10-09 15:06:29.737;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:29.750;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:29.737;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;123;2025-10-09 15:06:29.737;2025-10-09 15:06:29.737;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;-14000;2025-10-09 15:06:29.750;2025-10-09 15:06:29.737;686878;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;82;2025-10-09 15:06:29.737;2025-10-09 15:06:29.737;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:29.750;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1465;2025-10-09 15:06:29.737;2025-10-09 15:06:29.737;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;-10000;2025-10-09 15:06:29.750;2025-10-09 15:06:29.740;686942;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;61;2025-10-09 15:06:29.740;2025-10-09 15:06:29.740;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:29.750;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006062',@BarcodePallet='504488',@NumeroCella=9006062,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363036324800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343438382E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100EE6B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;2004070;2025-10-09 15:06:29.740;2025-10-09 15:06:31.743;83776;0;1985;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;2000000;2025-10-09 15:06:29.750;2025-10-09 15:06:31.750;770718;0;1985;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;29;2025-10-09 15:06:31.750;2025-10-09 15:06:31.750;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:31.750;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504488' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:31.750;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504488' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;649185;2025-10-09 15:06:31.750;2025-10-09 15:06:32.400;27771;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;650000;2025-10-09 15:06:31.750;2025-10-09 15:06:32.400;798489;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;102;2025-10-09 15:06:32.400;2025-10-09 15:06:32.400;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:32.407;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504488';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:32.400;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504488';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;722020;2025-10-09 15:06:32.400;2025-10-09 15:06:33.123;17798;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;15804000;2025-10-09 15:06:17.327;2025-10-09 15:06:33.130;840640;2;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;45;2025-10-09 15:06:33.130;2025-10-09 15:06:33.130;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:06:33.127;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9006062 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:06:33.130;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9006062 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;221;2025-10-09 15:06:33.130;2025-10-09 15:06:33.130;2;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;6740000;2025-10-09 15:06:32.407;2025-10-09 15:06:39.147;816287;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;51;2025-10-09 15:06:39.147;2025-10-09 15:06:39.147;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:39.140;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:39.147;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;120;2025-10-09 15:06:39.147;2025-10-09 15:06:39.147;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;6000;2025-10-09 15:06:39.140;2025-10-09 15:06:39.147;816291;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;23;2025-10-09 15:06:39.147;2025-10-09 15:06:39.147;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:39.140;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;664;2025-10-09 15:06:39.147;2025-10-09 15:06:39.147;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;6000;2025-10-09 15:06:39.140;2025-10-09 15:06:39.147;816355;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;22;2025-10-09 15:06:39.147;2025-10-09 15:06:39.147;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:39.140;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006066',@BarcodePallet='504191',@NumeroCella=9006066,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363036364800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343139312E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100F26B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1964689;2025-10-09 15:06:39.147;2025-10-09 15:06:41.110;83776;0;1922;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1976000;2025-10-09 15:06:39.140;2025-10-09 15:06:41.117;900131;0;1922;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;27;2025-10-09 15:06:41.117;2025-10-09 15:06:41.117;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:41.110;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504191' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:41.117;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504191' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;869803;2025-10-09 15:06:41.117;2025-10-09 15:06:41.987;27771;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;876000;2025-10-09 15:06:41.110;2025-10-09 15:06:41.987;927902;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;25;2025-10-09 15:06:41.987;2025-10-09 15:06:41.987;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:41.983;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504191';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:41.987;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504191';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;718108;2025-10-09 15:06:41.987;2025-10-09 15:06:42.703;17798;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;9577000;2025-10-09 15:06:33.127;2025-10-09 15:06:42.703;840642;2;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;87;2025-10-09 15:06:42.703;2025-10-09 15:06:42.703;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:06:42.703;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9006066 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:06:42.703;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9006066 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;9103;2025-10-09 15:06:42.703;2025-10-09 15:06:42.713;40;0;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;5797000;2025-10-09 15:06:41.983;2025-10-09 15:06:47.780;945700;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;53;2025-10-09 15:06:47.780;2025-10-09 15:06:47.780;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:47.783;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:47.780;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;130;2025-10-09 15:06:47.780;2025-10-09 15:06:47.780;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;-3000;2025-10-09 15:06:47.783;2025-10-09 15:06:47.780;945704;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;23;2025-10-09 15:06:47.780;2025-10-09 15:06:47.780;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:47.783;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;664;2025-10-09 15:06:47.780;2025-10-09 15:06:47.780;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;0;2025-10-09 15:06:47.783;2025-10-09 15:06:47.783;945768;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;23;2025-10-09 15:06:47.783;2025-10-09 15:06:47.783;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:47.783;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006067',@BarcodePallet='504177',@NumeroCella=9006067,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363036374800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343137372E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100F36B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1986102;2025-10-09 15:06:47.783;2025-10-09 15:06:49.770;83789;21;1968;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;2003000;2025-10-09 15:06:47.783;2025-10-09 15:06:49.787;1029557;21;1968;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;28;2025-10-09 15:06:49.787;2025-10-09 15:06:49.787;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:49.783;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504177' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:06:49.787;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504177' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;646532;2025-10-09 15:06:49.787;2025-10-09 15:06:50.433;27771;0;641;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;7720000;2025-10-09 15:06:42.703;2025-10-09 15:06:50.423;840682;2;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;41;2025-10-09 15:06:50.423;2025-10-09 15:06:50.423;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:06:50.423;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 6067 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:06:50.423;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 6067 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;6513;2025-10-09 15:06:50.423;2025-10-09 15:06:50.430;44;0;16;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;11240000;2025-10-09 15:06:49.783;2025-10-09 15:07:01.023;1057328;21;641;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;98;2025-10-09 15:07:01.023;2025-10-09 15:07:01.023;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:01.017;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:01.023;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;230;2025-10-09 15:07:01.023;2025-10-09 15:07:01.023;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;10000;2025-10-09 15:07:01.017;2025-10-09 15:07:01.027;1057332;21;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;69;2025-10-09 15:07:01.027;2025-10-09 15:07:01.027;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:01.017;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1495;2025-10-09 15:07:01.027;2025-10-09 15:07:01.027;64;0;16;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;10000;2025-10-09 15:07:01.017;2025-10-09 15:07:01.027;1057396;21;16;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;57;2025-10-09 15:07:01.027;2025-10-09 15:07:01.027;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:01.030;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006071',@BarcodePallet='504288',@NumeroCella=9006071,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363037314800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343238382E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100F76B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1924493;2025-10-09 15:07:01.027;2025-10-09 15:07:02.950;83784;0;1891;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1916000;2025-10-09 15:07:01.030;2025-10-09 15:07:02.947;1141180;21;1891;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;28;2025-10-09 15:07:02.947;2025-10-09 15:07:02.947;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:02.953;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504288' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:02.947;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504288' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;636493;2025-10-09 15:07:02.947;2025-10-09 15:07:03.583;27771;0;640;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;630000;2025-10-09 15:07:02.953;2025-10-09 15:07:03.583;1168951;21;640;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;28;2025-10-09 15:07:03.583;2025-10-09 15:07:03.583;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:03.593;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504288';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:03.583;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504288';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;694868;2025-10-09 15:07:03.583;2025-10-09 15:07:04.277;17798;0;688;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;13857000;2025-10-09 15:06:50.423;2025-10-09 15:07:04.280;840726;2;16;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;38;2025-10-09 15:07:04.280;2025-10-09 15:07:04.280;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:07:04.280;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9006071 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:07:04.280;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9006071 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;6203;2025-10-09 15:07:04.280;2025-10-09 15:07:04.287;40;0;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;17617000;2025-10-09 15:07:03.593;2025-10-09 15:07:21.210;1186749;21;688;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;51;2025-10-09 15:07:21.210;2025-10-09 15:07:21.210;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:21.203;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:21.210;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;123;2025-10-09 15:07:21.210;2025-10-09 15:07:21.210;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;7000;2025-10-09 15:07:21.203;2025-10-09 15:07:21.210;1186753;21;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;74;2025-10-09 15:07:21.210;2025-10-09 15:07:21.210;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:21.220;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1496;2025-10-09 15:07:21.210;2025-10-09 15:07:21.210;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;-7000;2025-10-09 15:07:21.220;2025-10-09 15:07:21.213;1186817;21;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;73;2025-10-09 15:07:21.213;2025-10-09 15:07:21.213;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:21.220;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006072',@BarcodePallet='504289',@NumeroCella=9006072,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363037324800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343238392E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100F86B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1936981;2025-10-09 15:07:21.213;2025-10-09 15:07:23.150;83784;0;1922;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1940000;2025-10-09 15:07:21.220;2025-10-09 15:07:23.160;1270601;21;1922;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;60;2025-10-09 15:07:23.160;2025-10-09 15:07:23.160;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:23.157;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504289' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:23.160;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504289' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;656345;2025-10-09 15:07:23.160;2025-10-09 15:07:23.817;27771;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;660000;2025-10-09 15:07:23.157;2025-10-09 15:07:23.817;1298372;21;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;25;2025-10-09 15:07:23.817;2025-10-09 15:07:23.817;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:23.813;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504289';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:07:23.817;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504289';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;702678;2025-10-09 15:07:23.817;2025-10-09 15:07:24.520;17798;0;704;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;20233000;2025-10-09 15:07:04.280;2025-10-09 15:07:24.513;840766;2;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;89;2025-10-09 15:07:24.513;2025-10-09 15:07:24.513;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:07:24.517;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9006072 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:07:24.513;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9006072 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;12313;2025-10-09 15:07:24.513;2025-10-09 15:07:24.527;40;0;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;2025-10-09 15:08:53.563;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65533;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
1 NULL 0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65528 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
2 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2025-10-09 15:05:53.347 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65534 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
3 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:05:04.247 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
4 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:05:04.920 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
5 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 50046000 2025-10-09 15:05:04.920 2025-10-09 15:05:54.967 501919 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
6 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 52 2025-10-09 15:05:54.967 2025-10-09 15:05:54.967 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
7 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:05:54.967 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
8 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:05:54.967 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
9 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 638870 2025-10-09 15:05:54.967 2025-10-09 15:05:55.603 27771 0 640 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
10 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 51364000 2025-10-09 15:05:04.247 2025-10-09 15:05:55.610 840626 2 672 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
11 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 39 2025-10-09 15:05:55.610 2025-10-09 15:05:55.610 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
12 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:05:55.607 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
13 SELECT Ubicazione FROM Celle WHERE ID = 5088 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:05:55.610 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
14 SELECT Ubicazione FROM Celle WHERE ID = 5088 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 212 2025-10-09 15:05:55.610 2025-10-09 15:05:55.610 6 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
15 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1960000 2025-10-09 15:05:54.967 2025-10-09 15:05:56.927 529690 0 640 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
16 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 50 2025-10-09 15:05:56.927 2025-10-09 15:05:56.927 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
17 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:05:56.933 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
18 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:05:56.927 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
19 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 652653 2025-10-09 15:05:56.927 2025-10-09 15:05:57.580 27771 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
20 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 1974000 2025-10-09 15:05:55.607 2025-10-09 15:05:57.580 840632 2 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
21 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 27 2025-10-09 15:05:57.580 2025-10-09 15:05:57.580 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
22 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:05:57.590 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
23 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:05:57.580 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
24 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 184 2025-10-09 15:05:57.580 2025-10-09 15:05:57.580 6 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
25 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 17050000 2025-10-09 15:05:56.933 2025-10-09 15:06:13.983 557461 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
26 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 45 2025-10-09 15:06:13.983 2025-10-09 15:06:13.983 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
27 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:13.983 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
28 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:13.983 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
29 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 113 2025-10-09 15:06:13.983 2025-10-09 15:06:13.983 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
30 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 0 2025-10-09 15:06:13.983 2025-10-09 15:06:13.983 557465 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
31 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 24 2025-10-09 15:06:13.983 2025-10-09 15:06:13.983 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
32 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:13.983 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
33 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 708 2025-10-09 15:06:13.983 2025-10-09 15:06:13.983 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
34 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 3000 2025-10-09 15:06:13.983 2025-10-09 15:06:13.987 557529 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
35 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 15 2025-10-09 15:06:13.987 2025-10-09 15:06:13.987 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
36 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:13.983 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
37 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006061',@BarcodePallet='504492',@NumeroCella=9006061,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363036314800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343439322E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100ED6B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 2002542 2025-10-09 15:06:13.987 2025-10-09 15:06:15.990 83776 0 1969 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
38 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 2020000 2025-10-09 15:06:13.983 2025-10-09 15:06:16.003 641305 0 1969 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
39 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 37 2025-10-09 15:06:16.003 2025-10-09 15:06:16.003 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
40 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:16.000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
41 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504492' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:16.003 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
42 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504492' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 651476 2025-10-09 15:06:16.003 2025-10-09 15:06:16.653 27771 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
43 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 656000 2025-10-09 15:06:16.000 2025-10-09 15:06:16.657 669076 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
44 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 37 2025-10-09 15:06:16.657 2025-10-09 15:06:16.657 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
45 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:16.657 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
46 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504492' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:16.657 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
47 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504492' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 676063 2025-10-09 15:06:16.657 2025-10-09 15:06:17.333 17798 0 672 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
48 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 19743000 2025-10-09 15:05:57.590 2025-10-09 15:06:17.333 840638 2 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
49 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 43 2025-10-09 15:06:17.333 2025-10-09 15:06:17.333 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
50 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:06:17.327 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
51 SELECT Ubicazione FROM Celle WHERE ID = 9006061 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:06:17.333 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
52 SELECT Ubicazione FROM Celle WHERE ID = 9006061 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 196 2025-10-09 15:06:17.333 2025-10-09 15:06:17.333 2 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
53 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 13080000 2025-10-09 15:06:16.657 2025-10-09 15:06:29.737 686874 0 672 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
54 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 50 2025-10-09 15:06:29.737 2025-10-09 15:06:29.737 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
55 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:29.750 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
56 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:29.737 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
57 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 123 2025-10-09 15:06:29.737 2025-10-09 15:06:29.737 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
58 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 -14000 2025-10-09 15:06:29.750 2025-10-09 15:06:29.737 686878 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
59 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 82 2025-10-09 15:06:29.737 2025-10-09 15:06:29.737 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
60 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:29.750 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
61 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1465 2025-10-09 15:06:29.737 2025-10-09 15:06:29.737 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
62 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 -10000 2025-10-09 15:06:29.750 2025-10-09 15:06:29.740 686942 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
63 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 61 2025-10-09 15:06:29.740 2025-10-09 15:06:29.740 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
64 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:29.750 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
65 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006062',@BarcodePallet='504488',@NumeroCella=9006062,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363036324800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343438382E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100EE6B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 2004070 2025-10-09 15:06:29.740 2025-10-09 15:06:31.743 83776 0 1985 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
66 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 2000000 2025-10-09 15:06:29.750 2025-10-09 15:06:31.750 770718 0 1985 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
67 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 29 2025-10-09 15:06:31.750 2025-10-09 15:06:31.750 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
68 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:31.750 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
69 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504488' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:31.750 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
70 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504488' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 649185 2025-10-09 15:06:31.750 2025-10-09 15:06:32.400 27771 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
71 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 650000 2025-10-09 15:06:31.750 2025-10-09 15:06:32.400 798489 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
72 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 102 2025-10-09 15:06:32.400 2025-10-09 15:06:32.400 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
73 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:32.407 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
74 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504488' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:32.400 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
75 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504488' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 722020 2025-10-09 15:06:32.400 2025-10-09 15:06:33.123 17798 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
76 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 15804000 2025-10-09 15:06:17.327 2025-10-09 15:06:33.130 840640 2 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
77 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 45 2025-10-09 15:06:33.130 2025-10-09 15:06:33.130 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
78 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:06:33.127 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
79 SELECT Ubicazione FROM Celle WHERE ID = 9006062 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:06:33.130 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
80 SELECT Ubicazione FROM Celle WHERE ID = 9006062 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 221 2025-10-09 15:06:33.130 2025-10-09 15:06:33.130 2 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
81 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 6740000 2025-10-09 15:06:32.407 2025-10-09 15:06:39.147 816287 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
82 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 51 2025-10-09 15:06:39.147 2025-10-09 15:06:39.147 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
83 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:39.140 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
84 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:39.147 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
85 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 120 2025-10-09 15:06:39.147 2025-10-09 15:06:39.147 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
86 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 6000 2025-10-09 15:06:39.140 2025-10-09 15:06:39.147 816291 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
87 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 23 2025-10-09 15:06:39.147 2025-10-09 15:06:39.147 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
88 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:39.140 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
89 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 664 2025-10-09 15:06:39.147 2025-10-09 15:06:39.147 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
90 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 6000 2025-10-09 15:06:39.140 2025-10-09 15:06:39.147 816355 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
91 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 22 2025-10-09 15:06:39.147 2025-10-09 15:06:39.147 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
92 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:39.140 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
93 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006066',@BarcodePallet='504191',@NumeroCella=9006066,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363036364800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343139312E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100F26B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1964689 2025-10-09 15:06:39.147 2025-10-09 15:06:41.110 83776 0 1922 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
94 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1976000 2025-10-09 15:06:39.140 2025-10-09 15:06:41.117 900131 0 1922 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
95 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 27 2025-10-09 15:06:41.117 2025-10-09 15:06:41.117 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
96 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:41.110 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
97 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504191' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:41.117 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
98 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504191' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 869803 2025-10-09 15:06:41.117 2025-10-09 15:06:41.987 27771 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
99 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 876000 2025-10-09 15:06:41.110 2025-10-09 15:06:41.987 927902 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
100 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 25 2025-10-09 15:06:41.987 2025-10-09 15:06:41.987 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
101 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:41.983 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
102 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504191' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:41.987 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
103 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504191' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 718108 2025-10-09 15:06:41.987 2025-10-09 15:06:42.703 17798 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
104 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 9577000 2025-10-09 15:06:33.127 2025-10-09 15:06:42.703 840642 2 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
105 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 87 2025-10-09 15:06:42.703 2025-10-09 15:06:42.703 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
106 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:06:42.703 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
107 SELECT Ubicazione FROM Celle WHERE ID = 9006066 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:06:42.703 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
108 SELECT Ubicazione FROM Celle WHERE ID = 9006066 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 9103 2025-10-09 15:06:42.703 2025-10-09 15:06:42.713 40 0 15 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
109 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 5797000 2025-10-09 15:06:41.983 2025-10-09 15:06:47.780 945700 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
110 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 53 2025-10-09 15:06:47.780 2025-10-09 15:06:47.780 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
111 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:47.783 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
112 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:47.780 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
113 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 130 2025-10-09 15:06:47.780 2025-10-09 15:06:47.780 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
114 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 -3000 2025-10-09 15:06:47.783 2025-10-09 15:06:47.780 945704 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
115 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 23 2025-10-09 15:06:47.780 2025-10-09 15:06:47.780 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
116 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:47.783 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
117 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 664 2025-10-09 15:06:47.780 2025-10-09 15:06:47.780 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
118 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 0 2025-10-09 15:06:47.783 2025-10-09 15:06:47.783 945768 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
119 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 23 2025-10-09 15:06:47.783 2025-10-09 15:06:47.783 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
120 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:47.783 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
121 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006067',@BarcodePallet='504177',@NumeroCella=9006067,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363036374800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343137372E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100F36B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1986102 2025-10-09 15:06:47.783 2025-10-09 15:06:49.770 83789 21 1968 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
122 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 2003000 2025-10-09 15:06:47.783 2025-10-09 15:06:49.787 1029557 21 1968 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
123 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 28 2025-10-09 15:06:49.787 2025-10-09 15:06:49.787 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
124 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:49.783 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
125 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504177' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:06:49.787 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
126 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504177' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 646532 2025-10-09 15:06:49.787 2025-10-09 15:06:50.433 27771 0 641 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
127 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 7720000 2025-10-09 15:06:42.703 2025-10-09 15:06:50.423 840682 2 15 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
128 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 41 2025-10-09 15:06:50.423 2025-10-09 15:06:50.423 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
129 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:06:50.423 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
130 SELECT Ubicazione FROM Celle WHERE ID = 6067 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:06:50.423 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
131 SELECT Ubicazione FROM Celle WHERE ID = 6067 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 6513 2025-10-09 15:06:50.423 2025-10-09 15:06:50.430 44 0 16 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
132 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 11240000 2025-10-09 15:06:49.783 2025-10-09 15:07:01.023 1057328 21 641 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
133 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 98 2025-10-09 15:07:01.023 2025-10-09 15:07:01.023 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
134 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:01.017 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
135 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:01.023 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
136 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 230 2025-10-09 15:07:01.023 2025-10-09 15:07:01.023 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
137 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 10000 2025-10-09 15:07:01.017 2025-10-09 15:07:01.027 1057332 21 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
138 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 69 2025-10-09 15:07:01.027 2025-10-09 15:07:01.027 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
139 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:01.017 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
140 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1495 2025-10-09 15:07:01.027 2025-10-09 15:07:01.027 64 0 16 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
141 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 10000 2025-10-09 15:07:01.017 2025-10-09 15:07:01.027 1057396 21 16 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
142 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 57 2025-10-09 15:07:01.027 2025-10-09 15:07:01.027 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
143 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:01.030 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
144 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006071',@BarcodePallet='504288',@NumeroCella=9006071,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363037314800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343238382E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100F76B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1924493 2025-10-09 15:07:01.027 2025-10-09 15:07:02.950 83784 0 1891 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
145 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1916000 2025-10-09 15:07:01.030 2025-10-09 15:07:02.947 1141180 21 1891 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
146 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 28 2025-10-09 15:07:02.947 2025-10-09 15:07:02.947 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
147 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:02.953 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
148 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504288' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:02.947 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
149 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504288' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 636493 2025-10-09 15:07:02.947 2025-10-09 15:07:03.583 27771 0 640 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
150 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 630000 2025-10-09 15:07:02.953 2025-10-09 15:07:03.583 1168951 21 640 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
151 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 28 2025-10-09 15:07:03.583 2025-10-09 15:07:03.583 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
152 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:03.593 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
153 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504288' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:03.583 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
154 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504288' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 694868 2025-10-09 15:07:03.583 2025-10-09 15:07:04.277 17798 0 688 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
155 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 13857000 2025-10-09 15:06:50.423 2025-10-09 15:07:04.280 840726 2 16 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
156 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 38 2025-10-09 15:07:04.280 2025-10-09 15:07:04.280 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
157 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:07:04.280 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
158 SELECT Ubicazione FROM Celle WHERE ID = 9006071 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:07:04.280 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
159 SELECT Ubicazione FROM Celle WHERE ID = 9006071 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 6203 2025-10-09 15:07:04.280 2025-10-09 15:07:04.287 40 0 15 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
160 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 17617000 2025-10-09 15:07:03.593 2025-10-09 15:07:21.210 1186749 21 688 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
161 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 51 2025-10-09 15:07:21.210 2025-10-09 15:07:21.210 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
162 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:21.203 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
163 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:21.210 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
164 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 123 2025-10-09 15:07:21.210 2025-10-09 15:07:21.210 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
165 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 7000 2025-10-09 15:07:21.203 2025-10-09 15:07:21.210 1186753 21 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
166 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 74 2025-10-09 15:07:21.210 2025-10-09 15:07:21.210 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
167 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:21.220 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
168 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1496 2025-10-09 15:07:21.210 2025-10-09 15:07:21.210 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
169 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 -7000 2025-10-09 15:07:21.220 2025-10-09 15:07:21.213 1186817 21 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
170 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 73 2025-10-09 15:07:21.213 2025-10-09 15:07:21.213 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
171 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:21.220 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
172 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9006072',@BarcodePallet='504289',@NumeroCella=9006072,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030363037324800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343238392E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100F86B89001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1936981 2025-10-09 15:07:21.213 2025-10-09 15:07:23.150 83784 0 1922 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
173 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1940000 2025-10-09 15:07:21.220 2025-10-09 15:07:23.160 1270601 21 1922 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
174 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 60 2025-10-09 15:07:23.160 2025-10-09 15:07:23.160 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
175 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:23.157 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
176 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504289' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:23.160 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
177 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504289' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 656345 2025-10-09 15:07:23.160 2025-10-09 15:07:23.817 27771 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
178 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 660000 2025-10-09 15:07:23.157 2025-10-09 15:07:23.817 1298372 21 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
179 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 25 2025-10-09 15:07:23.817 2025-10-09 15:07:23.817 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
180 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:23.813 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
181 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504289' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:07:23.817 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
182 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504289' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 702678 2025-10-09 15:07:23.817 2025-10-09 15:07:24.520 17798 0 704 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
183 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 20233000 2025-10-09 15:07:04.280 2025-10-09 15:07:24.513 840766 2 15 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
184 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 89 2025-10-09 15:07:24.513 2025-10-09 15:07:24.513 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
185 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:07:24.517 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
186 SELECT Ubicazione FROM Celle WHERE ID = 9006072 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:07:24.513 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
187 SELECT Ubicazione FROM Celle WHERE ID = 9006072 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 12313 2025-10-09 15:07:24.513 2025-10-09 15:07:24.527 40 0 15 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
188 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2025-10-09 15:08:53.563 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65533 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL

View File

@@ -0,0 +1,69 @@
# 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.

427
db_config.py Normal file
View File

@@ -0,0 +1,427 @@
"""Database connection bootstrap helpers for first-run configuration."""
from __future__ import annotations
import asyncio
import json
import tkinter as tk
from pathlib import Path
from tkinter import messagebox, ttk
from typing import Any
from async_msssql_query import AsyncMSSQLClient, make_mssql_dsn
from locale_text import load_locale_catalog, text as loc_text
from tooltips import WidgetToolTip, load_tooltip_catalog, tooltip_text
from ui_theme import theme_section, theme_value
CONFIG_PATH = Path(__file__).with_name("db_connection.json")
DEFAULT_DB_CONFIG: dict[str, Any] = {
"server": r"mde3\gesterp",
"database": "Mediseawall",
"user": "sa",
"password": "1Password1",
"driver": "ODBC Driver 17 for SQL Server",
"trust_server_certificate": True,
"encrypt": "",
}
def load_db_config(path: Path = CONFIG_PATH) -> dict[str, Any] | None:
"""Return the DB config from disk, or ``None`` when missing/invalid."""
try:
if not path.exists():
return None
data = json.loads(path.read_text(encoding="utf-8"))
if not isinstance(data, dict):
return None
return {**DEFAULT_DB_CONFIG, **data}
except Exception:
return None
def save_db_config(config: dict[str, Any], path: Path = CONFIG_PATH) -> None:
"""Persist the DB config as UTF-8 JSON."""
payload = {**DEFAULT_DB_CONFIG, **config}
path.parent.mkdir(parents=True, exist_ok=True)
path.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8")
def build_dsn_from_config(config: dict[str, Any]) -> str:
"""Build the SQLAlchemy DSN from the saved configuration."""
return make_mssql_dsn(
server=str(config.get("server") or "").strip(),
database=str(config.get("database") or "").strip(),
user=str(config.get("user") or "").strip() or None,
password=str(config.get("password") or "").strip() or None,
driver=str(config.get("driver") or DEFAULT_DB_CONFIG["driver"]).strip(),
trust_server_certificate=bool(config.get("trust_server_certificate", True)),
encrypt=(str(config.get("encrypt") or "").strip() or None),
)
def _is_complete(config: dict[str, Any] | None) -> bool:
"""Return True when the config contains the required connection fields."""
if not isinstance(config, dict):
return False
required = ("server", "database", "user", "password")
return all(str(config.get(key) or "").strip() for key in required)
def test_db_config_sync(config: dict[str, Any], loop: asyncio.AbstractEventLoop, timeout: float = 6.0) -> None:
"""Raise an exception when the DB configuration cannot open a connection."""
client = AsyncMSSQLClient(build_dsn_from_config(config), log=False)
async def _job() -> None:
try:
await client.query_json("SELECT 1 AS Ok", {}, as_dict_rows=True)
finally:
try:
await client.dispose()
except Exception:
pass
fut = asyncio.run_coroutine_threadsafe(_job(), loop)
fut.result(timeout=timeout)
class DatabaseConfigWindow(tk.Toplevel):
"""Modal first-run form that collects the SQL Server connection settings."""
def __init__(self, parent: tk.Misc, loop: asyncio.AbstractEventLoop, initial: dict[str, Any] | None = None):
super().__init__(parent)
self._loop = loop
self._theme = theme_section("db_config_window", {})
self._locale_catalog = load_locale_catalog()
self._tooltip_catalog = load_tooltip_catalog()
self.result_config: dict[str, Any] | None = None
merged = {**DEFAULT_DB_CONFIG, **(initial or {})}
self.title(loc_text("dbconfig.title", catalog=self._locale_catalog, default="Configurazione Database"))
self.geometry(str(theme_value(self._theme, "window_geometry", "520x360")))
self.resizable(False, False)
try:
if parent is not None and parent.winfo_viewable():
self.transient(parent)
except Exception:
pass
self.protocol("WM_DELETE_WINDOW", self._on_cancel)
self.server_var = tk.StringVar(value=str(merged.get("server") or ""))
self.database_var = tk.StringVar(value=str(merged.get("database") or ""))
self.user_var = tk.StringVar(value=str(merged.get("user") or ""))
self.password_var = tk.StringVar(value=str(merged.get("password") or ""))
self.driver_var = tk.StringVar(value=str(merged.get("driver") or DEFAULT_DB_CONFIG["driver"]))
self.encrypt_var = tk.StringVar(value=str(merged.get("encrypt") or ""))
self.tsc_var = tk.BooleanVar(value=bool(merged.get("trust_server_certificate", True)))
self._status_var = tk.StringVar(value="")
self._busy_cover: tk.Frame | None = None
self._busy_label: ttk.Label | None = None
self._busy_bar: ttk.Progressbar | None = None
self._build_ui()
self.update_idletasks()
req_w = self.winfo_reqwidth()
req_h = self.winfo_reqheight()
try:
current_w, current_h = [int(v) for v in str(theme_value(self._theme, "window_geometry", "520x360")).split("x", 1)]
except Exception:
current_w, current_h = 520, 360
final_w = max(current_w, req_w + 16)
final_h = max(current_h, req_h + 20)
self.geometry(f"{final_w}x{final_h}")
self.minsize(final_w, final_h)
self.grab_set()
self.deiconify()
self.lift()
self.attributes("-topmost", True)
self.after(50, self._show_ready)
def _build_ui(self) -> None:
body = ttk.Frame(self, padding=14)
body.pack(fill="both", expand=True)
body.columnconfigure(1, weight=1)
heading = ttk.Label(
body,
text=loc_text(
"dbconfig.heading",
catalog=self._locale_catalog,
default="Configura la connessione al database del magazzino",
),
font=("Segoe UI", 11, "bold"),
)
heading.grid(row=0, column=0, columnspan=2, sticky="w", pady=(2, 12))
fields = [
("dbconfig.label.server", "Server", self.server_var, "dbconfig.field.server"),
("dbconfig.label.database", "Database", self.database_var, "dbconfig.field.database"),
("dbconfig.label.user", "Utente", self.user_var, "dbconfig.field.user"),
("dbconfig.label.password", "Password", self.password_var, "dbconfig.field.password"),
("dbconfig.label.driver", "Driver ODBC", self.driver_var, "dbconfig.field.driver"),
("dbconfig.label.encrypt", "Encrypt", self.encrypt_var, "dbconfig.field.encrypt"),
]
self._entries: list[ttk.Entry] = []
for row_idx, (key, default, var, tip_key) in enumerate(fields, start=1):
label = ttk.Label(body, text=loc_text(key, catalog=self._locale_catalog, default=default))
label.grid(
row=row_idx, column=0, sticky="w", padx=(0, 10), pady=6
)
entry = ttk.Entry(body, textvariable=var, width=34, show="*" if var is self.password_var else "")
entry.grid(row=row_idx, column=1, sticky="ew", pady=6)
self._entries.append(entry)
self._attach_tooltip(label, tip_key)
self._attach_tooltip(entry, tip_key)
tsc = ttk.Checkbutton(
body,
text=loc_text(
"dbconfig.label.trust_server_certificate",
catalog=self._locale_catalog,
default="Trust server certificate",
),
variable=self.tsc_var,
)
tsc.grid(row=7, column=0, columnspan=2, sticky="w", pady=(8, 4))
self._attach_tooltip(tsc, "dbconfig.field.trust_server_certificate")
info = ttk.Label(
body,
text=loc_text(
"dbconfig.info",
catalog=self._locale_catalog,
default="Il file verra' salvato localmente e non verra' piu' richiesto ai prossimi avvii.",
),
wraplength=420,
justify="left",
)
info.grid(row=8, column=0, columnspan=2, sticky="w", pady=(6, 8))
ttk.Label(body, textvariable=self._status_var, foreground="#555555").grid(
row=9, column=0, columnspan=2, sticky="w", pady=(2, 2)
)
actions = ttk.Frame(body)
actions.grid(row=10, column=0, columnspan=2, sticky="ew", pady=(10, 0))
actions.columnconfigure(0, weight=1)
self._cancel_btn = ttk.Button(
actions,
text=loc_text("dbconfig.button.cancel", catalog=self._locale_catalog, default="Annulla"),
command=self._on_cancel,
)
self._cancel_btn.grid(row=0, column=1, padx=(0, 8))
self._attach_tooltip(self._cancel_btn, "dbconfig.button.cancel")
self._test_btn = ttk.Button(
actions,
text=loc_text("dbconfig.button.test", catalog=self._locale_catalog, default="Test connessione"),
command=self._on_test,
)
self._test_btn.grid(row=0, column=2, padx=(0, 8))
self._attach_tooltip(self._test_btn, "dbconfig.button.test")
self._save_btn = ttk.Button(
actions,
text=loc_text("dbconfig.button.save", catalog=self._locale_catalog, default="Salva"),
command=self._on_save,
)
self._save_btn.grid(row=0, column=3)
self._attach_tooltip(self._save_btn, "dbconfig.button.save")
self._attach_tooltip(heading, "dbconfig.heading")
self._attach_tooltip(info, "dbconfig.info")
def _attach_tooltip(self, widget: tk.Misc, key: str) -> None:
"""Attach a localized tooltip when a text exists for the given key."""
tip = tooltip_text(key, catalog=self._tooltip_catalog)
if tip:
WidgetToolTip(widget, tip)
def _show_ready(self) -> None:
"""Ensure the modal is visible even with a hidden bootstrap root."""
try:
self.attributes("-topmost", True)
self.deiconify()
self.lift()
self.focus_force()
if self._entries:
self._entries[0].focus_force()
finally:
try:
self.after(250, lambda: self.attributes("-topmost", False))
except Exception:
pass
def _show_busy_overlay(self, message: str) -> None:
"""Show a lightweight inline overlay without CustomTkinter callbacks."""
if self._busy_cover and self._busy_cover.winfo_exists():
if self._busy_label is not None:
self._busy_label.configure(text=message)
try:
self._busy_cover.lift()
except Exception:
pass
return
cover = tk.Frame(self, bg="#d9d9d9")
cover.place(relx=0, rely=0, relwidth=1, relheight=1)
panel = ttk.Frame(cover, padding=14)
panel.place(relx=0.5, rely=0.5, anchor="center")
label = ttk.Label(panel, text=message, font=("Segoe UI", 10, "bold"))
label.pack(padx=16, pady=(4, 8))
bar = ttk.Progressbar(panel, mode="indeterminate", length=220)
bar.pack(padx=16, pady=(0, 6))
try:
bar.start(10)
except Exception:
pass
self._busy_cover = cover
self._busy_label = label
self._busy_bar = bar
def _hide_busy_overlay(self) -> None:
"""Hide the lightweight inline overlay."""
if self._busy_bar is not None:
try:
self._busy_bar.stop()
except Exception:
pass
self._busy_bar = None
self._busy_label = None
if self._busy_cover is not None and self._busy_cover.winfo_exists():
try:
self._busy_cover.destroy()
except Exception:
pass
self._busy_cover = None
def _set_busy(self, busy: bool, message: str = "") -> None:
state = "disabled" if busy else "normal"
try:
for entry in self._entries:
entry.configure(state=state)
self._cancel_btn.configure(state=state)
self._test_btn.configure(state=state)
self._save_btn.configure(state=state)
self.configure(cursor="watch" if busy else "")
self._status_var.set(message)
if busy:
self._show_busy_overlay(message or loc_text("dbconfig.busy", catalog=self._locale_catalog, default="Verifico..."))
else:
self._hide_busy_overlay()
self.update_idletasks()
except Exception:
pass
def _collect(self) -> dict[str, Any]:
return {
"server": str(self.server_var.get() or "").strip(),
"database": str(self.database_var.get() or "").strip(),
"user": str(self.user_var.get() or "").strip(),
"password": str(self.password_var.get() or "").strip(),
"driver": str(self.driver_var.get() or "").strip() or str(DEFAULT_DB_CONFIG["driver"]),
"encrypt": str(self.encrypt_var.get() or "").strip(),
"trust_server_certificate": bool(self.tsc_var.get()),
}
def _validate(self, config: dict[str, Any]) -> bool:
required = ("server", "database", "user", "password")
missing = [name for name in required if not str(config.get(name) or "").strip()]
if not missing:
return True
messagebox.showwarning(
loc_text("dbconfig.msg.title", catalog=self._locale_catalog, default="Configurazione Database"),
loc_text(
"dbconfig.msg.missing",
catalog=self._locale_catalog,
default="Compila almeno server, database, utente e password.",
),
parent=self,
)
return False
def _test(self, config: dict[str, Any]) -> None:
self._set_busy(True, loc_text("dbconfig.busy", catalog=self._locale_catalog, default="Verifico connessione..."))
try:
test_db_config_sync(config, self._loop)
finally:
self._set_busy(False, "")
def _on_test(self) -> None:
config = self._collect()
if not self._validate(config):
return
try:
self._test(config)
except Exception as ex:
messagebox.showerror(
loc_text("dbconfig.msg.title", catalog=self._locale_catalog, default="Configurazione Database"),
loc_text("dbconfig.msg.test_error", catalog=self._locale_catalog, default="Connessione fallita:\n{error}").format(error=ex),
parent=self,
)
return
messagebox.showinfo(
loc_text("dbconfig.msg.title", catalog=self._locale_catalog, default="Configurazione Database"),
loc_text("dbconfig.msg.test_ok", catalog=self._locale_catalog, default="Connessione riuscita."),
parent=self,
)
def _on_save(self) -> None:
config = self._collect()
if not self._validate(config):
return
try:
self._test(config)
save_db_config(config)
except Exception as ex:
messagebox.showerror(
loc_text("dbconfig.msg.title", catalog=self._locale_catalog, default="Configurazione Database"),
loc_text("dbconfig.msg.save_error", catalog=self._locale_catalog, default="Salvataggio fallito:\n{error}").format(error=ex),
parent=self,
)
return
self.result_config = config
self.destroy()
def _on_cancel(self) -> None:
self.result_config = None
try:
self.destroy()
except Exception:
pass
def ensure_db_config(loop: asyncio.AbstractEventLoop, parent: tk.Misc | None = None) -> dict[str, Any] | None:
"""Return a valid DB config, prompting the user the first time when needed."""
existing = load_db_config()
if _is_complete(existing):
return existing
owns_root = False
if parent is None:
parent = tk.Tk()
parent.geometry("1x1+0+0")
parent.overrideredirect(True)
parent.attributes("-alpha", 0.0)
parent.deiconify()
parent.update_idletasks()
owns_root = True
dlg = DatabaseConfigWindow(parent, loop=loop, initial=existing or DEFAULT_DB_CONFIG)
try:
parent.wait_window(dlg)
finally:
if owns_root:
try:
parent.destroy()
except Exception:
pass
return dlg.result_config

115
diagramma_scarico_udc.md Normal file
View File

@@ -0,0 +1,115 @@
# Diagramma Operativo - Scarico UDC / Prelievo
## Obiettivo
Prelevare una UDC dal magazzino e scaricarla verso la cella virtuale `9000000`.
## Nota importante
Dal codice C# emergono **due sottocasi diversi**:
- `scarico picking list`
- parte da `F1` o `F2`
- valida il pallet atteso della coda
- `scarico diretto`
- parte dal pulsante `F4 Elimina`
- non richiede una picking list prenotata
Questo diagramma descrive il **primo scarico UDC diretto**, cioe' il prelievo senza navigazione picking list.
## Stato iniziale del barcode
- form aperta
- nessuna operazione pendente
- focus sul campo `Pallet`
- prima label di stato neutra o grigia
- campo `Cella` non significativo finche' non si entra nel comando
## Come si entra nello stato iniziale dello scarico
Dal comportamento C# la strada piu' fedele e':
1. l'operatore preme `F4`
2. la form entra in modalita' scarico diretto
3. la prima label deve indicare:
- `OP Scarico`
4. il campo `Cella` viene preimpostato a:
- `9000000`
5. il focus va sul campo `Pallet`
## Stato operativo durante lo scarico
- `Pallet` = da leggere
- `Cella` = `9000000`
- focus sul campo `Pallet`
- label 1 grigia con:
- `OP Scarico`
## Sequenza operativa
```mermaid
flowchart TD
A["Stato neutro"] --> B["Operatore preme F4"]
B --> C["Form entra in OP Scarico"]
C --> D["Cella preimpostata a 9000000"]
D --> E["Focus sul campo Pallet"]
E --> F["Operatore legge barcode pallet"]
F --> G{"Invio automatico del lettore o Enter manuale"}
G --> H["Esecuzione stored sp_xMagGestioneMagazziniPallet"]
H --> I{"Esito OK?"}
I -- Si --> L["Label 1 verde/giallo: Ok Scarico"]
L --> M["Label 2 = lotto"]
M --> N["Label 3 = codice prodotto"]
N --> O["Label 4 = descrizione articolo"]
O --> P["Focus torna su Pallet per operazione successiva"]
I -- No --> Q["Label 1 rossa con errore"]
Q --> R["Focus torna su Pallet"]
```
## Stato finale se l'operazione va bene
- prima label:
- verde chiaro o giallo-verde
- testo tipo `Ok Scarico`
- seconda label:
- lotto del pallet movimentato
- terza label:
- codice prodotto
- quarta label:
- descrizione articolo
- focus:
- torna sul campo `Pallet`
- campo `Cella`:
- resta `9000000`
## Stato finale se l'operazione fallisce
- prima label rossa
- testo di errore operativo
- focus sul campo `Pallet`
- nessun avanzamento di coda
## Coerenza con il C#
I punti dedotti direttamente dal codice C# sono:
- `F4 Elimina` forza uno scarico verso `9000000`
- lo scarico usa:
- `sp_xMagGestioneMagazziniPallet`
- dopo il movimento il C# richiama:
- `GetDatiPallet(...)`
- e se il pallet non e' piu' nella vista picking passa a:
- `GetDatiPalletLotto(...)`
- da quest'ultima lettura arrivano:
- `Ok Scarico`
- lotto
- codice prodotto
- descrizione articolo
## Punto ancora da verificare sul campo
Da confermare in prova reale:
- se nel client legacy il colore di successo finale dello scarico diretto sia:
- verde chiaro
- oppure giallo-verde
- se il focus torni sempre al campo `Pallet` anche dopo errore
- se il lettore genera davvero `Enter` automatico in ogni scenario di scansione

View File

@@ -20,18 +20,18 @@ async_msssql_query.py
:undoc-members:
:show-inheritance:
gestione_aree_frame_async.py
gestione_aree.py
----------------------------
.. automodule:: gestione_aree_frame_async
.. automodule:: gestione_aree
:members:
:undoc-members:
:show-inheritance:
layout_window.py
----------------
gestione_layout.py
------------------
.. automodule:: layout_window
.. automodule:: gestione_layout
:members:
:undoc-members:
:show-inheritance:
@@ -44,10 +44,10 @@ reset_corsie.py
:undoc-members:
:show-inheritance:
view_celle_multiple.py
----------------------
view_celle_multi_udc.py
-----------------------
.. automodule:: view_celle_multiple
.. automodule:: view_celle_multi_udc
:members:
:undoc-members:
:show-inheritance:

View File

@@ -12,12 +12,12 @@ flowchart TD
Main --> DB["AsyncMSSQLClient"]
Launcher --> Reset["reset_corsie.py"]
Launcher --> Layout["layout_window.py"]
Launcher --> Ghost["view_celle_multiple.py"]
Launcher --> Layout["gestione_layout.py"]
Launcher --> Ghost["view_celle_multi_udc.py"]
Launcher --> Search["search_pallets.py"]
Launcher --> Picking["gestione_pickinglist.py"]
Reset --> Runner["gestione_aree_frame_async.AsyncRunner"]
Reset --> Runner["gestione_aree.AsyncRunner"]
Layout --> Runner
Ghost --> Runner
Search --> Runner

View File

@@ -12,12 +12,13 @@ I diagrammi sono scritti in Mermaid, quindi possono essere:
## Indice
- [main](./main_flow.md)
- [layout_window](./layout_window_flow.md)
- [gestione_layout](./gestione_layout_flow.md)
- [reset_corsie](./reset_corsie_flow.md)
- [view_celle_multiple](./view_celle_multiple_flow.md)
- [view_celle_multi_udc](./view_celle_multi_udc_flow.md)
- [search_pallets](./search_pallets_flow.md)
- [gestione_pickinglist](./gestione_pickinglist_flow.md)
- [infrastruttura async/db](./async_db_flow.md)
- [warehouse operational flow](./warehouse_operational_flow.md)
## Convenzioni

View File

@@ -35,5 +35,5 @@ flowchart TD
## Note
- E un helper minimale usato da `main.py`.
- Il modulo esiste separato da `gestione_aree_frame_async.py`, ma concettualmente
- Il modulo esiste separato da `gestione_aree.py`, ma concettualmente
svolge lo stesso ruolo di gestione del loop condiviso.

View File

@@ -1,4 +1,4 @@
# `gestione_aree_frame_async.py`
# `gestione_aree.py`
## Scopo

View File

@@ -1,10 +1,11 @@
# `layout_window.py`
# `gestione_layout.py`
## Scopo
Questo modulo visualizza il layout delle corsie come matrice di celle, mostra
lo stato di occupazione, consente di cercare una UDC e permette l'export della
matrice.
matrice. La griglia ad alte prestazioni e' resa con `tksheet`, mantenendo la
stessa semantica visiva delle celle operative.
## Flusso operativo
@@ -57,5 +58,7 @@ flowchart LR
- Il modulo usa un token `_req_counter` per evitare che risposte async vecchie
aggiornino la UI fuori ordine.
- La statistica globale viene ricalcolata da query SQL, mentre quella della
corsia corrente usa la matrice già caricata in memoria.
- `destroy()` marca la finestra come non più attiva per evitare callback tardive.
corsia corrente usa la matrice gia' caricata in memoria.
- Il click destro su una cella riusa lo stesso menu contestuale della versione
precedente basata su pulsanti CTk.
- `destroy()` marca la finestra come non piu' attiva per evitare callback tardive.

View File

@@ -13,7 +13,7 @@ Questo modulo gestisce la vista master/detail delle picking list e permette di:
```{mermaid}
flowchart TD
A["open_pickinglist_window() da main.py"] --> B["create_pickinglist_frame()"]
A["open_pickinglist_window() in gestione_pickinglist.py"] --> B["create_frame()"]
B --> C["GestionePickingListFrame.__init__()"]
C --> D["_build_layout()"]
D --> E["after_idle(_first_show)"]

View File

@@ -9,12 +9,13 @@ infrastrutturali.
README.md
main_flow.md
layout_window_flow.md
gestione_layout_flow.md
reset_corsie_flow.md
view_celle_multiple_flow.md
view_celle_multi_udc_flow.md
search_pallets_flow.md
gestione_pickinglist_flow.md
warehouse_operational_flow.md
async_db_flow.md
async_msssql_query_flow.md
gestione_aree_frame_async_flow.md
gestione_aree_flow.md
async_loop_singleton_flow.md

View File

@@ -22,7 +22,7 @@ flowchart TD
I --> K["open_layout_window()"]
I --> L["open_celle_multiple_window()"]
I --> M["open_search_window()"]
I --> N["open_pickinglist_window()"]
I --> N["gestione_pickinglist.open_pickinglist_window()"]
```
## Schema di chiamata
@@ -33,13 +33,13 @@ flowchart LR
Launcher --> Layout["open_layout_window"]
Launcher --> Ghost["open_celle_multiple_window"]
Launcher --> Search["open_search_window"]
Launcher --> Pick["open_pickinglist_window"]
Pick --> PickFactory["create_pickinglist_frame"]
Launcher --> Pick["gestione_pickinglist.open_pickinglist_window"]
Pick --> PickFactory["gestione_pickinglist.create_frame"]
```
## Note
- `db_app` viene creato una sola volta e poi passato a tutte le finestre.
- Alla chiusura del launcher viene chiamato `db_app.dispose()` sul loop globale.
- `open_pickinglist_window()` costruisce la finestra in modo nascosto e la rende
- `gestione_pickinglist.open_pickinglist_window()` costruisce la finestra in modo nascosto e la rende
visibile solo a layout pronto, per ridurre lo sfarfallio iniziale.

View File

@@ -1,4 +1,4 @@
# `view_celle_multiple.py`
# `view_celle_multi_udc.py`
## Scopo

View File

@@ -0,0 +1,167 @@
# Warehouse Operational Flow
Questo diagramma descrive il flusso operativo integrato tra:
- layout di magazzino;
- gestione picking list;
- movimentazione fisica dei pallet;
- viste SQL e stored procedure coinvolte;
- aggiornamento dell'interfaccia dopo ogni operazione.
## Vista d'insieme
```{mermaid}
flowchart TD
UI["Operatore su interfaccia"] --> LAY["Gestione Layout"]
UI --> PL["Gestione Picking List"]
subgraph Layout["Flusso Layout"]
LAY --> LC1["Caricamento corsie e metadati layout"]
LC1 --> LC2["vViewMappaturaDescrizioneCorsia"]
LC1 --> LC3["vViewMappaturaPosizCorsia"]
LC1 --> LC4["MagLayout"]
LC1 --> LC5["Celle / Magazzini"]
LC2 --> GRID["Rendering griglia scaffale"]
LC3 --> GRID
LC4 --> GRID
LC5 --> GRID
GRID --> LX["Click su cella / ricerca UDC / menu contestuale"]
end
subgraph Picking["Flusso Picking List"]
PL --> PC1["Caricamento elenco documenti"]
PC1 --> PV1["XMag_ViewPackingList"]
PV1 --> PGRID["Griglia documenti aggregata"]
PGRID --> PSEL["Selezione documento"]
PSEL --> PV2["vViewPackingListRestante"]
PV2 --> PDET["Griglia dettaglio documento"]
PDET --> PACT["Prenota / S-prenota / consultazione"]
end
subgraph Mov["Movimentazione pallet"]
LX --> MOVE{"Operazione fisica?"}
MOVE -->|Carico o spostamento| SP1["sp_xMagGestioneMagazziniPallet"]
MOVE -->|Scarico pallet| SP1
PACT -->|Prenota o s-prenota| SP2["sp_xExePackingListPallet"]
SP1 --> M1["Aggiorna movimenti MagazziniPallet"]
SP1 --> M2["Aggiorna cella destinazione / origine"]
SP1 --> M3["Controlla prenotazione automatica"]
M3 --> SP3["sp_ControllaPrenotazionePackingListPalletNew"]
SP3 --> SP4["sp_xExePackingListPalletPrenota"]
SP2 --> M4["Aggiorna Celle.IDStato"]
SP2 --> M5["Scrive LogPackingList"]
SP4 --> M4
end
subgraph Views["Ricostruzione contesto"]
M1 --> GV["XMag_GiacenzaPallet"]
M2 --> CV["Celle"]
GV --> XP["XMag_ViewPackingList"]
GV --> TP["vXTracciaProdotti"]
CV --> XP
XP --> RL1["Stato documento / pallet / ubicazione"]
TP --> RL2["Articolo / lotto / descrizione"]
end
RL1 --> LREF["Refresh Layout / Picking List"]
RL2 --> LREF
LREF --> GRID
LREF --> PGRID
LREF --> PDET
```
## Flusso del layout
```{mermaid}
flowchart TD
A["Apertura Gestione Layout"] --> B["Legge mappatura corsie"]
B --> B1["vViewMappaturaDescrizioneCorsia"]
B --> B2["vViewMappaturaPosizCorsia"]
B --> B3["MagLayout"]
B --> B4["Celle / Magazzini"]
B1 --> C["Costruisce geometria scaffale"]
B2 --> C
B3 --> C
B4 --> C
C --> D["Query giacenza pallet per corsia"]
D --> E["Colora celle: vuota / piena / multipla"]
E --> F["Mostra UDC piu recente nella cella"]
F --> G{"Interazione utente"}
G -->|Ricerca UDC| H["Evidenzia cella in blu"]
G -->|Tasto destro su cella rossa| I["Menu contestuale"]
I --> J["Dialog scarico / analisi multi UDC"]
J --> K["Movimentazione fisica pallet"]
K --> L["Refresh layout"]
```
## Flusso della picking list
```{mermaid}
flowchart TD
A["Apertura Gestione Picking List"] --> B["Query aggregata documenti"]
B --> C["XMag_ViewPackingList"]
C --> D["Una riga per documento"]
D --> E["Utente seleziona il documento"]
E --> F["Query dettaglio documento"]
F --> G["vViewPackingListRestante"]
G --> H["Mostra pallet ancora rilevanti per il documento"]
H --> I{"Azione utente"}
I -->|Prenota o s-prenota| J["sp_xExePackingListPallet"]
I -->|Consulta dettaglio| H
J --> K["Aggiorna IDStato delle celle del documento"]
K --> L["LogPackingList"]
K --> M["Refresh lista documenti"]
K --> N["Refresh dettaglio documento"]
```
## Flusso della movimentazione pallet
```{mermaid}
flowchart TD
A["Utente legge barcode pallet e cella"] --> B["sp_xMagGestioneMagazziniPallet"]
B --> C{"Il pallet esiste gia in giacenza?"}
C -->|No| D["Inserisce movimento V sulla nuova cella"]
C -->|Si| E["Inserisce movimento P sulla vecchia cella"]
E --> F["Inserisce movimento V sulla nuova cella"]
D --> G["Aggiorna ricostruzione giacenza"]
F --> G
G --> H["XMag_GiacenzaPallet"]
H --> I["XMag_ViewPackingList"]
H --> J["vXTracciaProdotti"]
I --> K["Ubicazione e stato documento"]
J --> L["Dati articolo e lotto"]
K --> M["Refresh interfaccia"]
L --> M
```
## Significato delle viste e delle stored procedure
- `XMag_ViewPackingList`:
ricostruisce il collegamento tra pallet, documento, ubicazione e stato
logistico. E' la vista principale per la schermata picking list.
- `vViewPackingListRestante`:
mostra il dettaglio operativo del documento, cioe' le righe ancora visibili
e ordinate per ubicazione.
- `vXTracciaProdotti`:
arricchisce il pallet con lotto, codice articolo e descrizione.
- `sp_xMagGestioneMagazziniPallet`:
esegue il movimento fisico del pallet nel magazzino.
- `sp_xExePackingListPallet`:
fa il toggle di prenotazione delle celle coinvolte in una picking list.
- `sp_xExePackingListPalletPrenota`:
forza la prenotazione a `IDStato = 1`.
- `sp_ControllaPrenotazionePackingListPalletNew`:
controlla se, dopo una movimentazione fisica, debba essere riapplicata una
prenotazione automatica sulle celle coinvolte.
## Lettura pratica del sistema
- Il layout risponde alla domanda:
"dove sono i pallet e come sono distribuiti nello scaffale?"
- La picking list risponde alla domanda:
"quali pallet fanno parte di un documento e quali celle sono prenotate?"
- La movimentazione pallet risponde alla domanda:
"cosa succede nel tracciato quando un pallet viene caricato, spostato o
scaricato?"
- Le viste vengono rilette dopo l'operazione per riportare la UI in uno stato
coerente con il database.

View File

@@ -1,4 +1,4 @@
"""One-off maintenance script to sanitize ``border_color`` usage in ``layout_window``.
"""One-off maintenance script to sanitize ``border_color`` usage in ``gestione_layout``.
The script removes incompatible ``border_color='transparent'`` assignments from
widget configuration calls while preserving explicit highlight colors that are
@@ -9,7 +9,7 @@ import re
from pathlib import Path
# Path default (modifica se serve)
p = Path("./layout_window.py")
p = Path("./gestione_layout.py")
if not p.exists():
raise SystemExit(f"File non trovato: {p}")

View File

@@ -1,4 +1,4 @@
"""One-off maintenance script to patch performance issues in ``layout_window``.
"""One-off maintenance script to patch performance issues in ``gestione_layout``.
The script was used during development to remove an expensive resize-triggered
refresh and to inject some lifecycle guards into the window implementation.
@@ -8,7 +8,7 @@ It is kept in the repository as an auditable patch recipe.
from pathlib import Path
import re
p = Path("./layout_window.py")
p = Path("./gestione_layout.py")
src = p.read_text(encoding="utf-8")
backup = p.with_suffix(".py.bak_perf")

78
flussi operativi.txt Normal file
View File

@@ -0,0 +1,78 @@
Flusso delle procedure del barcode così come le compie il magazziniere con il barcode.
Le procudere analizzate sono 3: carico(versamento), scarico(prelievo), prelievo pickinglist
1 reset iniziale
Il magazziniere entra nello stato iniziale premendo f1
Poichè non c'è nessuna pickinglist prenotata (stato 1) , (questo è il pre-requisito) questo è lo stato iniziale
Input text e label diventano:
L'input text Pallet diventa vuoto e acquisisce il focus
L'input text Cella diventa 9000000
La label 1 , dall'alto , diventa rossa
Le altre 3 sono vuote e grige.
Questo stato iniziale è identico per carico e scarico , la discriminante tra le due operazioni è ciò che l'operatore farà dopo essere entrato in questo stato.
2 prelievo
Il passaggio 2 è sempre la lettura di un codice udc. Che può essere fatta da barcode oppure da tastiera, se è fatta da barcode la lettura implica uno spostamento del focus sull'input text Cella. Se è fatta da tastiera all'input del 6° carattere il focus salta automaticamente all'inputtext Cella.
Se ora l'operatore preme "f4 elimina" il pallet corrente viene associato alla cella 9000000 e di fatto prelevato.
Questo chiude il prelievo, il dato viene inviato al server e la 4 label diventano
Ok scarico - 698345 -> verde
P2506000007
S-174
Center ring
Questo è lo scarico , dopo 2 secondi la form si resetta come in 1.
3 versamento
Se all'atto della lettura del codice udc anzichè lasciare 9000000 nell'input text l'operatore leggesse un codice di cella questo implicherebbe un versamento di quell'udc in quella cella.
La lettura del codice di cella può avvenire solo da barcode e non da tastiera, a meno che l'oepratore non conosca effettivamente quel codice.
Nel momento in cui l'operatore legge il barcode della cella automaticamente parte l'aggiornamento del versameto sul server. Se l'operazine è andata a buona fine le label intermendi diventano
OK carico . --> verde
Lotto
codice
descrizione
dopo 2 secondi dall'ok il form si resetta come in 1.
4 pickinglkist
se esiste una picking list con id stato 1 questa può essere prelevata mediante f1, con f2 si salta alla lista successiva con numdoc più basso. Se non c'è nessuna picking list prenotata f1 resetta il barcode alla condizione 1 . Se premo f2 salto alla picking list successiva per numdoc a quella con il numdoc più basso di tutte. In pratica quella con il numdoc più basso può andare in f1 solo se viene prenotata.
Supponiamo di avere prentato una pickinglist e quindi di premere f1, oppure di andare sulla successiva a quella con il numdoc più basso con f2. Premere f1 o f2 se ci sono plist prenotate o più plist, non perdispone più al prelievo o versamento di cui ai punti 1 e 2 ma allo scorrimento/prelievo di una picking list.
L'operatore preme f1 , gli inputtext e le label diventano
pallet : vuoto con focus
cella: 9000000
Ok Cella indirizzo cella
numdoc della pickinglist
descrizione picking list
num udc
Questa informazioni sono quelle prese dal contneuto dle picking list
, cioè la prima udc da prelevare, la sua locazione e la descrizone del docuemnto corrente selezionato.
L'operatore va quindi a cercare la cella, il focus si è posizionato su inputtext pallet.
L'operatore legge il barcode della UDC, oppure digita il codice e al sesto carattere scatta il tab sull'input successivo.
Qui , in automatico, parte il controllo ce codice udc sia quello giusto, se ciè è vero parte il dato per il database che associa l'udc alla cella 7G etc. non ricordo, che significa che l'udc è stata spedita. Cosa avvenga in questo punto è da verificare sul codice
Se è tutto ok la prima label diviene "ok scarico " -- verde
e occorre vedere sul codice c# cosa compare nelle altre labels.
Dopo 2 secondi al form si posiziona sulla successiva udc e il ciclo ricomincia.

View File

@@ -1,22 +1,26 @@
"""Shared Tk/async helpers used by multiple warehouse windows.
The module bundles three concerns used throughout the GUI:
The module bundles two concerns used throughout the GUI:
* lifecycle of the shared background asyncio loop;
* a modal-like busy overlay shown during long-running tasks;
* an ``AsyncRunner`` that schedules coroutines and re-enters Tk safely.
* an ``AsyncRunner`` that schedules coroutines on the shared loop and
re-enters Tk safely.
The shared loop itself is defined only in :mod:`async_loop_singleton` and is
reused here instead of being recreated locally.
"""
from __future__ import annotations
import asyncio
import threading
import tkinter as tk
from typing import Any, Callable, Optional
import customtkinter as ctk
__VERSION__ = "GestioneAreeFrame v3.2.5-singleloop"
from async_loop_singleton import get_global_loop
__VERSION__ = "GestioneAreeFrame v3.3.0-singleloop"
try:
from async_msssql_query import AsyncMSSQLClient # noqa: F401
@@ -24,50 +28,6 @@ except Exception:
AsyncMSSQLClient = object # type: ignore
class _LoopHolder:
"""Keep references to the shared event loop and its worker thread."""
def __init__(self):
self.loop: Optional[asyncio.AbstractEventLoop] = None
self.thread: Optional[threading.Thread] = None
self.ready = threading.Event()
_GLOBAL = _LoopHolder()
def _run_loop():
"""Create and run the shared event loop inside the worker thread."""
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
_GLOBAL.loop = loop
_GLOBAL.ready.set()
loop.run_forever()
def get_global_loop() -> asyncio.AbstractEventLoop:
"""Return the shared background event loop, creating it if needed."""
if _GLOBAL.loop is not None:
return _GLOBAL.loop
_GLOBAL.thread = threading.Thread(target=_run_loop, name="warehouse-asyncio", daemon=True)
_GLOBAL.thread.start()
_GLOBAL.ready.wait(timeout=5.0)
if _GLOBAL.loop is None:
raise RuntimeError("Impossibile avviare l'event loop globale")
return _GLOBAL.loop
def stop_global_loop():
"""Stop the shared event loop and release thread references."""
if _GLOBAL.loop and _GLOBAL.loop.is_running():
_GLOBAL.loop.call_soon_threadsafe(_GLOBAL.loop.stop)
if _GLOBAL.thread:
_GLOBAL.thread.join(timeout=2.0)
_GLOBAL.loop = None
_GLOBAL.thread = None
_GLOBAL.ready.clear()
class BusyOverlay:
"""Semi-transparent overlay used to block interaction during async tasks."""

1442
gestione_layout.py Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,62 @@
NULL;0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65528;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;2025-10-09 10:05:23.670;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65534;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;106;NULL;2025-10-09 10:04:07.890;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;112;NULL;2025-10-09 10:04:07.903;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;113;NULL;2025-10-09 10:04:07.997;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:04:08.280;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;NULL;2025-10-09 10:04:07.997;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;88930000;2025-10-09 10:04:08.280;2025-10-09 10:05:37.210;21;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;43;2025-10-09 10:05:37.210;2025-10-09 10:05:37.210;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:37.210;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewMappaturaDescrizioneCorsia WHERE ( Area > 0) ORDER BY Area Desc ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:37.210;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewMappaturaDescrizioneCorsia WHERE ( Area > 0) ORDER BY Area Desc ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;296;2025-10-09 10:05:37.210;2025-10-09 10:05:37.210;26;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;20000;2025-10-09 10:05:37.210;2025-10-09 10:05:37.230;47;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;32;2025-10-09 10:05:37.230;2025-10-09 10:05:37.230;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:37.227;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewMappaturaDescrizioneCorsia WHERE ( Area > 0) ORDER BY Area Desc ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:37.230;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewMappaturaDescrizioneCorsia WHERE ( Area > 0) ORDER BY Area Desc ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;243;2025-10-09 10:05:37.230;2025-10-09 10:05:37.230;26;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;4000;2025-10-09 10:05:37.227;2025-10-09 10:05:37.230;73;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;17;2025-10-09 10:05:37.230;2025-10-09 10:05:37.230;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:37.227;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM Celle WHERE ( ID > 0) ORDER BY ID Desc ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:37.230;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM Celle WHERE ( ID > 0) ORDER BY ID Desc ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;6561990;2025-10-09 10:05:37.230;2025-10-09 10:05:43.790;3941578;11835;6328;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;6570000;2025-10-09 10:05:37.227;2025-10-09 10:05:43.797;3941651;11835;6328;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;20;2025-10-09 10:05:43.797;2025-10-09 10:05:43.797;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:43.787;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
" SELECT TOP 1000 [mc_X] ,[minFila] ,[maxFila] ,[minColonna] ,[maxColonna] ,[mc_Numero_Magazzino] ,[mc_Numero_Area] FROM vViewMappaturaPosizCorsia WHERE [mc_Numero_Area] =1 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:43.797;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
" SELECT TOP 1000 [mc_X] ,[minFila] ,[maxFila] ,[minColonna] ,[maxColonna] ,[mc_Numero_Magazzino] ,[mc_Numero_Area] FROM vViewMappaturaPosizCorsia WHERE [mc_Numero_Area] =1 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;334;2025-10-09 10:05:43.797;2025-10-09 10:05:43.797;56;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;95804000;2025-10-09 10:04:07.997;2025-10-09 10:05:43.800;5;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;16;2025-10-09 10:05:43.800;2025-10-09 10:05:43.800;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;NULL;2025-10-09 10:05:43.787;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
" SELECT CASE WHEN Nota = 'ASC' THEN 0 ELSE CASE WHEN Nota = 'DESC' THEN 1 END END AS Nota FROM MagLayout WHERE (IDArea = 1) ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;NULL;2025-10-09 10:05:43.800;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
" SELECT CASE WHEN Nota = 'ASC' THEN 0 ELSE CASE WHEN Nota = 'DESC' THEN 1 END END AS Nota FROM MagLayout WHERE (IDArea = 1) ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;74;2025-10-09 10:05:43.800;2025-10-09 10:05:43.800;2;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;44000;2025-10-09 10:05:43.787;2025-10-09 10:05:43.830;3941707;11835;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;36;2025-10-09 10:05:43.830;2025-10-09 10:05:43.830;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:43.820;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Descrizione FROM Magazzini ORDER BY Descrizione;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:43.830;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Descrizione FROM Magazzini ORDER BY Descrizione;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;155;2025-10-09 10:05:43.830;2025-10-09 10:05:43.830;2;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;13000;2025-10-09 10:05:43.820;2025-10-09 10:05:43.833;3941709;11835;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;17;2025-10-09 10:05:43.833;2025-10-09 10:05:43.833;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:43.837;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Descrizione FROM Celle ORDER BY Descrizione;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:43.833;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Descrizione FROM Celle ORDER BY Descrizione;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;2130;2025-10-09 10:05:43.833;2025-10-09 10:05:43.837;56;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;84000;2025-10-09 10:05:43.837;2025-10-09 10:05:43.920;3941765;11835;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;37;2025-10-09 10:05:43.920;2025-10-09 10:05:43.920;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:43.913;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT [ID],[CorsiaDescrizione] FROM vViewMappaturaDescrizioneCorsia;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:43.920;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT [ID],[CorsiaDescrizione] FROM vViewMappaturaDescrizioneCorsia;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;195;2025-10-09 10:05:43.920;2025-10-09 10:05:43.920;26;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;23000;2025-10-09 10:05:43.913;2025-10-09 10:05:43.937;3941791;11835;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;20;2025-10-09 10:05:43.937;2025-10-09 10:05:43.937;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:43.930;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
" SELECT COUNT(DISTINCT Pallet) AS Pallet, COUNT(DISTINCT Lotto) AS Lotto, COUNT(DISTINCT Articolo) AS Articolo, COUNT(DISTINCT Descrizione) AS Descrizione, SUM(Qta) AS Qta, Documento, CodNazione, NAZIONE, Stato, MAX(PalletCella) AS PalletCella, MAX(Magazzino) AS Magazzino, MAX(Area) AS Area, MAX(Cella) AS Cella, MIN(Ordinamento) AS Ordinamento, MAX(IDStato) AS IDStato FROM dbo.XMag_ViewPackingList GROUP BY Documento, CodNazione, NAZIONE, Stato ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:05:43.937;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
" SELECT COUNT(DISTINCT Pallet) AS Pallet, COUNT(DISTINCT Lotto) AS Lotto, COUNT(DISTINCT Articolo) AS Articolo, COUNT(DISTINCT Descrizione) AS Descrizione, SUM(Qta) AS Qta, Documento, CodNazione, NAZIONE, Stato, MAX(PalletCella) AS PalletCella, MAX(Magazzino) AS Magazzino, MAX(Area) AS Area, MAX(Cella) AS Cella, MIN(Ordinamento) AS Ordinamento, MAX(IDStato) AS IDStato FROM dbo.XMag_ViewPackingList GROUP BY Documento, CodNazione, NAZIONE, Stato ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;718618;2025-10-09 10:05:43.937;2025-10-09 10:05:44.653;37512;5;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;874000;2025-10-09 10:05:43.787;2025-10-09 10:05:44.660;7;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;21;2025-10-09 10:05:44.660;2025-10-09 10:05:44.660;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;NULL;2025-10-09 10:05:44.663;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewPackingListRestante WHERE Documento = 237 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;NULL;2025-10-09 10:05:44.660;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewPackingListRestante WHERE Documento = 237 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;117;667783;2025-10-09 10:05:44.660;2025-10-09 10:05:45.327;37056;0;594;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;37156000;2025-10-09 10:05:43.930;2025-10-09 10:06:21.087;3979303;11840;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;66;2025-10-09 10:06:21.087;2025-10-09 10:06:21.087;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:06:21.087;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewPackingListRestante WHERE Documento = 240 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;NULL;2025-10-09 10:06:21.087;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewPackingListRestante WHERE Documento = 240 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;9796;.Net SqlClient Data Provider;magazzino;115;719071;2025-10-09 10:06:21.087;2025-10-09 10:06:21.807;37056;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
1 NULL 0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65528 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
2 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2025-10-09 10:05:23.670 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65534 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
3 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 106 NULL 2025-10-09 10:04:07.890 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
4 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 112 NULL 2025-10-09 10:04:07.903 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
5 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 113 NULL 2025-10-09 10:04:07.997 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
6 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:04:08.280 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
7 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 NULL 2025-10-09 10:04:07.997 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
8 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 88930000 2025-10-09 10:04:08.280 2025-10-09 10:05:37.210 21 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
9 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 43 2025-10-09 10:05:37.210 2025-10-09 10:05:37.210 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
10 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:37.210 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
11 SELECT * FROM vViewMappaturaDescrizioneCorsia WHERE ( Area > 0) ORDER BY Area Desc NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:37.210 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
12 SELECT * FROM vViewMappaturaDescrizioneCorsia WHERE ( Area > 0) ORDER BY Area Desc NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 296 2025-10-09 10:05:37.210 2025-10-09 10:05:37.210 26 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
13 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 20000 2025-10-09 10:05:37.210 2025-10-09 10:05:37.230 47 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
14 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 32 2025-10-09 10:05:37.230 2025-10-09 10:05:37.230 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
15 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:37.227 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
16 SELECT * FROM vViewMappaturaDescrizioneCorsia WHERE ( Area > 0) ORDER BY Area Desc NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:37.230 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
17 SELECT * FROM vViewMappaturaDescrizioneCorsia WHERE ( Area > 0) ORDER BY Area Desc NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 243 2025-10-09 10:05:37.230 2025-10-09 10:05:37.230 26 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
18 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 4000 2025-10-09 10:05:37.227 2025-10-09 10:05:37.230 73 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
19 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 17 2025-10-09 10:05:37.230 2025-10-09 10:05:37.230 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
20 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:37.227 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
21 SELECT * FROM Celle WHERE ( ID > 0) ORDER BY ID Desc NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:37.230 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
22 SELECT * FROM Celle WHERE ( ID > 0) ORDER BY ID Desc NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 6561990 2025-10-09 10:05:37.230 2025-10-09 10:05:43.790 3941578 11835 6328 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
23 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 6570000 2025-10-09 10:05:37.227 2025-10-09 10:05:43.797 3941651 11835 6328 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
24 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 20 2025-10-09 10:05:43.797 2025-10-09 10:05:43.797 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
25 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:43.787 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
26 SELECT TOP 1000 [mc_X] ,[minFila] ,[maxFila] ,[minColonna] ,[maxColonna] ,[mc_Numero_Magazzino] ,[mc_Numero_Area] FROM vViewMappaturaPosizCorsia WHERE [mc_Numero_Area] =1 NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:43.797 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
27 SELECT TOP 1000 [mc_X] ,[minFila] ,[maxFila] ,[minColonna] ,[maxColonna] ,[mc_Numero_Magazzino] ,[mc_Numero_Area] FROM vViewMappaturaPosizCorsia WHERE [mc_Numero_Area] =1 NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 334 2025-10-09 10:05:43.797 2025-10-09 10:05:43.797 56 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
28 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 95804000 2025-10-09 10:04:07.997 2025-10-09 10:05:43.800 5 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
29 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 16 2025-10-09 10:05:43.800 2025-10-09 10:05:43.800 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
30 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 NULL 2025-10-09 10:05:43.787 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
31 SELECT CASE WHEN Nota = 'ASC' THEN 0 ELSE CASE WHEN Nota = 'DESC' THEN 1 END END AS Nota FROM MagLayout WHERE (IDArea = 1) NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 NULL 2025-10-09 10:05:43.800 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
32 SELECT CASE WHEN Nota = 'ASC' THEN 0 ELSE CASE WHEN Nota = 'DESC' THEN 1 END END AS Nota FROM MagLayout WHERE (IDArea = 1) NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 74 2025-10-09 10:05:43.800 2025-10-09 10:05:43.800 2 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
33 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 44000 2025-10-09 10:05:43.787 2025-10-09 10:05:43.830 3941707 11835 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
34 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 36 2025-10-09 10:05:43.830 2025-10-09 10:05:43.830 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
35 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:43.820 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
36 SELECT ID, Descrizione FROM Magazzini ORDER BY Descrizione NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:43.830 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
37 SELECT ID, Descrizione FROM Magazzini ORDER BY Descrizione NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 155 2025-10-09 10:05:43.830 2025-10-09 10:05:43.830 2 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
38 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 13000 2025-10-09 10:05:43.820 2025-10-09 10:05:43.833 3941709 11835 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
39 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 17 2025-10-09 10:05:43.833 2025-10-09 10:05:43.833 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
40 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:43.837 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
41 SELECT ID, Descrizione FROM Celle ORDER BY Descrizione NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:43.833 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
42 SELECT ID, Descrizione FROM Celle ORDER BY Descrizione NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 2130 2025-10-09 10:05:43.833 2025-10-09 10:05:43.837 56 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
43 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 84000 2025-10-09 10:05:43.837 2025-10-09 10:05:43.920 3941765 11835 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
44 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 37 2025-10-09 10:05:43.920 2025-10-09 10:05:43.920 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
45 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:43.913 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
46 SELECT [ID],[CorsiaDescrizione] FROM vViewMappaturaDescrizioneCorsia NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:43.920 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
47 SELECT [ID],[CorsiaDescrizione] FROM vViewMappaturaDescrizioneCorsia NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 195 2025-10-09 10:05:43.920 2025-10-09 10:05:43.920 26 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
48 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 23000 2025-10-09 10:05:43.913 2025-10-09 10:05:43.937 3941791 11835 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
49 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 20 2025-10-09 10:05:43.937 2025-10-09 10:05:43.937 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
50 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:43.930 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
51 SELECT COUNT(DISTINCT Pallet) AS Pallet, COUNT(DISTINCT Lotto) AS Lotto, COUNT(DISTINCT Articolo) AS Articolo, COUNT(DISTINCT Descrizione) AS Descrizione, SUM(Qta) AS Qta, Documento, CodNazione, NAZIONE, Stato, MAX(PalletCella) AS PalletCella, MAX(Magazzino) AS Magazzino, MAX(Area) AS Area, MAX(Cella) AS Cella, MIN(Ordinamento) AS Ordinamento, MAX(IDStato) AS IDStato FROM dbo.XMag_ViewPackingList GROUP BY Documento, CodNazione, NAZIONE, Stato NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:05:43.937 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
52 SELECT COUNT(DISTINCT Pallet) AS Pallet, COUNT(DISTINCT Lotto) AS Lotto, COUNT(DISTINCT Articolo) AS Articolo, COUNT(DISTINCT Descrizione) AS Descrizione, SUM(Qta) AS Qta, Documento, CodNazione, NAZIONE, Stato, MAX(PalletCella) AS PalletCella, MAX(Magazzino) AS Magazzino, MAX(Area) AS Area, MAX(Cella) AS Cella, MIN(Ordinamento) AS Ordinamento, MAX(IDStato) AS IDStato FROM dbo.XMag_ViewPackingList GROUP BY Documento, CodNazione, NAZIONE, Stato NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 718618 2025-10-09 10:05:43.937 2025-10-09 10:05:44.653 37512 5 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
53 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 874000 2025-10-09 10:05:43.787 2025-10-09 10:05:44.660 7 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
54 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 21 2025-10-09 10:05:44.660 2025-10-09 10:05:44.660 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
55 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 NULL 2025-10-09 10:05:44.663 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
56 SELECT * FROM vViewPackingListRestante WHERE Documento = 237 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 NULL 2025-10-09 10:05:44.660 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
57 SELECT * FROM vViewPackingListRestante WHERE Documento = 237 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 117 667783 2025-10-09 10:05:44.660 2025-10-09 10:05:45.327 37056 0 594 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
58 NULL NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 37156000 2025-10-09 10:05:43.930 2025-10-09 10:06:21.087 3979303 11840 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
59 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 66 2025-10-09 10:06:21.087 2025-10-09 10:06:21.087 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
60 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:06:21.087 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
61 SELECT * FROM vViewPackingListRestante WHERE Documento = 240 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 NULL 2025-10-09 10:06:21.087 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
62 SELECT * FROM vViewPackingListRestante WHERE Documento = 240 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 9796 .Net SqlClient Data Provider magazzino 115 719071 2025-10-09 10:06:21.087 2025-10-09 10:06:21.807 37056 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL

View File

@@ -6,14 +6,72 @@ smooth by relying on deferred updates and lightweight progress indicators.
"""
from __future__ import annotations
import json
import sys
import tkinter as tk
import customtkinter as ctk
from tkinter import messagebox
from typing import Optional, Any, Dict, List, Callable
from dataclasses import dataclass
from functools import wraps
from pathlib import Path
import logging
from audit_log import log_user_action
try:
from loguru import logger
except Exception: # pragma: no cover - safety fallback if dependency is missing locally
class _FallbackLogger:
"""Minimal adapter used only when Loguru is not installed yet."""
def __init__(self):
self._logger = logging.getLogger(MODULE_LOG_NAME if "MODULE_LOG_NAME" in globals() else __name__)
self._logger.setLevel(logging.DEBUG)
self._logger.propagate = False
def bind(self, **_kwargs):
return self
def add(self, sink, level="INFO", format=None, encoding="utf-8", **_kwargs):
handler: logging.Handler
if hasattr(sink, "write"):
handler = logging.StreamHandler(sink)
else:
handler = logging.FileHandler(str(sink), encoding=encoding)
handler.setLevel(getattr(logging, str(level).upper(), logging.INFO))
handler.setFormatter(
logging.Formatter("%(asctime)s | %(levelname)-8s | %(name)s | %(message)s")
)
self._logger.addHandler(handler)
return 0
def log(self, level, message):
getattr(self._logger, str(level).lower(), self._logger.info)(message)
def debug(self, message):
self._logger.debug(message)
def info(self, message):
self._logger.info(message)
def exception(self, message):
self._logger.exception(message)
logger = _FallbackLogger()
try:
from tksheet import Sheet, natural_sort_key
except Exception:
Sheet = None # type: ignore[assignment]
natural_sort_key = None # type: ignore[assignment]
# Usa overlay e runner "collaudati"
from gestione_aree_frame_async import BusyOverlay, AsyncRunner
from busy_overlay import InlineBusyOverlay
from gestione_aree import AsyncRunner
from locale_text import load_locale_catalog, text as loc_text
from ui_theme import theme_color, theme_font, theme_section, theme_value
from user_session import UserSession
from window_placement import place_window_fullsize_below_parent_later
# === IMPORT procedura async prenota/s-prenota (no pyodbc qui) ===
import asyncio
@@ -27,6 +85,118 @@ except Exception:
self.rc = rc; self.message = message; self.id_result = id_result
PICKINGLIST_LOG_MODE = "INFO" # "OFF" | "INFO" | "DEBUG"
PICKINGLIST_DETAIL_TEST_MULTIPLIER = 1 # 1 disables artificial row expansion for UI stress tests
MODULE_LOG_NAME = Path(__file__).stem
MODULE_LOG_PATH = Path(__file__).with_suffix(".log")
_MODULE_LOG_ENABLED = PICKINGLIST_LOG_MODE.upper() != "OFF"
_MODULE_LOG_LEVEL = "DEBUG" if PICKINGLIST_LOG_MODE.upper() == "DEBUG" else "INFO"
_MODULE_LOGGER = logger.bind(warehouse_module=MODULE_LOG_NAME)
_MODULE_LOGGING_CONFIGURED = False
def _configure_module_logger():
"""Configure console and file logging for this module."""
global _MODULE_LOGGING_CONFIGURED
if _MODULE_LOGGING_CONFIGURED:
return
if not _MODULE_LOG_ENABLED:
_MODULE_LOGGING_CONFIGURED = True
return
record_filter = lambda record: record["extra"].get("warehouse_module") == MODULE_LOG_NAME
logger.add(
sys.stderr,
level=_MODULE_LOG_LEVEL,
colorize=True,
filter=record_filter,
format=(
"<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | "
"<level>{level: <8}</level> | "
"<cyan>" + MODULE_LOG_NAME + "</cyan> | "
"<level>{message}</level>"
),
)
logger.add(
MODULE_LOG_PATH,
level=_MODULE_LOG_LEVEL,
colorize=False,
encoding="utf-8",
filter=record_filter,
format="{time:YYYY-MM-DD HH:mm:ss.SSS} | {level: <8} | " + MODULE_LOG_NAME + " | {message}",
)
_MODULE_LOGGING_CONFIGURED = True
def _format_payload(payload: Any) -> str:
"""Serialize payloads for human-readable logging."""
try:
return json.dumps(payload, ensure_ascii=False, indent=2, default=str)
except Exception:
return repr(payload)
def _log_call(level: Optional[str] = None):
"""Trace entry, exit and failure of selected high-level functions."""
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
effective_level = level or _MODULE_LOG_LEVEL
_MODULE_LOGGER.log(
effective_level,
f"CALL {func.__qualname__} args={_format_payload(args[1:] if args else ())} kwargs={_format_payload(kwargs)}",
)
try:
result = func(*args, **kwargs)
except Exception:
_MODULE_LOGGER.exception(f"FAIL {func.__qualname__}")
raise
_MODULE_LOGGER.log(effective_level, f"RETURN {func.__qualname__}")
return result
return wrapper
return decorator
def _log_sql(query_name: str, sql: str, params: Dict[str, Any]):
"""Log one SQL statement and its parameters."""
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"SQL {query_name} params={_format_payload(params)}")
_MODULE_LOGGER.debug(f"SQL {query_name} text:\n{sql.strip()}")
def _log_dataset(query_name: str, rows: List[Dict[str, Any]]):
"""Log query results at summary or full-debug level depending on the flag."""
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"SQL {query_name} returned {len(rows)} rows")
if PICKINGLIST_LOG_MODE.upper() == "DEBUG":
_MODULE_LOGGER.debug(f"SQL {query_name} dataset:\n{_format_payload(rows)}")
def _expand_detail_rows_for_test(rows: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
"""Artificially duplicate detail rows to stress-test the UI with larger datasets."""
multiplier = max(1, int(PICKINGLIST_DETAIL_TEST_MULTIPLIER))
if multiplier == 1 or not rows:
return rows
expanded: List[Dict[str, Any]] = []
for copy_idx in range(multiplier):
for row_idx, row in enumerate(rows):
cloned = dict(row)
cloned["__test_copy__"] = copy_idx
cloned["__test_row__"] = row_idx
expanded.append(cloned)
_MODULE_LOGGER.info(
f"Dataset dettaglio espanso artificialmente da {len(rows)} a {len(expanded)} righe per test UI"
)
return expanded
_configure_module_logger()
if _MODULE_LOG_ENABLED:
_MODULE_LOGGER.info(
f"Logging inizializzato su {MODULE_LOG_PATH.name} livello={_MODULE_LOG_LEVEL} mode={PICKINGLIST_LOG_MODE.upper()}"
)
# -------------------- SQL --------------------
SQL_PL = """
SELECT
@@ -45,14 +215,14 @@ SELECT
MAX(Cella) AS Cella,
MIN(Ordinamento) AS Ordinamento,
MAX(IDStato) AS IDStato
FROM dbo.XMag_ViewPackingList
FROM dbo.py_ViewPackingListRestante
GROUP BY Documento, CodNazione, NAZIONE, Stato
ORDER BY MIN(Ordinamento), Documento, NAZIONE, Stato;
"""
SQL_PL_DETAILS = """
SELECT *
FROM ViewPackingListRestante
FROM dbo.py_ViewPackingListRestante
WHERE Documento = :Documento
ORDER BY Ordinamento;
"""
@@ -205,10 +375,18 @@ class ScrollTable(ctk.CTkFrame):
PADX_R = 8
PADY = 2
def __init__(self, master, columns: List[ColSpec]):
def __init__(
self,
master,
columns: List[ColSpec],
on_header_click: Optional[Callable[[ColSpec], None]] = None,
):
"""Create a fixed-header scrollable table rendered with Tk/CTk widgets."""
super().__init__(master)
self.columns = columns
self.on_header_click = on_header_click
self._sort_key: Optional[str] = None
self._sort_reverse = False
self.total_w = sum(c.width for c in self.columns)
self.grid_rowconfigure(1, weight=1)
@@ -243,6 +421,10 @@ class ScrollTable(ctk.CTkFrame):
# bind
self.h_inner.bind("<Configure>", lambda e: self._sync_header_width())
self.b_inner.bind("<Configure>", lambda e: self._on_body_configure())
self.b_canvas.bind("<Enter>", self._bind_mousewheel)
self.b_canvas.bind("<Leave>", self._unbind_mousewheel)
self.b_inner.bind("<Enter>", self._bind_mousewheel)
self.b_inner.bind("<Leave>", self._unbind_mousewheel)
self._build_header()
@@ -265,12 +447,27 @@ class ScrollTable(ctk.CTkFrame):
holder.pack(side="left", fill="y")
holder.pack_propagate(False)
lbl = ctk.CTkLabel(holder, text=col.title, anchor="w")
header_text = col.title
if col.key == self._sort_key:
header_text = f"{col.title} {'' if self._sort_reverse else ''}"
lbl = ctk.CTkLabel(holder, text=header_text, anchor="w")
lbl.pack(fill="both", padx=(self.PADX_L, self.PADX_R), pady=self.PADY)
if self.on_header_click and col.key != "__check__":
for widget in (holder, lbl):
widget.bind("<Button-1>", lambda e, c=col: self.on_header_click(c))
widget.configure(cursor="hand2")
self.h_inner.configure(width=self.total_w, height=ROW_H)
self.h_canvas.configure(scrollregion=(0,0,self.total_w,ROW_H))
def set_sort_state(self, key: Optional[str], reverse: bool = False):
"""Update the header labels so the active sort is visible."""
self._sort_key = key
self._sort_reverse = reverse
self._build_header()
def _update_body_width(self):
"""Keep the scroll region aligned with the current body content width."""
self.b_canvas.itemconfigure(self.body_window, width=self.total_w)
@@ -300,6 +497,22 @@ class ScrollTable(ctk.CTkFrame):
self.h_canvas.xview_moveto(first)
self.xbar.set(first, last)
def _bind_mousewheel(self, _event=None):
"""Route mouse-wheel scrolling to the body canvas while the cursor is over the table."""
self.b_canvas.bind_all("<MouseWheel>", self._on_mousewheel)
def _unbind_mousewheel(self, _event=None):
"""Stop routing global mouse-wheel events when the pointer leaves the table."""
self.b_canvas.unbind_all("<MouseWheel>")
def _on_mousewheel(self, event):
"""Scroll the body canvas vertically in response to wheel movement."""
delta = getattr(event, "delta", 0)
if delta == 0:
return
step = -1 if delta > 0 else 1
self.b_canvas.yview_scroll(step, "units")
def clear_rows(self):
"""Remove all rendered body rows."""
for w in self.b_inner.winfo_children():
@@ -369,28 +582,51 @@ class PLRow:
# -------------------- main frame (no-flicker + UX tuning + spinner) --------------------
class GestionePickingListFrame(ctk.CTkFrame):
def __init__(self, master, *, db_client=None, conn_str=None):
@_log_call()
def __init__(self, master, *, db_client=None, conn_str=None, session: UserSession | None = None):
"""Create the master/detail picking list frame."""
super().__init__(master)
self._theme = theme_section("pickinglist_window", {})
self._locale_catalog = load_locale_catalog()
if db_client is None:
raise ValueError("GestionePickingListFrame richiede un db_client condiviso.")
self.db_client = db_client
self.session = session
self.runner = AsyncRunner(self) # runner condiviso (usa loop globale)
self.busy = BusyOverlay(self) # overlay collaudato
self.busy = InlineBusyOverlay(self, self._theme)
try:
self.configure(fg_color=theme_color(self._theme, "window_fg_color", ("#efefef", "#2f2f2f")))
except Exception:
pass
self.rows_models: list[PLRow] = []
self._detail_cache: Dict[Any, list] = {}
self.detail_doc = None
self._detail_sort_key: Optional[str] = None
self._detail_sort_reverse = False
self._detail_sorting = False
self._first_loading: bool = False # flag per cursore d'attesa solo al primo load
self._render_job = None # Tracking del job di rendering in corso
self._build_layout()
# 🔇 Niente reload immediato: carichiamo quando la finestra è idle (= già resa)
self.after_idle(self._first_show)
self._initial_load_started = False
def _can(self, action: str) -> bool:
"""Return whether the current user can execute one picking-list action."""
return self.session.can(action) if self.session else False
def _operator_id(self) -> int:
"""Return the authenticated operator id or ``0`` if no session is present."""
return int(self.session.operator_id) if self.session else 0
def _first_show(self):
"""Chiamato a finestra già resa → evitiamo sfarfallio del primo paint e mostriamo wait-cursor."""
if self._initial_load_started:
return
self._initial_load_started = True
self._first_loading = True
try:
self.winfo_toplevel().configure(cursor="watch")
@@ -408,13 +644,22 @@ class GestionePickingListFrame(ctk.CTkFrame):
top = ctk.CTkFrame(self)
top.grid(row=0, column=0, sticky="ew", padx=10, pady=(8,4))
try:
top.configure(fg_color=theme_color(self._theme, "toolbar_frame_fg_color", ("#d7d7d7", "#3b3b3b")))
except Exception:
pass
for i, (text, cmd) in enumerate([
("Ricarica", self.reload_from_db),
("Prenota", self.on_prenota),
("S-prenota", self.on_sprenota),
("Esporta XLSX", self.on_export)
(loc_text("picking.button.reload", catalog=self._locale_catalog, default="Ricarica"), self.reload_from_db),
(loc_text("picking.button.prenota", catalog=self._locale_catalog, default="Prenota"), self.on_prenota),
(loc_text("picking.button.sprenota", catalog=self._locale_catalog, default="S-prenota"), self.on_sprenota),
(loc_text("picking.button.export", catalog=self._locale_catalog, default="Esporta XLSX"), self.on_export)
]):
ctk.CTkButton(top, text=text, command=cmd).grid(row=0, column=i, padx=6)
ctk.CTkButton(
top,
text=text,
command=cmd,
font=theme_font(self._theme, "toolbar_button_font", ("Segoe UI", 10, "bold")),
).grid(row=0, column=i, padx=6)
# --- micro spinner a destra della toolbar ---
self.spinner = ToolbarSpinner(top)
@@ -423,20 +668,171 @@ class GestionePickingListFrame(ctk.CTkFrame):
self.pl_table = ScrollTable(self, PL_COLS)
self.pl_table.grid(row=1, column=0, sticky="nsew", padx=10, pady=(4,8))
self.det_table = ScrollTable(self, DET_COLS)
self.det_table.grid(row=3, column=0, sticky="nsew", padx=10, pady=(4,10))
self.det_host = tk.Frame(self, bd=0, highlightthickness=0)
self.det_host.grid(row=3, column=0, sticky="nsew", padx=10, pady=(4,10))
self.det_host.grid_rowconfigure(0, weight=1)
self.det_host.grid_columnconfigure(0, weight=1)
self._build_detail_sheet()
self._draw_details_hint()
def _build_detail_sheet(self):
"""Create the high-volume detail table using tksheet."""
if Sheet is None:
raise RuntimeError("tksheet non disponibile: installa la dipendenza per usare la tabella dettagli.")
self.detail_sheet = Sheet(
self.det_host,
data=[],
show_row_index=False,
show_top_left=False,
width=1000,
height=320,
sort_key=natural_sort_key,
)
self.detail_sheet.change_theme("light green")
self.detail_sheet.enable_bindings("all")
self.detail_sheet.headers(self._detail_headers(), redraw=False)
self.detail_sheet.bind("<ButtonRelease-1>", self._on_detail_sheet_left_click, add="+")
self.detail_sheet.grid(row=0, column=0, sticky="nsew")
def _draw_details_hint(self):
"""Render the placeholder row shown when no document is selected."""
self.det_table.clear_rows()
self.det_table.add_row(
values=["", "", "", "Seleziona una Picking List per vedere le UDC…", "", ""],
row_index=0,
anchors=["w"]*6
self._load_detail_sheet_data(
[["", "", "", "Seleziona una Picking List per vedere le UDC...", "", ""]]
)
def _detail_headers(self) -> List[str]:
"""Return detail headers with the active sort indicator, if any."""
headers: List[str] = []
for col in DET_COLS:
title = col.title
if col.key == self._detail_sort_key:
title = f"{title} {'[desc]' if self._detail_sort_reverse else '[asc]'}"
headers.append(title)
return headers
def _detail_rows_to_sheet_data(self, rows: List[Dict[str, Any]]) -> List[List[str]]:
"""Convert detail dictionaries to the row format expected by tksheet."""
data: List[List[str]] = []
for d in rows:
pallet = _s(_first(d, ["Pallet", "UDC", "PalletID"]))
lotto = _s(_first(d, ["Lotto"]))
articolo = _s(_first(d, ["Articolo", "CodArticolo", "CodiceArticolo", "Art", "Codice"]))
descr = _s(_first(d, ["Descrizione", "Descr", "DescrArticolo", "DescArticolo", "DesArticolo"]))
qta = _s(_first(d, ["Qta", "Quantita", "Qty", "QTY"]))
ubi_raw = _first(d, ["Ubicazione", "Cella", "PalletCella"])
loc = "Non scaffalata" if (ubi_raw is None or str(ubi_raw).strip() == "") else str(ubi_raw).strip()
data.append([pallet, lotto, articolo, descr, qta, loc])
return data
def _load_detail_sheet_data(self, data: List[List[str]]):
"""Push one full dataset into the tksheet detail widget."""
self.detail_sheet.headers(self._detail_headers(), redraw=False)
self.detail_sheet.set_sheet_data(
data,
reset_col_positions=True,
reset_row_positions=True,
redraw=True,
)
self.detail_sheet.set_all_column_widths()
def _detail_sort_value(self, row: Dict[str, Any], key: str):
"""Return a normalized value used to sort detail rows by one logical column."""
if key == "Ubicazione":
value = _first(row, ["Ubicazione", "Cella", "PalletCella"])
value = "Non scaffalata" if value in (None, "") else value
elif key == "Qta":
value = _first(row, ["Qta", "Quantita", "Qty", "QTY"], 0)
try:
return (0, float(value))
except Exception:
return (1, _s(value).lower())
elif key == "Articolo":
value = _first(row, ["Articolo", "CodArticolo", "CodiceArticolo", "Art", "Codice"])
elif key == "Descrizione":
value = _first(row, ["Descrizione", "Descr", "DescrArticolo", "DescArticolo", "DesArticolo"])
elif key == "Pallet":
value = _first(row, ["Pallet", "UDC", "PalletID"])
else:
value = row.get(key)
return (0, _s(value).lower())
def _sort_detail_rows(self, rows: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
"""Return detail rows sorted using the current header state."""
if not self._detail_sort_key:
return rows
return sorted(
rows,
key=lambda row: self._detail_sort_value(row, self._detail_sort_key),
reverse=self._detail_sort_reverse,
)
def _finish_detail_sort_feedback(self, root: tk.Misc):
"""Dismiss busy feedback only after Tk has flushed the detail redraw."""
try:
root.update_idletasks()
except Exception:
pass
self._detail_sorting = False
self.spinner.stop()
self.busy.hide()
try:
self.detail_sheet.configure(cursor="")
root.configure(cursor="")
except Exception:
pass
def _on_detail_header_click(self, col: ColSpec):
"""Toggle detail sorting when the user clicks a detail header."""
if not self.detail_doc or self._detail_sorting:
return
if self._detail_sort_key == col.key:
self._detail_sort_reverse = not self._detail_sort_reverse
else:
self._detail_sort_key = col.key
self._detail_sort_reverse = False
self._detail_sorting = True
self.spinner.start(" Ordino dettagli...")
self.busy.show(f"Ordinamento per {col.title}...")
root = self.winfo_toplevel()
try:
root.configure(cursor="watch")
self.detail_sheet.configure(cursor="watch")
root.update_idletasks()
except Exception:
pass
def _apply_sort():
try:
rows = list(self._detail_cache.get(self.detail_doc, []))
rows = self._sort_detail_rows(rows)
self._detail_cache[self.detail_doc] = rows
self._refresh_details()
finally:
# Wait one more UI turn so the redraw becomes visible before removing feedback.
self.after_idle(lambda r=root: self.after(15, lambda: self._finish_detail_sort_feedback(r)))
self.after(25, _apply_sort)
def _on_detail_sheet_left_click(self, event):
"""Sort detail rows when the user clicks a tksheet header cell."""
try:
region = self.detail_sheet.identify_region(event)
column = self.detail_sheet.identify_column(event, exclude_header=False, allow_end=False)
except Exception:
return
if region != "header" or column is None or column < 0 or column >= len(DET_COLS):
return
self._on_detail_header_click(DET_COLS[column])
def _apply_row_colors(self, rows: List[Dict[str, Any]]):
"""Colorazione differita (after_idle) per evitare micro-jank durante l'inserimento righe."""
try:
@@ -517,6 +913,7 @@ class GestionePickingListFrame(ctk.CTkFrame):
break
# ----- eventi -----
@_log_call()
def on_row_checked(self, model: PLRow, is_checked: bool):
"""Handle row selection changes and refresh the detail section."""
# selezione esclusiva
@@ -526,18 +923,23 @@ class GestionePickingListFrame(ctk.CTkFrame):
m.set_checked(False)
self.detail_doc = model.pl.get("Documento")
_MODULE_LOGGER.info(f"Documento selezionato per il dettaglio: {self.detail_doc}")
self.spinner.start(" Carico dettagli…") # spinner ON
async def _job():
_log_sql("SQL_PL_DETAILS", SQL_PL_DETAILS, {"Documento": self.detail_doc})
return await self.db_client.query_json(SQL_PL_DETAILS, {"Documento": self.detail_doc})
def _ok(res):
# NON fermare lo spinner subito: lo farà _refresh_details_incremental
self._detail_cache[self.detail_doc] = _rows_to_dicts(res)
rows = _expand_detail_rows_for_test(_rows_to_dicts(res))
_log_dataset("SQL_PL_DETAILS", rows)
self._detail_cache[self.detail_doc] = rows
# Avvia il rendering incrementale che mantiene l'overlay attivo
self._refresh_details_incremental()
def _err(ex):
_MODULE_LOGGER.exception(f"Errore durante il caricamento dettagli del documento {self.detail_doc}: {ex}")
self.spinner.stop()
self.busy.hide() # Chiudi l'overlay in caso di errore
messagebox.showerror("DB", f"Errore nel caricamento dettagli:\n{ex}")
@@ -555,17 +957,23 @@ class GestionePickingListFrame(ctk.CTkFrame):
else:
if not any(m.is_checked() for m in self.rows_models):
self.detail_doc = None
_MODULE_LOGGER.info("Nessun documento selezionato: ripristino placeholder del dettaglio.")
self._refresh_details()
# ----- load PL -----
def reload_from_db(self, first: bool = False):
@_log_call()
def reload_from_db(self, first: bool = False, reselect_documento: str | None = None):
"""Load or reload the picking list summary table from the database."""
self.spinner.start(" Carico…") # spinner ON
async def _job():
_log_sql("SQL_PL", SQL_PL, {})
return await self.db_client.query_json(SQL_PL, {})
def _on_success(res):
rows = _rows_to_dicts(res)
_log_dataset("SQL_PL", rows)
self._refresh_mid_rows(rows)
if reselect_documento:
self.after_idle(lambda doc=reselect_documento: self._reselect_documento_after_reload(doc))
self.spinner.stop() # spinner OFF
# se era il primo load, ripristina il cursore standard
if self._first_loading:
@@ -575,6 +983,7 @@ class GestionePickingListFrame(ctk.CTkFrame):
pass
self._first_loading = False
def _on_error(ex):
_MODULE_LOGGER.exception(f"Errore durante il caricamento della picking list: {ex}")
self.spinner.stop()
if self._first_loading:
try:
@@ -592,102 +1001,64 @@ class GestionePickingListFrame(ctk.CTkFrame):
message="Caricamento Picking List…" if first else "Aggiornamento…"
)
@_log_call("DEBUG")
def _refresh_details(self):
"""Render the detail table for the currently selected document."""
self.det_table.clear_rows()
if not self.detail_doc:
self._draw_details_hint()
return
rows = self._detail_cache.get(self.detail_doc, [])
rows = list(self._detail_cache.get(self.detail_doc, []))
rows = self._sort_detail_rows(rows)
_MODULE_LOGGER.debug(f"Ridisegno tabella dettaglio per documento={self.detail_doc} righe={len(rows)}")
if not rows:
self.det_table.add_row(values=["", "", "", "Nessuna UDC trovata.", "", ""],
row_index=0, anchors=["w"]*6)
self._load_detail_sheet_data([["", "", "", "Nessuna UDC trovata.", "", ""]])
return
for r, d in enumerate(rows):
pallet = _s(_first(d, ["Pallet", "UDC", "PalletID"]))
lotto = _s(_first(d, ["Lotto"]))
articolo = _s(_first(d, ["Articolo", "CodArticolo", "CodiceArticolo", "Art", "Codice"]))
descr = _s(_first(d, ["Descrizione", "Descr", "DescrArticolo", "DescArticolo", "DesArticolo"]))
qta = _s(_first(d, ["Qta", "Quantita", "Qty", "QTY"]))
ubi_raw = _first(d, ["Ubicazione", "Cella", "PalletCella"])
loc = "Non scaffalata" if (ubi_raw is None or str(ubi_raw).strip()=="") else str(ubi_raw).strip()
self.det_table.add_row(
values=[pallet, lotto, articolo, descr, qta, loc],
row_index=r,
anchors=[c.anchor for c in DET_COLS]
)
self._load_detail_sheet_data(self._detail_rows_to_sheet_data(rows))
@_log_call("DEBUG")
def _refresh_details_incremental(self, batch_size: int = 25):
"""
Render detail table incrementally in batches to keep UI responsive.
Mantiene l'overlay visibile fino al completamento del rendering.
Render detail table using tksheet while keeping busy feedback consistent.
"""
self.det_table.clear_rows()
if not self.detail_doc:
self._draw_details_hint()
self.spinner.stop()
self.busy.hide()
return
rows = self._detail_cache.get(self.detail_doc, [])
rows = list(self._detail_cache.get(self.detail_doc, []))
rows = self._sort_detail_rows(rows)
self._detail_cache[self.detail_doc] = rows
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"Avvio rendering dettagli documento={self.detail_doc} righe={len(rows)}")
if not rows:
self.det_table.add_row(values=["", "", "", "Nessuna UDC trovata.", "", ""],
row_index=0, anchors=["w"]*6)
self._load_detail_sheet_data([["", "", "", "Nessuna UDC trovata.", "", ""]])
self.spinner.stop()
self.busy.hide()
return
# Inizia il rendering incrementale
total_rows = len(rows)
self.busy.show(f"Rendering {len(rows)} UDC...")
self._render_batch(rows, batch_size, 0, total_rows)
def _render_batch(self, rows: List[Dict[str, Any]], batch_size: int, start_idx: int, total_rows: int):
"""
Render a batch of rows and schedule the next batch.
Mantiene lo spinner attivo fino all'ultimo batch.
"""
end_idx = min(start_idx + batch_size, total_rows)
# Aggiorna lo spinner con il progresso
progress_pct = int((end_idx / total_rows) * 100)
self.spinner.lbl.configure(text=f"◐ Rendering {progress_pct}%")
# Aggiorna anche il messaggio dell'overlay
self.busy.show(f"Rendering {progress_pct}% ({end_idx}/{total_rows} UDC)...")
# Renderizza il batch corrente
for r in range(start_idx, end_idx):
d = rows[r]
pallet = _s(_first(d, ["Pallet", "UDC", "PalletID"]))
lotto = _s(_first(d, ["Lotto"]))
articolo = _s(_first(d, ["Articolo", "CodArticolo", "CodiceArticolo", "Art", "Codice"]))
descr = _s(_first(d, ["Descrizione", "Descr", "DescrArticolo", "DescArticolo", "DesArticolo"]))
qta = _s(_first(d, ["Qta", "Quantita", "Qty", "QTY"]))
ubi_raw = _first(d, ["Ubicazione", "Cella", "PalletCella"])
loc = "Non scaffalata" if (ubi_raw is None or str(ubi_raw).strip()=="") else str(ubi_raw).strip()
self.det_table.add_row(
values=[pallet, lotto, articolo, descr, qta, loc],
row_index=r,
anchors=[c.anchor for c in DET_COLS]
)
# Se ci sono ancora righe da renderizzare, schedula il prossimo batch
if end_idx < total_rows:
# Lascia respirare Tk tra i batch (10ms)
self.after(10, lambda: self._render_batch(rows, batch_size, end_idx, total_rows))
else:
# Ultimo batch completato: ferma lo spinner e chiudi l'overlay
self._load_detail_sheet_data(self._detail_rows_to_sheet_data(rows))
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"Rendering dettagli completato documento={self.detail_doc} righe={len(rows)}")
self.spinner.stop()
self.busy.hide()
@_log_call("DEBUG")
def _render_batch(self, rows: List[Dict[str, Any]], batch_size: int, start_idx: int, total_rows: int):
"""
Legacy helper kept for compatibility after the move to tksheet.
"""
del batch_size, start_idx, total_rows
self._load_detail_sheet_data(self._detail_rows_to_sheet_data(rows))
# ----- azioni -----
@_log_call()
def on_prenota(self):
"""Reserve the selected picking list."""
if not self._can("pickinglist.prenota"):
messagebox.showwarning("Permesso negato", "L'operatore corrente non puo' prenotare picking list.", parent=self)
return
model = self._get_selected_model()
if not model:
messagebox.showinfo("Prenota", "Seleziona una Picking List (checkbox) prima di prenotare.")
@@ -700,22 +1071,52 @@ class GestionePickingListFrame(ctk.CTkFrame):
messagebox.showinfo("Prenota", f"La Picking List {documento} è già prenotata.")
return
id_operatore = 1 # TODO: recupera dal contesto reale
id_operatore = self._operator_id()
if id_operatore <= 0:
messagebox.showerror("Prenota", "Sessione operatore non valida.", parent=self)
return
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"Richiesta prenotazione documento={documento} id_operatore={id_operatore}")
self.spinner.start(" Prenoto…")
async def _job():
return await sp_xExePackingListPallet_async(self.db_client, id_operatore, documento)
return await sp_xExePackingListPallet_async(self.db_client, id_operatore, documento, "P")
def _ok(res: SPResult):
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"Esito prenotazione documento={documento} rc={getattr(res, 'rc', None)} message={getattr(res, 'message', None)}")
self.spinner.stop()
if res and res.rc == 0:
self._recolor_row_by_documento(documento, desired)
log_user_action(
self.session,
module=MODULE_LOG_NAME,
action="pickinglist.prenota",
outcome="ok",
target=documento,
)
self._detail_cache.pop(documento, None)
self.reload_from_db(reselect_documento=documento)
else:
msg = (res.message if res else "Errore sconosciuto")
log_user_action(
self.session,
module=MODULE_LOG_NAME,
action="pickinglist.prenota",
outcome="denied",
target=documento,
details={"message": msg},
)
messagebox.showerror("Prenota", f"Operazione non riuscita:\n{msg}")
def _err(ex):
_MODULE_LOGGER.exception(f"Errore prenotazione documento={documento}: {ex}")
self.spinner.stop()
log_user_action(
self.session,
module=MODULE_LOG_NAME,
action="pickinglist.prenota",
outcome="error",
target=documento,
details={"error": str(ex)},
)
messagebox.showerror("Prenota", f"Errore:\n{ex}")
self.runner.run(
@@ -726,8 +1127,12 @@ class GestionePickingListFrame(ctk.CTkFrame):
message=f"Prenoto la Picking List {documento}"
)
@_log_call()
def on_sprenota(self):
"""Unreserve the selected picking list."""
if not self._can("pickinglist.sprenota"):
messagebox.showwarning("Permesso negato", "L'operatore corrente non puo' s-prenotare picking list.", parent=self)
return
model = self._get_selected_model()
if not model:
messagebox.showinfo("S-prenota", "Seleziona una Picking List (checkbox) prima di s-prenotare.")
@@ -740,22 +1145,52 @@ class GestionePickingListFrame(ctk.CTkFrame):
messagebox.showinfo("S-prenota", f"La Picking List {documento} è già NON prenotata.")
return
id_operatore = 1 # TODO: recupera dal contesto reale
id_operatore = self._operator_id()
if id_operatore <= 0:
messagebox.showerror("S-prenota", "Sessione operatore non valida.", parent=self)
return
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"Richiesta s-prenotazione documento={documento} id_operatore={id_operatore}")
self.spinner.start(" S-prenoto…")
async def _job():
return await sp_xExePackingListPallet_async(self.db_client, id_operatore, documento)
return await sp_xExePackingListPallet_async(self.db_client, id_operatore, documento, "S")
def _ok(res: SPResult):
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"Esito s-prenotazione documento={documento} rc={getattr(res, 'rc', None)} message={getattr(res, 'message', None)}")
self.spinner.stop()
if res and res.rc == 0:
self._recolor_row_by_documento(documento, desired)
log_user_action(
self.session,
module=MODULE_LOG_NAME,
action="pickinglist.sprenota",
outcome="ok",
target=documento,
)
self._detail_cache.pop(documento, None)
self.reload_from_db(reselect_documento=documento)
else:
msg = (res.message if res else "Errore sconosciuto")
log_user_action(
self.session,
module=MODULE_LOG_NAME,
action="pickinglist.sprenota",
outcome="denied",
target=documento,
details={"message": msg},
)
messagebox.showerror("S-prenota", f"Operazione non riuscita:\n{msg}")
def _err(ex):
_MODULE_LOGGER.exception(f"Errore s-prenotazione documento={documento}: {ex}")
self.spinner.stop()
log_user_action(
self.session,
module=MODULE_LOG_NAME,
action="pickinglist.sprenota",
outcome="error",
target=documento,
details={"error": str(ex)},
)
messagebox.showerror("S-prenota", f"Errore:\n{ex}")
self.runner.run(
@@ -772,10 +1207,72 @@ class GestionePickingListFrame(ctk.CTkFrame):
# factory per main
def create_frame(parent, *, db_client=None, conn_str=None) -> 'GestionePickingListFrame':
@_log_call()
def create_frame(parent, *, db_client=None, conn_str=None, session: UserSession | None = None) -> 'GestionePickingListFrame':
"""Factory used by the launcher to build the picking list frame."""
ctk.set_appearance_mode("light")
ctk.set_default_color_theme("green")
return GestionePickingListFrame(parent, db_client=db_client)
return GestionePickingListFrame(parent, db_client=db_client, session=session)
@_log_call()
def open_pickinglist_window(parent: tk.Misc, db_client, session: UserSession | None = None) -> tk.Misc:
"""Open the picking list window while minimizing the first paint flicker."""
key = "_gestione_pickinglist_window_singleton"
ex = getattr(parent, key, None)
if ex and ex.winfo_exists():
frame = getattr(ex, "_pickinglist_frame", None)
if frame is not None:
try:
frame.session = session
except Exception:
pass
try:
ex.deiconify()
except Exception:
pass
try:
ex.lift()
ex.focus_force()
return ex
except Exception:
pass
win = ctk.CTkToplevel(parent)
locale_catalog = load_locale_catalog()
win.title(loc_text("picking.title", catalog=locale_catalog, default="Gestione Picking List"))
theme = theme_section("pickinglist_window", {})
win.geometry(str(theme_value(theme, "window_geometry", "1200x700")))
minsize = theme_value(theme, "window_minsize", [1000, 560])
win.minsize(int(minsize[0]), int(minsize[1]))
setattr(parent, key, win)
# Keep the toplevel hidden until the child frame has built its initial layout.
try:
win.withdraw()
win.attributes("-alpha", 0.0)
except Exception:
pass
frame = create_frame(win, db_client=db_client, session=session)
try:
frame.pack(fill="both", expand=True)
except Exception:
pass
setattr(win, "_pickinglist_frame", frame)
# Reveal the fully-laid out window only after pending geometry work completes.
try:
win.update_idletasks()
place_window_fullsize_below_parent_later(parent, win)
win.after(340, lambda: frame._first_show())
win.after(360, lambda: win.lift() if getattr(win, "winfo_exists", lambda: False)() else None)
win.after(380, lambda: win.focus_force() if getattr(win, "winfo_exists", lambda: False)() else None)
except Exception:
pass
win.bind("<Escape>", lambda e: win.destroy())
win.protocol("WM_DELETE_WINDOW", win.destroy)
return win
# =================== /gestione_pickinglist.py ===================

772
gestione_scarico.py Normal file
View File

@@ -0,0 +1,772 @@
"""Modal dialog used to unload one or more UDCs from a multi-occupancy cell."""
from __future__ import annotations
import json
import logging
import sys
import tkinter as tk
from dataclasses import dataclass
from datetime import datetime
from functools import wraps
from pathlib import Path
from typing import Any, Callable
import customtkinter as ctk
from tkinter import messagebox, ttk
from gestione_aree import AsyncRunner
from audit_log import log_user_action
from busy_overlay import InlineBusyOverlay
from locale_text import load_locale_catalog, text as loc_text
from ui_theme import theme_color, theme_font, theme_section, theme_value
from user_session import UserSession
try:
from loguru import logger
except Exception: # pragma: no cover - fallback used only when Loguru is not available
class _FallbackLogger:
"""Minimal adapter used only when Loguru is not installed yet."""
def __init__(self):
self._logger = logging.getLogger(MODULE_LOG_NAME if "MODULE_LOG_NAME" in globals() else __name__)
self._logger.setLevel(logging.DEBUG)
self._logger.propagate = False
def bind(self, **_kwargs):
return self
def add(self, sink, level="INFO", format=None, encoding="utf-8", **_kwargs):
handler: logging.Handler
if hasattr(sink, "write"):
handler = logging.StreamHandler(sink)
else:
handler = logging.FileHandler(str(sink), encoding=encoding)
handler.setLevel(getattr(logging, str(level).upper(), logging.INFO))
handler.setFormatter(
logging.Formatter("%(asctime)s | %(levelname)-8s | %(name)s | %(message)s")
)
self._logger.addHandler(handler)
return 0
def log(self, level, message):
getattr(self._logger, str(level).lower(), self._logger.info)(message)
def debug(self, message):
self._logger.debug(message)
def info(self, message):
self._logger.info(message)
def exception(self, message):
self._logger.exception(message)
logger = _FallbackLogger()
SCARICO_LOG_MODE = "INFO" # "OFF" | "INFO" | "DEBUG"
MODULE_LOG_NAME = Path(__file__).stem
MODULE_LOG_PATH = Path(__file__).with_suffix(".log")
_MODULE_LOG_ENABLED = SCARICO_LOG_MODE.upper() != "OFF"
_MODULE_LOG_LEVEL = "DEBUG" if SCARICO_LOG_MODE.upper() == "DEBUG" else "INFO"
_MODULE_LOGGER = logger.bind(warehouse_module=MODULE_LOG_NAME)
_MODULE_LOGGING_CONFIGURED = False
DEFAULT_SCARICO_USER = "warehouse_ui"
def _session_login(session: UserSession | None, fallback: str | None = None) -> str:
"""Return the current application login, falling back to a technical user."""
if session and str(session.login or "").strip():
return str(session.login).strip()
return str((fallback or DEFAULT_SCARICO_USER) or DEFAULT_SCARICO_USER).strip()
def _configure_module_logger():
"""Configure console and file logging for this module."""
global _MODULE_LOGGING_CONFIGURED
if _MODULE_LOGGING_CONFIGURED:
return
if not _MODULE_LOG_ENABLED:
_MODULE_LOGGING_CONFIGURED = True
return
record_filter = lambda record: record["extra"].get("warehouse_module") == MODULE_LOG_NAME
logger.add(
sys.stderr,
level=_MODULE_LOG_LEVEL,
colorize=True,
filter=record_filter,
format=(
"<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | "
"<level>{level: <8}</level> | "
"<cyan>" + MODULE_LOG_NAME + "</cyan> | "
"<level>{message}</level>"
),
)
logger.add(
MODULE_LOG_PATH,
level=_MODULE_LOG_LEVEL,
colorize=False,
encoding="utf-8",
filter=record_filter,
format="{time:YYYY-MM-DD HH:mm:ss.SSS} | {level: <8} | " + MODULE_LOG_NAME + " | {message}",
)
_MODULE_LOGGING_CONFIGURED = True
def _format_payload(payload: Any) -> str:
"""Serialize payloads for human-readable logging."""
try:
return json.dumps(payload, ensure_ascii=False, indent=2, default=str)
except Exception:
return repr(payload)
def _log_call(level: str | None = None):
"""Trace entry, exit and failure of selected high-level functions."""
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
effective_level = level or _MODULE_LOG_LEVEL
_MODULE_LOGGER.log(
effective_level,
f"CALL {func.__qualname__} args={_format_payload(args[1:] if args else ())} kwargs={_format_payload(kwargs)}",
)
try:
result = func(*args, **kwargs)
except Exception:
_MODULE_LOGGER.exception(f"FAIL {func.__qualname__}")
raise
_MODULE_LOGGER.log(effective_level, f"RETURN {func.__qualname__}")
return result
return wrapper
return decorator
def _log_sql(query_name: str, sql: str, params: dict[str, Any]):
"""Log one SQL statement and its parameters."""
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"SQL {query_name} params={_format_payload(params)}")
_MODULE_LOGGER.debug(f"SQL {query_name} text:\n{sql.strip()}")
def _log_dataset(query_name: str, rows: list[Any]):
"""Log query results at summary or full-debug level depending on the flag."""
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"SQL {query_name} returned {len(rows)} rows")
if SCARICO_LOG_MODE.upper() == "DEBUG":
_MODULE_LOGGER.debug(f"SQL {query_name} dataset:\n{_format_payload(rows)}")
_configure_module_logger()
if _MODULE_LOG_ENABLED:
_MODULE_LOGGER.info(
f"Logging inizializzato su {MODULE_LOG_PATH.name} livello={_MODULE_LOG_LEVEL} mode={SCARICO_LOG_MODE.upper()}"
)
SQL_UDC_IN_CELLA = """
WITH cell_pallets AS (
SELECT DISTINCT
g.BarcodePallet
FROM dbo.XMag_GiacenzaPallet g
WHERE g.IDCella = :idcella
),
last_in_cell AS (
SELECT
mp.Attributo AS BarcodePallet,
MAX(mp.ID) AS LastID
FROM dbo.MagazziniPallet mp
JOIN cell_pallets cp
ON cp.BarcodePallet COLLATE Latin1_General_CI_AS =
mp.Attributo COLLATE Latin1_General_CI_AS
WHERE mp.IDCella = :idcella
AND mp.Tipo = 'V'
GROUP BY mp.Attributo
),
last_move AS (
SELECT
mp.Attributo AS BarcodePallet,
mp.ID,
mp.DataMagazzino
FROM dbo.MagazziniPallet mp
JOIN last_in_cell lic ON lic.LastID = mp.ID
),
latest_any AS (
SELECT
ranked.BarcodePallet,
ranked.IDCella
FROM (
SELECT
mp.Attributo AS BarcodePallet,
mp.IDCella,
ROW_NUMBER() OVER (
PARTITION BY mp.Attributo
ORDER BY mp.ID DESC
) AS rn
FROM dbo.MagazziniPallet mp
JOIN cell_pallets cp
ON cp.BarcodePallet COLLATE Latin1_General_CI_AS =
mp.Attributo COLLATE Latin1_General_CI_AS
WHERE mp.Tipo = 'V'
AND mp.PesoUnitario > 0
) ranked
WHERE ranked.rn = 1
),
shipped AS (
SELECT DISTINCT
shipped.BarcodePallet
FROM dbo.XMag_GiacenzaPalletPlistChiuse shipped
JOIN cell_pallets cp
ON cp.BarcodePallet COLLATE Latin1_General_CI_AS =
shipped.BarcodePallet COLLATE Latin1_General_CI_AS
)
SELECT
cp.BarcodePallet AS UDC,
lm.ID AS SourceID,
lm.DataMagazzino AS LastEventAt,
CASE
WHEN shipped.BarcodePallet IS NOT NULL THEN CAST(1 AS int)
ELSE CAST(0 AS int)
END AS IsShippedGhost,
CASE
WHEN la.IDCella IS NOT NULL
AND la.IDCella <> :idcella
THEN CAST(1 AS int)
ELSE CAST(0 AS int)
END AS IsMovedGhost
FROM cell_pallets cp
LEFT JOIN last_move lm
ON lm.BarcodePallet COLLATE Latin1_General_CI_AS =
cp.BarcodePallet COLLATE Latin1_General_CI_AS
LEFT JOIN latest_any la
ON la.BarcodePallet COLLATE Latin1_General_CI_AS =
cp.BarcodePallet COLLATE Latin1_General_CI_AS
LEFT JOIN shipped
ON shipped.BarcodePallet COLLATE Latin1_General_CI_AS =
cp.BarcodePallet COLLATE Latin1_General_CI_AS
ORDER BY
lm.ID DESC,
cp.BarcodePallet DESC;
"""
SQL_SCARICA_UDC = """
SET NOCOUNT ON;
DECLARE @Now datetime = GETDATE();
DECLARE @SourceID int = 0;
DECLARE @NumeroPallet int = 0;
DECLARE @PesoUnitario float = 1;
DECLARE @Tara float = 0;
DECLARE @SourceIDCella int = 0;
SELECT TOP (1)
@SourceID = src.ID,
@NumeroPallet = ISNULL(src.NumeroPallet, 0),
@PesoUnitario = ISNULL(NULLIF(src.PesoUnitario, 0), 1),
@Tara = ISNULL(src.Tara, 0),
@SourceIDCella = ISNULL(src.IDCella, 0)
FROM dbo.MagazziniPallet src
WHERE src.Attributo = :barcode_pallet
AND src.Tipo = 'V'
AND src.PesoUnitario > 0
ORDER BY src.ID DESC;
IF @SourceID > 0
BEGIN
UPDATE dbo.MagazziniPallet
SET ModUtente = :utente,
ModDataOra = @Now
WHERE ID = @SourceID;
INSERT INTO dbo.MagazziniPallet (
Tipo,
IDRiferimento,
NumeroPallet,
Attributo,
IDMagazzino,
IDArea,
IDCella,
DataMagazzino,
PesoUnitario,
Tara,
InsUtente,
InsDataOra
)
SELECT
'P',
@SourceID,
ISNULL(src.NumeroPallet, 0),
src.Attributo,
src.IDMagazzino,
src.IDArea,
src.IDCella,
@Now,
ISNULL(NULLIF(src.PesoUnitario, 0), 1),
ISNULL(src.Tara, 0),
:utente,
@Now
FROM dbo.MagazziniPallet src
WHERE src.ID = @SourceID;
UPDATE dbo.Celle
SET IDStato = 0,
ModUtente = :utente,
ModDataOra = @Now
WHERE ID = @SourceIDCella;
END;
INSERT INTO dbo.MagazziniPallet (
Tipo,
IDRiferimento,
NumeroPallet,
Attributo,
IDMagazzino,
IDArea,
IDCella,
DataMagazzino,
PesoUnitario,
Tara,
InsUtente,
InsDataOra
)
SELECT
'V',
@SourceID,
@NumeroPallet,
:barcode_pallet,
target.IDMagazzino,
target.IDArea,
target.ID,
@Now,
@PesoUnitario,
@Tara,
:utente,
@Now
FROM (
SELECT c.ID, c.IDArea, a.IDMagazzino
FROM dbo.Celle c
JOIN dbo.Aree a ON a.ID = c.IDArea
WHERE c.ID = :target_idcella
) AS target;
EXEC dbo.py_sp_ControllaPrenotazionePackingListPalletNew;
SELECT
CAST(1 AS int) AS Ok,
@SourceID AS SourceID,
:target_idcella AS TargetIDCella,
:target_barcode_cella AS TargetBarcodeCella;
"""
async def move_pallet_async(
db_client,
*,
barcode_pallet: str,
target_idcella: int,
target_barcode_cella: str,
utente: str | None = None,
) -> dict[str, Any]:
"""Move one pallet to a target cell using the same movement semantics as the legacy app.
The original C# application delegates load, transfer and unload to
``sp_xMagGestioneMagazziniPallet``. The Python app mirrors the same
behavior with an explicit SQL batch that:
1. finds the latest positive row for the pallet,
2. registers a compensating ``P`` move on the source cell,
3. frees the previous cell reservation,
4. inserts a new ``V`` move on the target cell,
5. re-runs the packing-list reservation check.
"""
params = {
"barcode_pallet": str(barcode_pallet or "").strip(),
"target_idcella": int(target_idcella),
"target_barcode_cella": str(target_barcode_cella or "").strip(),
"utente": str((utente or DEFAULT_SCARICO_USER) or "warehouse_ui").strip(),
}
_log_sql("move_pallet", SQL_SCARICA_UDC, params)
res = await db_client.query_json(SQL_SCARICA_UDC, params, commit=True)
rows = res.get("rows", []) if isinstance(res, dict) else []
_log_dataset("move_pallet", rows)
first = rows[0] if rows else [1, 0, params["target_idcella"], params["target_barcode_cella"]]
return {
"ok": int(first[0] or 0),
"source_id": int(first[1] or 0),
"target_idcella": int(first[2] or 0),
"target_barcode_cella": str(first[3] or ""),
"barcode_pallet": params["barcode_pallet"],
}
@dataclass
class ScaricoRow:
"""View-model describing one unloadable UDC currently present in a cell."""
udc: str
source_id: int | None
last_event_at: str
diagnostic_note: str
selected: tk.BooleanVar
def _build_diagnostic_note(is_shipped: int | bool, is_moved: int | bool) -> str:
"""Translate low-level anomaly flags into one operator-facing note."""
notes: list[str] = []
if bool(is_shipped):
notes.append("Mancato scarico: spedita")
if bool(is_moved):
notes.append("Mancato scarico: spostata")
return " | ".join(notes)
class ScaricoDialog(ctk.CTkToplevel):
"""Modal dialog that allows unloading selected UDCs from one cell."""
CHECKBOX_COL_W = 56
UDC_COL_W = 130
DATE_COL_W = 180
DIAG_COL_W = 320
@_log_call()
def __init__(
self,
parent: tk.Misc,
*,
db_client,
idcella: int,
ubicazione: str,
on_completed: Callable[[], None] | None = None,
session: UserSession | None = None,
):
super().__init__(parent)
self.parent = parent
self.db_client = db_client
self.idcella = idcella
self.ubicazione = ubicazione
self.on_completed = on_completed
self.session = session
self.rows: list[ScaricoRow] = []
self._theme = theme_section("scarico_dialog", {})
self._locale_catalog = load_locale_catalog()
self._busy = InlineBusyOverlay(self, self._theme)
self._async = AsyncRunner(self)
self.rows_tree: ttk.Treeview | None = None
self.title(loc_text("scarico.title", catalog=self._locale_catalog, default="Scarica {ubicazione}").format(ubicazione=ubicazione))
self.resizable(False, False)
self.transient(parent)
self.protocol("WM_DELETE_WINDOW", self._close)
self.grid_columnconfigure(0, weight=1)
self.grid_rowconfigure(1, weight=1)
self._build_ui()
self._load_rows()
self.update_idletasks()
self.grab_set()
try:
self.wait_visibility()
except Exception:
pass
self.lift()
self.focus_force()
def _build_ui(self):
"""Build the compact modal layout."""
top = ctk.CTkFrame(self)
top.grid(row=0, column=0, sticky="ew", padx=10, pady=(10, 6))
top.grid_columnconfigure(0, weight=1)
ctk.CTkLabel(
top,
text=loc_text("scarico.label.location", catalog=self._locale_catalog, default="Ubicazione: {ubicazione}").format(ubicazione=self.ubicazione),
font=theme_font(self._theme, "header_font", ("Segoe UI", 13, "bold")),
).grid(
row=0, column=0, sticky="w"
)
ctk.CTkLabel(
top,
text=loc_text("scarico.label.select", catalog=self._locale_catalog, default="Seleziona le UDC da scaricare"),
anchor="w",
font=theme_font(self._theme, "body_font", ("Segoe UI", 10)),
).grid(
row=1, column=0, sticky="w", pady=(4, 0)
)
table = ctk.CTkFrame(self)
table.grid(row=1, column=0, sticky="nsew", padx=10, pady=(0, 8))
table.grid_rowconfigure(0, weight=1)
table.grid_columnconfigure(0, weight=1)
tree_host = tk.Frame(table, bd=0, highlightthickness=0, background="#DBDBDB")
tree_host.grid(row=0, column=0, sticky="nsew", padx=8, pady=(8, 8))
tree_host.grid_rowconfigure(0, weight=1)
tree_host.grid_columnconfigure(0, weight=1)
style = ttk.Style(self)
style.configure("Scarico.Treeview", rowheight=28, font=theme_font(self._theme, "tree_body_font", ("Segoe UI", 10)))
style.configure("Scarico.Treeview.Heading", font=theme_font(self._theme, "tree_heading_font", ("Segoe UI", 10, "bold")))
self.rows_tree = ttk.Treeview(
tree_host,
columns=("sel", "udc", "last", "diag"),
show="headings",
style="Scarico.Treeview",
selectmode="none",
)
self.rows_tree.heading("sel", text="Sel")
self.rows_tree.heading("udc", text=loc_text("scarico.col.udc", catalog=self._locale_catalog, default="UDC"))
self.rows_tree.heading("last", text=loc_text("scarico.col.last_insert", catalog=self._locale_catalog, default="Ultimo inserimento"))
self.rows_tree.heading("diag", text=loc_text("scarico.col.diagnostic", catalog=self._locale_catalog, default="Diagnostica"))
self.rows_tree.column("sel", width=self.CHECKBOX_COL_W, stretch=False, anchor="center")
self.rows_tree.column("udc", width=self.UDC_COL_W, stretch=False, anchor="w")
self.rows_tree.column("last", width=self.DATE_COL_W, stretch=False, anchor="w")
self.rows_tree.column("diag", width=self.DIAG_COL_W, stretch=True, anchor="w")
self.rows_tree.grid(row=0, column=0, sticky="nsew")
self.rows_tree.bind("<Button-1>", self._on_tree_click, add="+")
tree_scroll = ttk.Scrollbar(tree_host, orient="vertical", command=self.rows_tree.yview)
tree_scroll.grid(row=0, column=1, sticky="ns")
self.rows_tree.configure(yscrollcommand=tree_scroll.set)
actions = ctk.CTkFrame(self)
actions.grid(row=2, column=0, sticky="ew", padx=10, pady=(0, 10))
actions.grid_columnconfigure(0, weight=1)
ctk.CTkButton(
actions,
text=loc_text("scarico.button.submit", catalog=self._locale_catalog, default="Scarica"),
command=self._on_scarica,
font=theme_font(self._theme, "button_font", ("Segoe UI", 10, "bold")),
).grid(
row=0, column=1, padx=(8, 0), pady=8
)
ctk.CTkButton(
actions,
text=loc_text("scarico.button.close", catalog=self._locale_catalog, default="Chiudi"),
command=self._close,
font=theme_font(self._theme, "button_font", ("Segoe UI", 10, "bold")),
).grid(
row=0, column=2, padx=(8, 8), pady=8
)
def _render_rows(self):
"""Recreate the compact list of unloadable UDC rows."""
if self.rows_tree is None:
return
for item in self.rows_tree.get_children():
self.rows_tree.delete(item)
for idx, row in enumerate(self.rows):
self.rows_tree.insert(
"",
"end",
iid=str(idx),
values=(
"[x]" if row.selected.get() else "[ ]",
row.udc,
row.last_event_at,
row.diagnostic_note or "",
),
)
self.update_idletasks()
width = max(900, min(1040, self.winfo_reqwidth() + 20))
total_height = max(210, min(460, self.winfo_reqheight() + 8))
self.geometry(f"{width}x{total_height}")
def _on_tree_click(self, event):
"""Toggle the pseudo-checkbox when the operator clicks the first column."""
if self.rows_tree is None:
return
region = self.rows_tree.identify("region", event.x, event.y)
if region != "cell":
return
column = self.rows_tree.identify_column(event.x)
item_id = self.rows_tree.identify_row(event.y)
if column != "#1" or not item_id:
return
try:
row = self.rows[int(item_id)]
except Exception:
return
row.selected.set(not row.selected.get())
self.rows_tree.set(item_id, "sel", "[x]" if row.selected.get() else "[ ]")
return "break"
@_log_call()
def _load_rows(self):
"""Load the list of current UDCs ordered from newest to oldest."""
params = {"idcella": self.idcella}
_log_sql("scarico_load_rows", SQL_UDC_IN_CELLA, params)
def _ok(res):
rows = res.get("rows", []) if isinstance(res, dict) else []
_log_dataset("scarico_load_rows", rows)
self.rows = []
for udc, source_id, last_event_at, is_shipped, is_moved in rows:
if isinstance(last_event_at, datetime):
last_event = last_event_at.strftime("%d/%m/%Y %H:%M:%S")
else:
last_event = str(last_event_at or "")
self.rows.append(
ScaricoRow(
udc=str(udc or ""),
source_id=int(source_id) if source_id is not None else None,
last_event_at=last_event,
diagnostic_note=_build_diagnostic_note(is_shipped, is_moved),
selected=tk.BooleanVar(value=False),
)
)
self._render_rows()
self._busy.hide()
def _err(ex):
self._busy.hide()
_MODULE_LOGGER.exception(f"Errore caricamento righe scarico idcella={self.idcella}: {ex}")
messagebox.showerror(
loc_text("scarico.msg.title", catalog=self._locale_catalog, default="Scarica"),
loc_text("scarico.msg.load_error", catalog=self._locale_catalog, default="Caricamento UDC fallito:\n{error}").format(error=ex),
parent=self,
)
self._close()
self._async.run(
self.db_client.query_json(SQL_UDC_IN_CELLA, params),
_ok,
_err,
busy=self._busy,
message="Carico UDC...",
)
@_log_call()
def _on_scarica(self):
"""Unload the UDCs selected by the user from the current cell."""
selected = [row for row in self.rows if row.selected.get()]
if not selected:
messagebox.showinfo(
loc_text("scarico.msg.title", catalog=self._locale_catalog, default="Scarica"),
loc_text("scarico.msg.select_one", catalog=self._locale_catalog, default="Seleziona almeno una UDC da scaricare."),
parent=self,
)
return
if not messagebox.askyesno(
"Conferma scarico",
f"Scaricare {len(selected)} UDC da {self.ubicazione}?",
parent=self,
):
return
async def _job():
results: list[dict[str, Any]] = []
for row in selected:
result = await move_pallet_async(
self.db_client,
barcode_pallet=row.udc,
target_idcella=9999,
target_barcode_cella="9000000",
utente=_session_login(self.session),
)
results.append({"udc": row.udc, "affected": int(result.get("ok") or 0)})
return results
def _ok(results):
_log_dataset("scarica_udc", results)
done = [item["udc"] for item in results if int(item.get("affected") or 0) > 0]
skipped = [item["udc"] for item in results if int(item.get("affected") or 0) <= 0]
if not done:
messagebox.showwarning(
"Scarica",
"Nessuna UDC e' stata scaricata. Verifica che le unita' siano ancora presenti in cella.",
parent=self,
)
return
if skipped:
messagebox.showwarning(
"Scarica",
"Scarico parziale.\nCompletate: "
+ ", ".join(done)
+ "\nNon scaricate: "
+ ", ".join(skipped),
parent=self,
)
else:
messagebox.showinfo(
"Scarica",
"Scarico completato per:\n" + "\n".join(done),
parent=self,
)
log_user_action(
self.session,
module=MODULE_LOG_NAME,
action="layout.scarico",
outcome="ok",
target=self.ubicazione,
details={"scaricate": done, "saltate": skipped},
)
if self.on_completed:
self.on_completed()
self._close()
def _err(ex):
_MODULE_LOGGER.exception(f"Errore scarico idcella={self.idcella}: {ex}")
log_user_action(
self.session,
module=MODULE_LOG_NAME,
action="layout.scarico",
outcome="error",
target=self.ubicazione,
details={"error": str(ex)},
)
messagebox.showerror(
loc_text("scarico.msg.title", catalog=self._locale_catalog, default="Scarica"),
loc_text("scarico.msg.exec_error", catalog=self._locale_catalog, default="Scarico fallito:\n{error}").format(error=ex),
parent=self,
)
self._async.run(
_job(),
_ok,
_err,
busy=self._busy,
message="Scarico UDC...",
)
@_log_call()
def _close(self):
"""Release the modal grab and close the dialog safely."""
try:
self.grab_release()
except Exception:
pass
try:
self.destroy()
except Exception:
pass
@_log_call()
def open_scarico_dialog(
parent: tk.Misc,
*,
db_client,
idcella: int,
ubicazione: str,
on_completed: Callable[[], None] | None = None,
session: UserSession | None = None,
) -> ScaricoDialog:
"""Create and return the modal unload dialog for one multi-UDC cell."""
return ScaricoDialog(
parent,
db_client=db_client,
idcella=idcella,
ubicazione=ubicazione,
on_completed=on_completed,
session=session,
)

View File

@@ -1,698 +0,0 @@
"""Graphical aisle layout viewer for warehouse cells and pallet occupancy."""
from __future__ import annotations
import tkinter as tk
from tkinter import Menu, messagebox, filedialog
import customtkinter as ctk
from datetime import datetime
from gestione_aree_frame_async import BusyOverlay, AsyncRunner
# ---- Color palette ----
COLOR_EMPTY = "#B0B0B0" # grigio (vuota)
COLOR_FULL = "#FFA500" # arancione (una UDC)
COLOR_DOUBLE = "#D62728" # rosso (>=2 UDC)
FG_DARK = "#111111"
FG_LIGHT = "#FFFFFF"
def pct_text(p_full: float, p_double: float | None = None) -> str:
"""Format occupancy percentages for the progress-bar labels."""
p_full = max(0.0, min(1.0, p_full))
pf = round(p_full * 100, 1)
pe = round(100 - pf, 1)
if p_double and p_double > 0:
pd = round(p_double * 100, 1)
return f"Pieno {pf}% · Vuoto {pe}% (di cui doppie {pd}%)"
return f"Pieno {pf}% · Vuoto {pe}%"
class LayoutWindow(ctk.CTkToplevel):
"""
Visualizzazione layout corsie con matrice di celle.
- Ogni cella è un pulsante colorato (vuota/piena/doppia)
- Etichetta su DUE righe:
1) "Corsia.Colonna.Fila" (una sola riga, senza andare a capo)
2) barcode UDC (primo, se presente)
- Ricerca per barcode UDC con cambio automatico corsia + highlight cella
- Statistiche: globale e corsia selezionata
- Export XLSX
"""
def __init__(self, parent: tk.Widget, db_app):
"""Create the window and initialize the state used by the matrix view."""
super().__init__(parent)
self.title("Warehouse · Layout corsie")
self.geometry("1200x740")
self.minsize(980, 560)
self.resizable(True, True)
self.db = db_app
self._busy = BusyOverlay(self)
self._async = AsyncRunner(self)
# layout principale 5% / 80% / 15%
self.grid_rowconfigure(0, weight=5)
self.grid_rowconfigure(1, weight=80)
self.grid_rowconfigure(2, weight=15)
self.grid_columnconfigure(0, weight=1)
# stato runtime
self.corsia_selezionata = tk.StringVar()
self.buttons: list[list[ctk.CTkButton]] = []
self.btn_frames: list[list[ctk.CTkFrame]] = []
self.matrix_state: list[list[int]] = [] # <— rinominata: prima era self.state
self.fila_txt: list[list[str]] = []
self.col_txt: list[list[str]] = []
self.desc: list[list[str]] = []
self.udc1: list[list[str]] = [] # primo barcode UDC trovato (o "")
# ricerca → focus differito (corsia, col, fila, barcode)
self._pending_focus: tuple[str, str, str, str] | None = None
self._highlighted: tuple[int, int] | None = None
# anti-race: token per ignorare risposte vecchie
self._req_counter = 0
self._last_req = 0
self._alive = True
self._stats_after_id = None # se mai userai un refresh periodico, potremo cancellarlo qui
self._build_top()
self._build_matrix_host()
self._build_stats()
self._load_corsie()
# disabilitato: il refresh ad ogni <Configure> generava molte query/lag
# self.bind("<Configure>", lambda e: self.after_idle(self._refresh_stats))
# ---------------- TOP BAR ----------------
def _build_top(self):
"""Create the top toolbar with aisle selection and search controls."""
top = ctk.CTkFrame(self)
top.grid(row=0, column=0, sticky="nsew", padx=8, pady=6)
for i in range(4):
top.grid_columnconfigure(i, weight=0)
top.grid_columnconfigure(1, weight=1)
# lista corsie
lf = ctk.CTkFrame(top)
lf.grid(row=0, column=0, sticky="nsw")
lf.grid_columnconfigure(0, weight=1)
ctk.CTkLabel(lf, text="Corsie", font=("", 12, "bold")).grid(row=0, column=0, sticky="w", padx=6, pady=(6, 2))
self.lb = tk.Listbox(lf, height=6, exportselection=False)
self.lb.grid(row=1, column=0, sticky="nsw", padx=6, pady=(0, 6))
self.lb.bind("<<ListboxSelect>>", self._on_select)
# search by barcode
srch = ctk.CTkFrame(top)
srch.grid(row=0, column=1, sticky="nsew", padx=(10, 10))
self.search_var = tk.StringVar()
self.search_entry = ctk.CTkEntry(srch, textvariable=self.search_var, width=260)
self.search_entry.grid(row=0, column=0, sticky="w")
ctk.CTkButton(srch, text="Cerca per barcode UDC", command=self._search_udc).grid(row=0, column=1, padx=(8, 0))
srch.grid_columnconfigure(0, weight=1)
# toolbar
tb = ctk.CTkFrame(top)
tb.grid(row=0, column=3, sticky="ne")
ctk.CTkButton(tb, text="Aggiorna", command=self._refresh_current).grid(row=0, column=0, padx=4)
ctk.CTkButton(tb, text="Export XLSX", command=self._export_xlsx).grid(row=0, column=1, padx=4)
# ---------------- MATRIX HOST ----------------
def _build_matrix_host(self):
"""Create the container that will host the dynamically rebuilt matrix."""
center = ctk.CTkFrame(self)
center.grid(row=1, column=0, sticky="nsew", padx=8, pady=(0, 6))
center.grid_rowconfigure(0, weight=1)
center.grid_columnconfigure(0, weight=1)
self.host = ctk.CTkFrame(center)
self.host.grid(row=0, column=0, sticky="nsew", padx=4, pady=4)
def _apply_cell_style(self, btn: ctk.CTkButton, state: int):
"""Apply the visual state associated with a cell occupancy level."""
if state == 0:
btn.configure(
fg_color=COLOR_EMPTY, hover_color="#9A9A9A",
text_color=FG_DARK, border_width=0
)
elif state == 1:
btn.configure(
fg_color=COLOR_FULL, hover_color="#E69500",
text_color=FG_DARK, border_width=0
)
else:
btn.configure(
fg_color=COLOR_DOUBLE, hover_color="#B22222",
text_color=FG_LIGHT, border_width=0
)
def _clear_highlight(self):
"""Remove the temporary highlight from the previously focused cell."""
if self._highlighted and self.buttons:
r, c = self._highlighted
try:
if 0 <= r < len(self.buttons) and 0 <= c < len(self.buttons[r]):
btn = self.buttons[r][c]
if getattr(btn, "winfo_exists", None) and btn.winfo_exists():
try:
btn.configure(border_width=0)
except Exception:
pass
# clear blue frame border
try:
fr = self.btn_frames[r][c]
if fr and getattr(fr, "winfo_exists", None) and fr.winfo_exists():
fr.configure(border_width=0)
# in CTkFrame non esiste highlightthickness come in tk; border_* è corretto
except Exception:
pass
except Exception:
pass
self._highlighted = None
def _rebuild_matrix(self, rows: int, cols: int, state, fila_txt, col_txt, desc, udc1, corsia):
"""Recreate the visible cell matrix from the latest query result."""
# prima rimuovi highlight su vecchi bottoni
self._clear_highlight()
# ripulisci host
for w in self.host.winfo_children():
w.destroy()
self.buttons.clear()
self.btn_frames.clear()
# salva matrici
self.matrix_state, self.fila_txt, self.col_txt, self.desc, self.udc1 = state, fila_txt, col_txt, desc, udc1
# ridistribuisci pesi griglia
for r in range(rows):
self.host.grid_rowconfigure(r, weight=1)
for c in range(cols):
self.host.grid_columnconfigure(c, weight=1)
# crea Frame+Button per cella (righe invertite: fila "a" in basso)
for r in range(rows):
row_btns = []
row_frames = []
for c in range(cols):
st = state[r][c]
code = f"{corsia}.{col_txt[r][c]}.{fila_txt[r][c]}" # PRIMA RIGA (in linea)
udc = udc1[r][c] or "" # SECONDA RIGA: barcode UDC
text = f"{code}\n{udc}"
cell = ctk.CTkFrame(self.host, corner_radius=6, border_width=0)
btn = ctk.CTkButton(
cell,
text=text,
corner_radius=6)
self._apply_cell_style(btn, st)
rr = (rows - 1) - r # capovolgi
cell.grid(row=rr, column=c, padx=1, pady=1, sticky="nsew")
btn.pack(fill="both", expand=True)
btn.configure(command=lambda rr=r, cc=c: self._open_menu(None, rr, cc))
btn.bind("<Button-3>", lambda e, rr=r, cc=c: self._open_menu(e, rr, cc))
row_btns.append(btn)
row_frames.append(cell)
self.buttons.append(row_btns)
self.btn_frames.append(row_frames)
# focus differito post-ricarica
if getattr(self, '_alive', True) and self._pending_focus and self._pending_focus[0] == corsia:
_, col, fila, _barcode = self._pending_focus
self._pending_focus = None
self._highlight_cell_by_labels(col, fila)
# ---------------- CONTEXT MENU ----------------
def _open_menu(self, event, r, c):
"""Open the context menu for a single matrix cell."""
st = self.matrix_state[r][c]
corsia = self.corsia_selezionata.get()
label = f"{corsia}.{self.col_txt[r][c]}.{self.fila_txt[r][c]}"
m = Menu(self, tearoff=0)
m.add_command(label="Apri dettaglio", command=lambda: self._toast(f"Dettaglio {label}"))
if st == 0:
m.add_command(label="Segna pieno", command=lambda: self._set_cell(r, c, 1))
m.add_command(label="Segna doppia", command=lambda: self._set_cell(r, c, 2))
elif st == 1:
m.add_command(label="Segna vuoto", command=lambda: self._set_cell(r, c, 0))
m.add_command(label="Segna doppia", command=lambda: self._set_cell(r, c, 2))
else:
m.add_command(label="Segna vuoto", command=lambda: self._set_cell(r, c, 0))
m.add_command(label="Segna pieno", command=lambda: self._set_cell(r, c, 1))
m.add_separator()
m.add_command(label="Copia ubicazione", command=lambda: self._copy(label))
x = self.winfo_pointerx() if event is None else event.x_root
y = self.winfo_pointery() if event is None else event.y_root
m.tk_popup(x, y)
def _set_cell(self, r, c, val):
"""Update a cell state in memory and refresh the local statistics."""
self.matrix_state[r][c] = val
btn = self.buttons[r][c]
self._apply_cell_style(btn, val)
self._refresh_stats()
# ---------------- STATS ----------------
def _build_stats(self):
"""Create progress bars, labels and legend for occupancy statistics."""
bottom = ctk.CTkFrame(self)
bottom.grid(row=2, column=0, sticky="nsew", padx=8, pady=6)
bottom.grid_columnconfigure(0, weight=1)
ctk.CTkLabel(bottom, text="Riempimento globale", font=("", 10, "bold")).grid(row=0, column=0, sticky="w", pady=(0, 2))
self.tot_canvas = tk.Canvas(bottom, height=22, highlightthickness=0)
self.tot_canvas.grid(row=1, column=0, sticky="ew", padx=(0, 260))
self.tot_text = ctk.CTkLabel(bottom, text=pct_text(0.0, 0.0))
self.tot_text.grid(row=1, column=0, sticky="e")
ctk.CTkLabel(bottom, text="Riempimento corsia selezionata", font=("", 10, "bold")).grid(row=2, column=0, sticky="w", pady=(10, 2))
self.sel_canvas = tk.Canvas(bottom, height=22, highlightthickness=0)
self.sel_canvas.grid(row=3, column=0, sticky="ew", padx=(0, 260))
self.sel_text = ctk.CTkLabel(bottom, text=pct_text(0.0, 0.0))
self.sel_text.grid(row=3, column=0, sticky="e")
leg = ctk.CTkFrame(bottom)
leg.grid(row=4, column=0, sticky="w", pady=(10, 0))
ctk.CTkLabel(leg, text="Legenda celle:").grid(row=0, column=0, padx=(0, 8))
self._legend(leg, 1, "Vuota", COLOR_EMPTY)
self._legend(leg, 3, "Piena", COLOR_FULL)
self._legend(leg, 5, "Doppia UDC", COLOR_DOUBLE)
def _legend(self, parent, col, text, color):
"""Add a legend entry describing one matrix color."""
box = tk.Canvas(parent, width=18, height=12, highlightthickness=0)
box.create_rectangle(0, 0, 18, 12, fill=color, width=1, outline="#444")
box.grid(row=0, column=col)
ctk.CTkLabel(parent, text=text).grid(row=0, column=col + 1, padx=(4, 12))
# ---------------- DATA LOADING ----------------
def _load_corsie(self):
"""Load the list of aisles available for visualization."""
sql = """
WITH C AS (
SELECT DISTINCT LTRIM(RTRIM(Corsia)) AS Corsia
FROM dbo.Celle
WHERE ID <> 9999 AND (DelDataOra IS NULL) AND LTRIM(RTRIM(Corsia)) <> '7G'
)
SELECT Corsia
FROM C
ORDER BY
CASE
WHEN LEFT(Corsia,3)='MAG' AND TRY_CONVERT(int, SUBSTRING(Corsia,4,50)) IS NOT NULL THEN 0
WHEN TRY_CONVERT(int, Corsia) IS NOT NULL THEN 1
ELSE 2
END,
CASE WHEN LEFT(Corsia,3)='MAG' THEN TRY_CONVERT(int, SUBSTRING(Corsia,4,50)) END,
CASE WHEN TRY_CONVERT(int, Corsia) IS NOT NULL THEN TRY_CONVERT(int, Corsia) END,
CASE WHEN TRY_CONVERT(int, Corsia) IS NOT NULL THEN SUBSTRING(Corsia, LEN(CAST(TRY_CONVERT(int, Corsia) AS varchar(20)))+1, 50) END,
Corsia;
"""
def _ok(res):
if not getattr(self, '_alive', True) or not self.winfo_exists():
return
rows = res.get("rows", []) if isinstance(res, dict) else []
self.lb.delete(0, tk.END)
corsie = [r[0] for r in rows]
for c in corsie:
self.lb.insert(tk.END, c)
idx = corsie.index("1A") if "1A" in corsie else (0 if corsie else -1)
if idx >= 0:
self.lb.selection_clear(0, tk.END)
self.lb.selection_set(idx)
self.lb.see(idx)
self._on_select(None)
else:
self._toast("Nessuna corsia trovata.")
self._busy.hide()
def _err(ex):
if not getattr(self, '_alive', True) or not self.winfo_exists():
return
self._busy.hide()
messagebox.showerror("Errore", f"Caricamento corsie fallito:\n{ex}")
self._async.run(self.db.query_json(sql, {}), _ok, _err, busy=self._busy, message="Carico corsie…")
def _on_select(self, _):
"""Load the selected aisle when the listbox selection changes."""
sel = self.lb.curselection()
if not sel:
return
corsia = self.lb.get(sel[0])
self.corsia_selezionata.set(corsia)
self._load_matrix(corsia)
def _select_corsia_in_listbox(self, corsia: str):
"""Select a given aisle inside the listbox if it is present."""
for i in range(self.lb.size()):
if self.lb.get(i) == corsia:
self.lb.selection_clear(0, tk.END)
self.lb.selection_set(i)
self.lb.see(i)
break
def _load_matrix(self, corsia: str):
"""Query and render the matrix for the selected aisle."""
# nuovo token richiesta → evita che risposte vecchie spazzino la UI
self._req_counter += 1
req_id = self._req_counter
self._last_req = req_id
sql = """
WITH C AS (
SELECT
ID,
LTRIM(RTRIM(Corsia)) AS Corsia,
LTRIM(RTRIM(Fila)) AS Fila,
LTRIM(RTRIM(Colonna)) AS Colonna,
Descrizione
FROM dbo.Celle
WHERE ID <> 9999 AND (DelDataOra IS NULL)
AND LTRIM(RTRIM(Corsia)) <> '7G' AND LTRIM(RTRIM(Corsia)) = :corsia
),
R AS (
SELECT Fila,
DENSE_RANK() OVER (
ORDER BY CASE WHEN TRY_CONVERT(int, Fila) IS NULL THEN 1 ELSE 0 END,
TRY_CONVERT(int, Fila), Fila
) AS RowN
FROM C GROUP BY Fila
),
K AS (
SELECT Colonna,
DENSE_RANK() OVER (
ORDER BY CASE WHEN TRY_CONVERT(int, Colonna) IS NULL THEN 1 ELSE 0 END,
TRY_CONVERT(int, Colonna), Colonna
) AS ColN
FROM C GROUP BY Colonna
),
S AS (
SELECT c.ID, COUNT(DISTINCT g.BarcodePallet) AS n
FROM C AS c
LEFT JOIN dbo.XMag_GiacenzaPallet AS g ON g.IDCella = c.ID
GROUP BY c.ID
),
U AS (
SELECT c.ID, MIN(g.BarcodePallet) AS FirstUDC
FROM C c
LEFT JOIN dbo.XMag_GiacenzaPallet g ON g.IDCella = c.ID
GROUP BY c.ID
)
SELECT
r.RowN, k.ColN,
CASE WHEN s.n IS NULL OR s.n = 0 THEN 0
WHEN s.n = 1 THEN 1
ELSE 2 END AS Stato,
c.Descrizione,
LTRIM(RTRIM(c.Fila)) AS FilaTxt,
LTRIM(RTRIM(c.Colonna)) AS ColTxt,
U.FirstUDC
FROM C c
JOIN R r ON r.Fila = c.Fila
JOIN K k ON k.Colonna = c.Colonna
LEFT JOIN S s ON s.ID = c.ID
LEFT JOIN U ON U.ID = c.ID
ORDER BY r.RowN, k.ColN;
"""
def _ok(res):
if not getattr(self, '_alive', True) or not self.winfo_exists():
return
# ignora risposte superate
if req_id < self._last_req:
return
rows = res.get("rows", []) if isinstance(res, dict) else []
if not rows:
# mostra matrice vuota senza rimuovere il frame (evita "schermo bianco")
self._rebuild_matrix(0, 0, [], [], [], [], [], corsia)
self._refresh_stats()
self._busy.hide()
return
max_r = max_c = 0
for row in rows:
rown, coln = row[0], row[1]
if rown and coln:
max_r = max(max_r, int(rown))
max_c = max(max_c, int(coln))
mat = [[0] * max_c for _ in range(max_r)]
fila = [[""] * max_c for _ in range(max_r)]
col = [[""] * max_c for _ in range(max_r)]
desc = [[""] * max_c for _ in range(max_r)]
udc = [[""] * max_c for _ in range(max_r)]
for row in rows:
rown, coln, stato, descr, fila_txt, col_txt, first_udc = row
r = int(rown) - 1
c = int(coln) - 1
mat[r][c] = int(stato)
fila[r][c] = str(fila_txt or "")
col[r][c] = str(col_txt or "")
desc[r][c] = str(descr or f"{corsia}.{col_txt}.{fila_txt}")
udc[r][c] = str(first_udc or "")
self._rebuild_matrix(max_r, max_c, mat, fila, col, desc, udc, corsia)
self._refresh_stats()
self._busy.hide()
def _err(ex):
if not getattr(self, '_alive', True) or not self.winfo_exists():
return
if req_id < self._last_req:
return
self._busy.hide()
messagebox.showerror("Errore", f"Caricamento matrice {corsia} fallito:\n{ex}")
self._async.run(self.db.query_json(sql, {"corsia": corsia}), _ok, _err, busy=self._busy, message=f"Carico corsia {corsia}")
# ---------------- SEARCH ----------------
def _search_udc(self):
"""Find a pallet barcode and navigate to the aisle and cell that contain it."""
barcode = (self.search_var.get() or "").strip()
if not barcode:
self._toast("Inserisci un barcode UDC da cercare.")
return
# bump token per impedire che una vecchia _load_matrix cancelli UI
self._req_counter += 1
search_req_id = self._req_counter
self._last_req = search_req_id
sql = """
SELECT TOP (1)
RTRIM(c.Corsia) AS Corsia,
RTRIM(c.Colonna) AS Colonna,
RTRIM(c.Fila) AS Fila,
c.ID AS IDCella
FROM dbo.XMag_GiacenzaPallet g
JOIN dbo.Celle c ON c.ID = g.IDCella
WHERE g.BarcodePallet = :barcode
AND c.ID <> 9999 AND RTRIM(c.Corsia) <> '7G'
"""
def _ok(res):
if not getattr(self, '_alive', True) or not self.winfo_exists():
return
if search_req_id < self._last_req:
return
rows = res.get("rows", []) if isinstance(res, dict) else []
if not rows:
messagebox.showinfo("Ricerca", f"UDC {barcode} non trovata.", parent=self)
return
corsia, col, fila, _idc = rows[0]
corsia = str(corsia).strip(); col = str(col).strip(); fila = str(fila).strip()
self._pending_focus = (corsia, col, fila, barcode)
# sincronizza listbox e carica SEMPRE la corsia della UDC
self._select_corsia_in_listbox(corsia)
self.corsia_selezionata.set(corsia)
self._load_matrix(corsia) # highlight avverrà in _rebuild_matrix
def _err(ex):
if not getattr(self, '_alive', True) or not self.winfo_exists():
return
if search_req_id < self._last_req:
return
messagebox.showerror("Ricerca", f"Errore ricerca UDC:\n{ex}", parent=self)
self._async.run(self.db.query_json(sql, {"barcode": barcode}), _ok, _err, busy=self._busy, message="Cerco UDC…")
def _try_highlight(self, col_txt: str, fila_txt: str) -> bool:
"""Highlight a cell by its textual row and column labels."""
for r in range(len(self.col_txt)):
for c in range(len(self.col_txt[r])):
if self.col_txt[r][c] == col_txt and self.fila_txt[r][c] == fila_txt:
self._clear_highlight()
btn = self.buttons[r][c]
btn.configure(border_width=3, border_color="blue")
try:
fr = self.btn_frames[r][c]
fr.configure(border_color="blue", border_width=2)
except Exception:
pass
self._highlighted = (r, c)
return True
return False
def _highlight_cell_by_labels(self, col_txt: str, fila_txt: str):
"""Show a toast when a searched cell cannot be highlighted."""
if not self._try_highlight(col_txt, fila_txt):
self._toast("Cella trovata ma non mappabile a pulsante.")
# ---------------- COMMANDS ----------------
def _refresh_current(self):
"""Reload the matrix of the currently selected aisle."""
if self.corsia_selezionata.get():
self._load_matrix(self.corsia_selezionata.get())
def _export_xlsx(self):
"""Export both matrix metadata and the rendered grid to Excel."""
if not self.matrix_state:
messagebox.showinfo("Export", "Nessuna matrice da esportare.")
return
corsia = self.corsia_selezionata.get() or "NA"
ts = datetime.now().strftime("%d_%m_%Y_%H-%M")
default = f"layout_matrice_{corsia}_{ts}.xlsx"
path = filedialog.asksaveasfilename(
title="Esporta matrice",
defaultextension=".xlsx",
initialfile=default,
filetypes=[("Excel", "*.xlsx")]
)
if not path:
return
try:
from openpyxl import Workbook
from openpyxl.styles import PatternFill, Alignment, Font
except Exception as ex:
messagebox.showerror("Export", f"Manca openpyxl: {ex}\nInstalla con: pip install openpyxl")
return
rows = len(self.matrix_state)
cols = len(self.matrix_state[0]) if self.matrix_state else 0
wb = Workbook()
ws1 = wb.active
ws1.title = f"Dettaglio {corsia}"
ws1.append(["Corsia", "FilaIdx", "ColIdx", "Stato", "Descrizione", "FilaTxt", "ColTxt", "UDC1"])
for r in range(rows):
for c in range(cols):
st = self.matrix_state[r][c]
stato_lbl = "Vuota" if st == 0 else ("Piena" if st == 1 else "Doppia")
ws1.append([corsia, r + 1, c + 1, stato_lbl,
self.desc[r][c], self.fila_txt[r][c], self.col_txt[r][c], self.udc1[r][c]])
for cell in ws1[1]:
cell.font = Font(bold=True)
ws2 = wb.create_sheet(f"Matrice {corsia}")
fills = {
0: PatternFill("solid", fgColor="B0B0B0"),
1: PatternFill("solid", fgColor="FFA500"),
2: PatternFill("solid", fgColor="D62728"),
}
center = Alignment(horizontal="center", vertical="center", wrap_text=True)
for r in range(rows):
for c in range(cols):
value = f"{corsia}.{self.col_txt[r][c]}.{self.fila_txt[r][c]}\n{self.udc1[r][c]}"
cell = ws2.cell(row=(rows - r), column=c + 1, value=value) # capovolto per avere 'a' in basso
cell.fill = fills.get(self.matrix_state[r][c], fills[0])
cell.alignment = center
try:
wb.save(path)
self._toast(f"Esportato: {path}")
except Exception as ex:
messagebox.showerror("Export", f"Salvataggio fallito:\n{ex}")
# ---------------- STATS ----------------
def _refresh_stats(self):
"""Refresh global and local occupancy statistics shown in the footer."""
# globale dal DB
sql_tot = """
WITH C AS (
SELECT ID
FROM dbo.Celle
WHERE ID <> 9999 AND (DelDataOra IS NULL)
AND LTRIM(RTRIM(Corsia)) <> '7G'
AND LTRIM(RTRIM(Fila)) IS NOT NULL
AND LTRIM(RTRIM(Colonna)) IS NOT NULL
),
S AS (
SELECT c.ID, COUNT(DISTINCT g.BarcodePallet) AS n
FROM C AS c LEFT JOIN dbo.XMag_GiacenzaPallet AS g ON g.IDCella = c.ID
GROUP BY c.ID
)
SELECT
CAST(SUM(CASE WHEN s.n>0 THEN 1 ELSE 0 END) AS float)/NULLIF(COUNT(*),0) AS PercPieno,
CAST(SUM(CASE WHEN s.n>1 THEN 1 ELSE 0 END) AS float)/NULLIF(COUNT(*),0) AS PercDoppie
FROM C LEFT JOIN S s ON s.ID = C.ID;
"""
def _ok(res):
if not getattr(self, '_alive', True) or not self.winfo_exists():
return
rows = res.get("rows", []) if isinstance(res, dict) else []
p_full = float(rows[0][0] or 0.0) if rows else 0.0
p_dbl = float(rows[0][1] or 0.0) if rows else 0.0
self._draw_bar(self.tot_canvas, p_full)
self.tot_text.configure(text=pct_text(p_full, p_dbl))
self._async.run(self.db.query_json(sql_tot, {}), _ok, lambda e: None, busy=None, message=None)
# selezionata dalla matrice in memoria
if self.matrix_state:
tot = sum(len(r) for r in self.matrix_state)
full = sum(1 for row in self.matrix_state for v in row if v in (1, 2))
doubles = sum(1 for row in self.matrix_state for v in row if v == 2)
p_full = (full / tot) if tot else 0.0
p_dbl = (doubles / tot) if tot else 0.0
else:
p_full = p_dbl = 0.0
self._draw_bar(self.sel_canvas, p_full)
self.sel_text.configure(text=pct_text(p_full, p_dbl))
def _draw_bar(self, cv: tk.Canvas, p_full: float):
"""Draw a horizontal occupancy bar on the given canvas."""
cv.delete("all")
w = max(300, cv.winfo_width() or 600)
h = 18
fw = int(w * max(0.0, min(1.0, p_full)))
cv.create_rectangle(2, 2, 2 + fw, 2 + h, fill="#D62728", width=0)
cv.create_rectangle(2 + fw, 2, 2 + w, 2 + h, fill="#2CA02C", width=0)
cv.create_rectangle(2, 2, 2 + w, 2 + h, outline="#555", width=1)
# ---------------- UTIL ----------------
def _toast(self, msg, ms=1400):
"""Show a transient status message at the bottom of the window."""
if not hasattr(self, "_status"):
self._status = ctk.CTkLabel(self, anchor="w")
self._status.grid(row=3, column=0, sticky="ew")
self._status.configure(text=msg)
self.after(ms, lambda: self._status.configure(text=""))
def _copy(self, txt: str):
"""Copy a string to the clipboard and inform the user."""
self.clipboard_clear()
self.clipboard_append(txt)
self._toast(f"Copiato: {txt}")
def destroy(self):
"""Mark the window as closed and release dynamic widgets safely."""
# evita nuovi refresh/async dopo destroy
self._alive = False
# cancella eventuali timer
try:
if self._stats_after_id is not None:
self.after_cancel(self._stats_after_id)
except Exception:
pass
# pulizia UI leggera
try:
for w in list(self.host.winfo_children()):
w.destroy()
except Exception:
pass
try:
super().destroy()
except Exception:
pass
def open_layout_window(parent, db_app):
"""Open the layout window as a singleton-like child of ``parent``."""
key = "_layout_window_singleton"
ex = getattr(parent, key, None)
if ex and ex.winfo_exists():
try:
ex.lift()
ex.focus_force()
return ex
except Exception:
pass
w = LayoutWindow(parent, db_app)
setattr(parent, key, w)
return w

229
locale.json Normal file
View File

@@ -0,0 +1,229 @@
{
"default_language": "IT",
"IT": {
"launcher.window_title": "Warehouse 1.0.0",
"launcher.operator": "Operatore: {display_name} ({login})",
"launcher.reset_corsie": "Gestione Corsie",
"launcher.layout": "Gestione Layout",
"launcher.multi_udc": "UDC Fantasma",
"launcher.search": "Ricerca UDC",
"launcher.history_udc": "Storico movimenti UDC",
"launcher.pickinglist": "Gestione Picking List",
"launcher.history_pickinglist": "Storico Picking List",
"launcher.arrange": "Ridisponi finestre",
"launcher.exit": "Esci",
"launcher.already_running_title": "Warehouse",
"launcher.already_running_message": "L'applicazione è già in esecuzione.",
"login.title": "Login Warehouse",
"login.heading": "Autenticazione operatore",
"login.label.login": "Login",
"login.label.password": "Password",
"login.info": "Per ora tutti gli operatori autenticati possono usare tutte le funzioni.",
"login.button.cancel": "Annulla",
"login.button.submit": "Accedi",
"login.status.checking": "Verifico credenziali...",
"login.msg.title": "Login",
"login.msg.missing": "Inserisci login e password.",
"login.msg.invalid": "Credenziali non valide.",
"login.msg.error": "Verifica credenziali fallita:\n{error}",
"dbconfig.title": "Configurazione Database",
"dbconfig.heading": "Configura la connessione al database del magazzino",
"dbconfig.label.server": "Server",
"dbconfig.label.database": "Database",
"dbconfig.label.user": "Utente",
"dbconfig.label.password": "Password",
"dbconfig.label.driver": "Driver ODBC",
"dbconfig.label.encrypt": "Encrypt",
"dbconfig.label.trust_server_certificate": "Trust server certificate",
"dbconfig.info": "Il file verra' salvato localmente e non verra' piu' richiesto ai prossimi avvii.",
"dbconfig.button.cancel": "Annulla",
"dbconfig.button.test": "Test connessione",
"dbconfig.button.save": "Salva",
"dbconfig.busy": "Verifico connessione...",
"dbconfig.msg.title": "Configurazione Database",
"dbconfig.msg.missing": "Compila almeno server, database, utente e password.",
"dbconfig.msg.test_error": "Connessione fallita:\n{error}",
"dbconfig.msg.test_ok": "Connessione riuscita.",
"dbconfig.msg.save_error": "Salvataggio fallito:\n{error}",
"search.title": "Ricerca UDC/Lotto/Codice",
"search.label.udc": "UDC:",
"search.label.lot": "Lotto:",
"search.label.code": "Codice prodotto:",
"search.button.search": "Cerca",
"search.button.export": "Esporta XLSX",
"search.msg.confirm_title": "Conferma",
"search.msg.confirm_all": "Nessun filtro impostato. Vuoi cercare su TUTTO il magazzino?",
"search.msg.export_title": "Esporta",
"search.msg.export_empty": "Non ci sono righe da esportare.",
"search.msg.export_dep": "Per l'esportazione serve 'openpyxl' (pip install openpyxl).",
"search.msg.export_error": "Errore durante l'esportazione:{error}",
"search.msg.no_results_title": "Nessun risultato",
"search.msg.no_results": "Nessuna corrispondenza trovata con le chiavi di ricerca inserite.",
"search.msg.error_title": "Errore ricerca",
"search.busy": "Cerco...",
"history.udc.title": "Storico movimenti UDC",
"history.udc.button.search": "Cerca",
"history.udc.busy": "Carico storico UDC...",
"history.udc.msg.title": "Storico UDC",
"history.udc.msg.empty": "Nessun movimento trovato.",
"history.udc.msg.error": "Errore ricerca:\n{error}",
"history.picking.title": "Storico Picking List",
"history.picking.button.reload": "Ricarica",
"history.picking.detail_title": "Dettaglio contenuto",
"history.picking.busy.master": "Carico storico picking list...",
"history.picking.busy.detail": "Carico dettaglio picking list...",
"history.picking.msg.title": "Storico Picking List",
"history.picking.msg.load_error": "Errore caricamento:\n{error}",
"history.picking.msg.detail_error": "Errore dettaglio:\n{error}",
"reset.title": "Gestione Corsie - svuotamento celle per corsia",
"reset.label.aisle": "Corsia:",
"reset.button.refresh": "Carica",
"reset.button.empty": "Svuota corsia...",
"reset.summary": "Riepilogo",
"layout.title": "Layout corsie",
"layout.button.search": "Cerca per barcode UDC",
"layout.button.refresh": "Aggiorna",
"layout.button.export": "Export XLSX",
"layout.fill.global": "Riempimento globale",
"layout.fill.selected": "Riempimento corsia selezionata",
"layout.legend": "Legenda celle:",
"multi.title": "Celle con piu' pallet",
"multi.button.refresh": "Aggiorna",
"multi.button.expand": "Espandi tutto",
"multi.button.collapse": "Comprimi tutto",
"multi.button.preselect": "Preselezione fantasmi corsia",
"multi.button.remove": "Rimuovi fantasmi corsia",
"multi.button.export": "Esporta in XLSX",
"multi.summary": "Riepilogo % celle multiple per corsia",
"picking.title": "Gestione Picking List",
"picking.button.reload": "Ricarica",
"picking.button.prenota": "Prenota",
"picking.button.sprenota": "S-prenota",
"picking.button.export": "Esporta XLSX",
"scarico.title": "Scarica {ubicazione}",
"scarico.label.location": "Ubicazione: {ubicazione}",
"scarico.label.select": "Seleziona le UDC da scaricare",
"scarico.col.udc": "UDC",
"scarico.col.last_insert": "Ultimo inserimento",
"scarico.col.diagnostic": "Diagnostica",
"scarico.button.submit": "Scarica",
"scarico.button.close": "Chiudi",
"scarico.msg.title": "Scarica",
"scarico.msg.select_one": "Seleziona almeno una UDC da scaricare.",
"scarico.msg.load_error": "Caricamento UDC fallito:\n{error}",
"scarico.msg.exec_error": "Scarico fallito:\n{error}"
},
"ENG": {
"launcher.window_title": "Warehouse 1.0.0",
"launcher.operator": "Operator: {display_name} ({login})",
"launcher.reset_corsie": "Aisle Management",
"launcher.layout": "Layout Management",
"launcher.multi_udc": "Ghost UDC",
"launcher.search": "UDC Search",
"launcher.history_udc": "UDC Movement History",
"launcher.pickinglist": "Picking List Management",
"launcher.history_pickinglist": "Picking List History",
"launcher.arrange": "Arrange windows",
"launcher.exit": "Exit",
"launcher.already_running_title": "Warehouse",
"launcher.already_running_message": "The application is already running.",
"login.title": "Warehouse Login",
"login.heading": "Operator authentication",
"login.label.login": "Login",
"login.label.password": "Password",
"login.info": "For now, every authenticated operator can use every function.",
"login.button.cancel": "Cancel",
"login.button.submit": "Sign in",
"login.status.checking": "Checking credentials...",
"login.msg.title": "Login",
"login.msg.missing": "Enter login and password.",
"login.msg.invalid": "Invalid credentials.",
"login.msg.error": "Credential check failed:\n{error}",
"dbconfig.title": "Database Configuration",
"dbconfig.heading": "Configure the warehouse database connection",
"dbconfig.label.server": "Server",
"dbconfig.label.database": "Database",
"dbconfig.label.user": "User",
"dbconfig.label.password": "Password",
"dbconfig.label.driver": "ODBC Driver",
"dbconfig.label.encrypt": "Encrypt",
"dbconfig.label.trust_server_certificate": "Trust server certificate",
"dbconfig.info": "The file will be saved locally and will not be requested again on the next startup.",
"dbconfig.button.cancel": "Cancel",
"dbconfig.button.test": "Test connection",
"dbconfig.button.save": "Save",
"dbconfig.busy": "Checking connection...",
"dbconfig.msg.title": "Database Configuration",
"dbconfig.msg.missing": "Fill in at least server, database, user and password.",
"dbconfig.msg.test_error": "Connection failed:\n{error}",
"dbconfig.msg.test_ok": "Connection successful.",
"dbconfig.msg.save_error": "Save failed:\n{error}",
"search.title": "Search UDC/Lot/Code",
"search.label.udc": "UDC:",
"search.label.lot": "Lot:",
"search.label.code": "Product code:",
"search.button.search": "Search",
"search.button.export": "Export XLSX",
"search.msg.confirm_title": "Confirm",
"search.msg.confirm_all": "No filters set. Search the whole warehouse?",
"search.msg.export_title": "Export",
"search.msg.export_empty": "There are no rows to export.",
"search.msg.export_dep": "Export requires 'openpyxl' (pip install openpyxl).",
"search.msg.export_error": "Export failed:{error}",
"search.msg.no_results_title": "No results",
"search.msg.no_results": "No matches were found for the entered search keys.",
"search.msg.error_title": "Search error",
"search.busy": "Searching...",
"history.udc.title": "UDC Movement History",
"history.udc.button.search": "Search",
"history.udc.busy": "Loading UDC history...",
"history.udc.msg.title": "UDC History",
"history.udc.msg.empty": "No movement found.",
"history.udc.msg.error": "Search failed:\n{error}",
"history.picking.title": "Picking List History",
"history.picking.button.reload": "Reload",
"history.picking.detail_title": "Content detail",
"history.picking.busy.master": "Loading picking-list history...",
"history.picking.busy.detail": "Loading picking-list detail...",
"history.picking.msg.title": "Picking List History",
"history.picking.msg.load_error": "Load failed:\n{error}",
"history.picking.msg.detail_error": "Detail load failed:\n{error}",
"reset.title": "Aisle Management - empty cells by aisle",
"reset.label.aisle": "Aisle:",
"reset.button.refresh": "Load",
"reset.button.empty": "Empty aisle...",
"reset.summary": "Summary",
"layout.title": "Aisle layout",
"layout.button.search": "Search by UDC barcode",
"layout.button.refresh": "Refresh",
"layout.button.export": "Export XLSX",
"layout.fill.global": "Global occupancy",
"layout.fill.selected": "Selected aisle occupancy",
"layout.legend": "Cell legend:",
"multi.title": "Cells with multiple pallets",
"multi.button.refresh": "Refresh",
"multi.button.expand": "Expand all",
"multi.button.collapse": "Collapse all",
"multi.button.preselect": "Preselect aisle ghosts",
"multi.button.remove": "Remove aisle ghosts",
"multi.button.export": "Export to XLSX",
"multi.summary": "Summary % of multi-UDC cells by aisle",
"picking.title": "Picking List Management",
"picking.button.reload": "Reload",
"picking.button.prenota": "Reserve",
"picking.button.sprenota": "Unreserve",
"picking.button.export": "Export XLSX",
"scarico.title": "Unload {ubicazione}",
"scarico.label.location": "Location: {ubicazione}",
"scarico.label.select": "Select the UDCs to unload",
"scarico.col.udc": "UDC",
"scarico.col.last_insert": "Last insert",
"scarico.col.diagnostic": "Diagnostics",
"scarico.button.submit": "Unload",
"scarico.button.close": "Close",
"scarico.msg.title": "Unload",
"scarico.msg.select_one": "Select at least one UDC to unload.",
"scarico.msg.load_error": "UDC load failed:\n{error}",
"scarico.msg.exec_error": "Unload failed:\n{error}"
}
}

41
locale_text.py Normal file
View File

@@ -0,0 +1,41 @@
"""Localized UI text loader for the warehouse desktop application."""
from __future__ import annotations
import json
from functools import lru_cache
from pathlib import Path
_LOCALE_FILE = Path(__file__).with_name("locale.json")
@lru_cache(maxsize=1)
def load_locale_catalog() -> dict:
"""Load the locale catalog from JSON, returning a safe default on errors."""
try:
return json.loads(_LOCALE_FILE.read_text(encoding="utf-8"))
except Exception:
return {"default_language": "IT", "IT": {}, "ENG": {}}
def reload_locale_catalog() -> dict:
"""Clear the locale cache and reload the catalog from disk."""
load_locale_catalog.cache_clear()
return load_locale_catalog()
def text(key: str, *, language: str | None = None, catalog: dict | None = None, default: str = "") -> str:
"""Return the localized UI text for ``key`` with Italian fallback."""
data = catalog or load_locale_catalog()
lang = str(language or data.get("default_language") or "IT").upper()
texts = data.get(lang, {}) or {}
if key in texts:
return str(texts[key])
fallback = data.get("IT", {}) or {}
if key in fallback:
return str(fallback[key])
return str(default)

308
login_window.py Normal file
View File

@@ -0,0 +1,308 @@
"""Application login dialog backed by the ``Operatori`` table."""
from __future__ import annotations
import tkinter as tk
from tkinter import messagebox, ttk
from typing import Any
from audit_log import log_session_event
from gestione_aree import AsyncRunner
from locale_text import load_locale_catalog, text as loc_text
from ui_theme import theme_section, theme_value
from user_session import UserSession, create_user_session
SQL_LOGIN = """
SELECT TOP (1)
ID,
Login,
Nominativo,
Privilegio,
CodiceUnita
FROM dbo.Operatori
WHERE LTRIM(RTRIM(Login)) = :login
AND LTRIM(RTRIM([Password])) = :password
ORDER BY ID;
"""
def _rows_to_dicts(res: Any) -> list[dict[str, Any]]:
"""Normalize DB responses into a list of row dictionaries."""
if res is None:
return []
if isinstance(res, list):
return [row for row in res if isinstance(row, dict)]
if isinstance(res, dict):
rows = res.get("rows") or res.get("data") or res.get("records") or []
if rows and isinstance(rows[0], dict):
return rows
cols = res.get("columns") or []
out: list[dict[str, Any]] = []
for row in rows:
if isinstance(row, (list, tuple)) and cols:
out.append({str(cols[i]): row[i] for i in range(min(len(cols), len(row)))})
return out
return []
class LoginWindow(tk.Toplevel):
"""Small modal dialog used to authenticate one warehouse operator."""
def __init__(self, parent: tk.Misc, db_client, *, compact: bool = False):
super().__init__(parent)
self.db_client = db_client
self.compact = bool(compact)
self.result_session: UserSession | None = None
self._async = AsyncRunner(self)
self._theme = theme_section("login_window", {})
self._locale_catalog = load_locale_catalog()
self._login_button: ttk.Button | None = None
self._cancel_button: ttk.Button | None = None
self._status_var = tk.StringVar(value="")
self._show_ready_after_id: str | None = None
self._clear_topmost_after_id: str | None = None
self.title(loc_text("login.msg.title", catalog=self._locale_catalog, default="Login"))
self.geometry("170x145+0+0" if self.compact else str(theme_value(self._theme, "window_geometry", "165x155+0+0")))
self.resizable(False, False)
try:
if parent is not None and parent.winfo_viewable():
self.transient(parent)
except Exception:
pass
self.protocol("WM_DELETE_WINDOW", self._on_cancel)
self.login_var = tk.StringVar()
self.password_var = tk.StringVar()
self._build_ui()
self.update_idletasks()
self.grab_set()
self.deiconify()
self.lift()
self.attributes("-topmost", True)
self._show_ready_after_id = self.after(50, self._show_ready)
def _build_ui(self) -> None:
"""Build the compact operator login form."""
body = ttk.Frame(self, padding=8 if self.compact else 8)
body.pack(fill="both", expand=True)
body.columnconfigure(1, weight=0)
row_offset = 0
ttk.Label(body, text="User:").grid(row=row_offset, column=0, sticky="w", padx=(0, 4), pady=4)
self.login_entry = ttk.Entry(body, textvariable=self.login_var, width=10, font=("Segoe UI", 10 if self.compact else 9))
self.login_entry.grid(row=row_offset, column=1, sticky="w", pady=4)
ttk.Label(body, text="Pwd:").grid(row=row_offset + 1, column=0, sticky="w", padx=(0, 4), pady=4)
self.password_entry = ttk.Entry(body, textvariable=self.password_var, width=10, show="*", font=("Segoe UI", 10 if self.compact else 9))
self.password_entry.grid(row=row_offset + 1, column=1, sticky="w", pady=4)
if self.compact:
actions = ttk.Frame(body)
actions.grid(row=row_offset + 2, column=0, columnspan=2, sticky="ew", pady=(6, 0))
self._cancel_button = ttk.Button(
actions,
text="Annulla",
command=self._on_cancel,
)
self._cancel_button.grid(row=1, column=0, sticky="ew", pady=(4, 0))
self._login_button = ttk.Button(
actions,
text="OK",
command=self._on_login,
)
self._login_button.grid(row=0, column=0, sticky="ew")
else:
self.status_label = ttk.Label(body, textvariable=self._status_var, foreground="#555555")
self.status_label.grid(row=2, column=0, columnspan=2, sticky="w", pady=(2, 2))
actions = ttk.Frame(body)
actions.grid(row=3, column=0, columnspan=2, sticky="w", pady=(6, 0))
self._cancel_button = ttk.Button(
actions,
text=loc_text("login.button.cancel", catalog=self._locale_catalog, default="Annulla"),
command=self._on_cancel,
)
self._cancel_button.grid(row=1, column=0, sticky="ew", pady=(4, 0))
self._login_button = ttk.Button(
actions,
text=loc_text("login.button.submit", catalog=self._locale_catalog, default="OK"),
command=self._on_login,
)
self._login_button.grid(row=0, column=0, sticky="ew")
self.bind("<Return>", lambda _e: self._on_login())
self.bind("<Escape>", lambda _e: self._on_cancel())
self.login_var.trace_add("write", lambda *_: self._limit_var(self.login_var, 10))
self.password_var.trace_add("write", lambda *_: self._limit_var(self.password_var, 10))
def _limit_var(self, variable: tk.StringVar, max_len: int) -> None:
value = str(variable.get() or "")
if len(value) > max_len:
variable.set(value[:max_len])
def _set_busy(self, busy: bool, message: str = "") -> None:
"""Enable or disable user interaction during async authentication."""
state = "disabled" if busy else "normal"
try:
self.login_entry.configure(state=state)
self.password_entry.configure(state=state)
if self._login_button is not None:
self._login_button.configure(state=state)
if self._cancel_button is not None:
self._cancel_button.configure(state=state)
self.configure(cursor="watch" if busy else "")
self._status_var.set(message)
self.update_idletasks()
except Exception:
pass
def _focus_login(self) -> None:
"""Focus the login entry as soon as the modal becomes visible."""
try:
self.login_entry.focus_force()
except Exception:
pass
def _show_ready(self) -> None:
"""Make the login visible and ready even when the bootstrap root is hidden."""
try:
self.attributes("-topmost", True)
self.deiconify()
self.lift()
self.focus_force()
self._focus_login()
finally:
try:
self._clear_topmost_after_id = self.after(250, lambda: self.attributes("-topmost", False))
except Exception:
pass
def _on_login(self) -> None:
"""Validate credentials against the Operatori table."""
login = str(self.login_var.get() or "").strip()
password = str(self.password_var.get() or "").strip()
if not login or not password:
messagebox.showwarning(
loc_text("login.msg.title", catalog=self._locale_catalog, default="Login"),
loc_text("login.msg.missing", catalog=self._locale_catalog, default="Inserisci login e password."),
parent=self,
)
return
params = {"login": login, "password": password}
self._set_busy(True, loc_text("login.status.checking", catalog=self._locale_catalog, default="Verifico credenziali..."))
def _ok(res: Any) -> None:
rows = _rows_to_dicts(res)
self._set_busy(False, "")
if not rows:
log_session_event(
None,
action="login.failed",
outcome="denied",
details={"login": login},
)
messagebox.showerror(
loc_text("login.msg.title", catalog=self._locale_catalog, default="Login"),
loc_text("login.msg.invalid", catalog=self._locale_catalog, default="Credenziali non valide."),
parent=self,
)
try:
self.password_var.set("")
self.password_entry.focus_force()
except Exception:
pass
return
row = rows[0]
self.result_session = create_user_session(
operator_id=int(row.get("ID") or 0),
login=str(row.get("Login") or login).strip(),
nominativo=str(row.get("Nominativo") or "").strip(),
privilegio=int(row["Privilegio"]) if row.get("Privilegio") is not None else None,
codice_unita=str(row.get("CodiceUnita") or "").strip(),
)
log_session_event(
self.result_session,
action="login.success",
outcome="ok",
details={"display_name": self.result_session.display_name},
)
self._close()
def _err(ex: Exception) -> None:
self._set_busy(False, "")
log_session_event(
None,
action="login.error",
outcome="error",
details={"login": login, "error": str(ex)},
)
messagebox.showerror(
loc_text("login.msg.title", catalog=self._locale_catalog, default="Login"),
loc_text("login.msg.error", catalog=self._locale_catalog, default="Verifica credenziali fallita:\n{error}").format(error=ex),
parent=self,
)
self._async.run(
self.db_client.query_json(SQL_LOGIN, params),
_ok,
_err,
)
def _on_cancel(self) -> None:
"""Abort the login flow and close the modal."""
log_session_event(None, action="login.cancel", outcome="cancelled")
self.result_session = None
self._close()
def _close(self) -> None:
"""Release the modal grab and destroy the login window."""
if self._show_ready_after_id is not None:
try:
self.after_cancel(self._show_ready_after_id)
except Exception:
pass
self._show_ready_after_id = None
if self._clear_topmost_after_id is not None:
try:
self.after_cancel(self._clear_topmost_after_id)
except Exception:
pass
self._clear_topmost_after_id = None
try:
self.grab_release()
except Exception:
pass
try:
self.destroy()
except Exception:
pass
def prompt_login(parent: tk.Misc, db_client) -> UserSession | None:
"""Open the login modal and return the authenticated user session, if any."""
dialog = LoginWindow(parent, db_client)
dialog.wait_window()
return dialog.result_session
def prompt_login_compact(parent: tk.Misc, db_client) -> UserSession | None:
"""Open the barcode-oriented compact login modal."""
dialog = LoginWindow(parent, db_client, compact=True)
dialog.wait_window()
return dialog.result_session

698
main.py
View File

@@ -6,55 +6,54 @@ project.
"""
import asyncio
import ctypes
import sys
import tkinter as tk
import time
from runtime_support import ensure_stdio, run_with_fatal_log
ensure_stdio("warehouse_main")
import customtkinter as ctk
from tkinter import messagebox
from async_loop_singleton import get_global_loop
from async_msssql_query import AsyncMSSQLClient, make_mssql_dsn
from layout_window import open_layout_window
from async_loop_singleton import get_global_loop, stop_global_loop
from async_msssql_query import AsyncMSSQLClient
from audit_log import log_session_event
from db_config import build_dsn_from_config, ensure_db_config
from gestione_layout import open_layout_window
from gestione_pickinglist import open_pickinglist_window
from login_window import prompt_login
from locale_text import load_locale_catalog, text as loc_text
from reset_corsie import open_reset_corsie_window
from search_pallets import open_search_window
from view_celle_multiple import open_celle_multiple_window
from storico_pickinglist import open_storico_pickinglist_window
from storico_udc import open_storico_udc_window
from tooltips import WidgetToolTip, load_tooltip_catalog, tooltip_text
from ui_theme import theme_font, theme_section, theme_value
from user_session import UserSession, create_user_session
from view_celle_multi_udc import open_celle_multiple_window
from window_placement import (
cascade_children_below_parent,
place_window_below_parent_later,
place_window_fullsize_below_parent_later,
)
# Try factory, else frame, else app (senza passare conn_str all'App)
try:
from gestione_pickinglist import create_frame as create_pickinglist_frame
except Exception:
try:
from gestione_pickinglist import GestionePickingListFrame as _PLFrame
# Development shortcut: skip the login dialog and boot directly as MAG1.
# Set to False when you want to restore normal authentication.
BYPASS_LOGIN = False
BYPASS_LOGIN_USER = {
"operator_id": 4,
"login": "MAG1",
"nominativo": "MAG1",
"privilegio": 3,
"codice_unita": "U1",
}
def create_pickinglist_frame(parent, db_client=None, conn_str=None):
"""Build the picking list UI using the frame-based fallback."""
ctk.set_appearance_mode("light")
ctk.set_default_color_theme("green")
return _PLFrame(parent, db_client=db_client, conn_str=conn_str)
except Exception:
from gestione_pickinglist import GestionePickingListApp as _PLApp
def create_pickinglist_frame(parent, db_client=None, conn_str=None):
"""Fallback used only by legacy app-style picking list implementations."""
app = _PLApp()
app.mainloop()
return tk.Frame(parent)
# ---- Config ----
SERVER = r"mde3\gesterp"
DBNAME = "Mediseawall"
USER = "sa"
PASSWORD = "1Password1"
if sys.platform.startswith("win"):
try:
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
except Exception:
pass
# Create one global loop and make it the default everywhere.
# Create one global loop for database work. Tk must keep the main thread clean;
# callers schedule async jobs on this loop explicitly.
_loop = get_global_loop()
asyncio.set_event_loop(_loop)
def _noop(*args, **kwargs):
@@ -67,114 +66,543 @@ if not hasattr(tk.Toplevel, "block_update_dimensions_event"):
if not hasattr(tk.Toplevel, "unblock_update_dimensions_event"):
tk.Toplevel.unblock_update_dimensions_event = _noop # type: ignore[attr-defined]
dsn_app = make_mssql_dsn(server=SERVER, database=DBNAME, user=USER, password=PASSWORD)
db_app = AsyncMSSQLClient(dsn_app)
db_app: AsyncMSSQLClient | None = None
_APP_MUTEX = None
_APP_MUTEX_NAME = "Local\\WarehousePythonAppSingleton"
def open_pickinglist_window(parent: tk.Misc, db_client: AsyncMSSQLClient):
"""Open the picking list window while minimizing initial flicker."""
win = ctk.CTkToplevel(parent)
win.title("Gestione Picking List")
win.geometry("1200x700+0+100")
win.minsize(1000, 560)
def _dispose_db_client() -> None:
"""Best-effort disposal of the shared DB client."""
# Keep the toplevel hidden while its content is being created.
try:
win.withdraw()
win.attributes("-alpha", 0.0)
except Exception:
pass
frame = create_pickinglist_frame(win, db_client=db_client)
try:
frame.pack(fill="both", expand=True)
except Exception:
pass
# Show the window only when the layout is ready.
try:
win.update_idletasks()
try:
win.transient(parent)
except Exception:
pass
try:
win.deiconify()
except Exception:
pass
win.lift()
try:
win.focus_force()
except Exception:
pass
try:
win.attributes("-alpha", 1.0)
except Exception:
pass
except Exception:
pass
win.bind("<Escape>", lambda e: win.destroy())
win.protocol("WM_DELETE_WINDOW", win.destroy)
return win
class Launcher(ctk.CTk):
"""Main launcher window that exposes the available warehouse tools."""
def __init__(self):
"""Create the launcher toolbar and wire every button to a feature window."""
super().__init__()
self.title("Warehouse 1.0.0")
self.geometry("1200x70+0+0")
wrap = ctk.CTkFrame(self)
wrap.pack(pady=10, fill="x")
ctk.CTkButton(
wrap,
text="Gestione Corsie",
command=lambda: open_reset_corsie_window(self, db_app),
).grid(row=0, column=0, padx=6, pady=6, sticky="ew")
ctk.CTkButton(
wrap,
text="Gestione Layout",
command=lambda: open_layout_window(self, db_app),
).grid(row=0, column=1, padx=6, pady=6, sticky="ew")
ctk.CTkButton(
wrap,
text="UDC Fantasma",
command=lambda: open_celle_multiple_window(self, db_app),
).grid(row=0, column=2, padx=6, pady=6, sticky="ew")
ctk.CTkButton(
wrap,
text="Ricerca UDC",
command=lambda: open_search_window(self, db_app),
).grid(row=0, column=3, padx=6, pady=6, sticky="ew")
ctk.CTkButton(
wrap,
text="Gestione Picking List",
command=lambda: open_pickinglist_window(self, db_app),
).grid(row=0, column=4, padx=6, pady=6, sticky="ew")
for i in range(5):
wrap.grid_columnconfigure(i, weight=1)
def _on_close():
"""Dispose shared resources before closing the launcher."""
global db_app
if db_app is None:
return
try:
fut = asyncio.run_coroutine_threadsafe(db_app.dispose(), _loop)
try:
fut.result(timeout=2)
except Exception:
pass
finally:
db_app = None
def _destroy_tk_root(root: tk.Misc | None) -> None:
"""Destroy a hidden bootstrap root without leaking a Tk interpreter."""
if root is None:
return
try:
root.quit()
except Exception:
pass
try:
root.destroy()
except Exception:
pass
def _shutdown_runtime(*, bootstrap: tk.Misc | None = None, dispose_db: bool = True) -> None:
"""Release temporary Tk resources, DB client and background loop."""
try:
_destroy_tk_root(bootstrap)
finally:
if dispose_db:
_dispose_db_client()
try:
stop_global_loop()
except Exception:
pass
def _acquire_single_instance_mutex() -> bool:
"""Return ``True`` only for the first running instance of the application."""
global _APP_MUTEX
if not sys.platform.startswith("win"):
return True
kernel32 = ctypes.windll.kernel32
mutex = kernel32.CreateMutexW(None, False, _APP_MUTEX_NAME)
if not mutex:
return True
last_error = kernel32.GetLastError()
_APP_MUTEX = mutex
ERROR_ALREADY_EXISTS = 183
return last_error != ERROR_ALREADY_EXISTS
def _build_bypass_session() -> UserSession:
"""Create the development session used when authentication is bypassed."""
return create_user_session(
operator_id=int(BYPASS_LOGIN_USER["operator_id"]),
login=str(BYPASS_LOGIN_USER["login"]),
nominativo=str(BYPASS_LOGIN_USER["nominativo"]),
privilegio=int(BYPASS_LOGIN_USER["privilegio"]),
codice_unita=str(BYPASS_LOGIN_USER["codice_unita"]),
)
class Launcher(ctk.CTk):
"""Main launcher window that exposes the available warehouse tools."""
_WINDOW_ORDER = [
"reset_corsie",
"layout",
"multi_udc",
"search",
"storico_udc",
"pickinglist",
"storico_pickinglist",
]
def __init__(self, session: UserSession, db_client: AsyncMSSQLClient):
"""Create the launcher toolbar and wire every button to a feature window."""
super().__init__()
self.session: UserSession = session
self.db_client = db_client
self._theme = theme_section("launcher", {})
self._locale_catalog = load_locale_catalog()
self._tooltip_catalog = load_tooltip_catalog()
self._child_windows: list[tk.Misc] = []
self._child_windows_by_key: dict[str, tk.Misc] = {}
self._is_cascading = False
self._focus_restore_pending: set[str] = set()
self._restore_suppressed_until = 0.0
self._exit_icon = self._make_exit_icon(
color=str(theme_value(self._theme, "exit_icon_color", "#ca3d3d"))
)
self.title(
f"{loc_text('launcher.window_title', catalog=self._locale_catalog, default='Warehouse 1.0.0')} - {self.session.display_name}"
)
self._apply_dynamic_geometry()
outer_pady = int(theme_value(self._theme, "outer_pady", 10))
outer_padx = int(theme_value(self._theme, "outer_padx", 0))
info_padx = int(theme_value(self._theme, "info_padx", 6))
info_pady = theme_value(self._theme, "info_pady", [4, 2])
button_padx = int(theme_value(self._theme, "button_padx", 6))
button_pady = int(theme_value(self._theme, "button_pady", 6))
max_buttons_per_row = max(1, int(theme_value(self._theme, "max_buttons_per_row", 7)))
wrap = ctk.CTkFrame(self)
wrap.pack(padx=outer_padx, pady=outer_pady, fill="x")
actions = [
(
"reset_corsie",
loc_text("launcher.reset_corsie", catalog=self._locale_catalog, default="Gestione Corsie"),
"launcher.open_reset_corsie",
lambda: self._open_or_focus_child_window(
"reset_corsie",
lambda: open_reset_corsie_window(self, self.db_client, session=self.session),
),
),
(
"layout",
loc_text("launcher.layout", catalog=self._locale_catalog, default="Gestione Layout"),
"launcher.open_layout",
lambda: self._open_or_focus_child_window(
"layout",
lambda: open_layout_window(self, self.db_client, session=self.session),
),
),
(
"multi_udc",
loc_text("launcher.multi_udc", catalog=self._locale_catalog, default="UDC Fantasma"),
"launcher.open_multi_udc",
lambda: self._open_or_focus_child_window(
"multi_udc",
lambda: open_celle_multiple_window(self, self.db_client, session=self.session),
),
),
(
"search",
loc_text("launcher.search", catalog=self._locale_catalog, default="Ricerca UDC"),
"launcher.open_search",
lambda: self._open_or_focus_child_window(
"search",
lambda: open_search_window(self, self.db_client, session=self.session),
),
),
(
"storico_udc",
loc_text("launcher.history_udc", catalog=self._locale_catalog, default="Storico movimenti UDC"),
"launcher.open_history_udc",
lambda: self._open_or_focus_child_window(
"storico_udc",
lambda: open_storico_udc_window(self, self.db_client, session=self.session),
),
),
(
"pickinglist",
loc_text("launcher.pickinglist", catalog=self._locale_catalog, default="Gestione Picking List"),
"launcher.open_pickinglist",
lambda: self._open_or_focus_child_window(
"pickinglist",
lambda: open_pickinglist_window(self, self.db_client, session=self.session),
),
),
(
"storico_pickinglist",
loc_text("launcher.history_pickinglist", catalog=self._locale_catalog, default="Storico Picking List"),
"launcher.open_history_pickinglist",
lambda: self._open_or_focus_child_window(
"storico_pickinglist",
lambda: open_storico_pickinglist_window(self, self.db_client, session=self.session),
),
),
(
"arrange",
loc_text("launcher.arrange", catalog=self._locale_catalog, default="Ridisponi finestre"),
"launcher.arrange_windows",
self._cascade_open_windows,
),
(
"exit",
loc_text("launcher.exit", catalog=self._locale_catalog, default="Esci"),
"launcher.exit",
self._shutdown,
),
]
used_columns = max(1, min(len(actions), max_buttons_per_row))
info = ctk.CTkLabel(
wrap,
text=loc_text(
"launcher.operator",
catalog=self._locale_catalog,
default="Operatore: {display_name} ({login})",
).format(display_name=self.session.display_name, login=self.session.login),
anchor="w",
font=theme_font(self._theme, "info_font", default=("Segoe UI", 12, "bold")),
)
info.grid(row=0, column=0, columnspan=used_columns, padx=info_padx, pady=tuple(info_pady), sticky="ew")
for idx, (_key, label, permission, callback) in enumerate(actions):
row = 1 + (idx // max_buttons_per_row)
column = idx % max_buttons_per_row
text = label
button_options = {}
if _key == "exit":
row = 2
column = max_buttons_per_row - 1
text = label
button_options = {
"image": self._exit_icon,
"compound": "left",
}
button = ctk.CTkButton(
wrap,
text=text,
font=theme_font(self._theme, "button_font", default=("Segoe UI", 11, "bold")),
state="normal" if self.session.can(permission) else "disabled",
command=callback,
**button_options,
)
button.grid(row=row, column=column, padx=button_padx, pady=button_pady, sticky="ew")
tip = tooltip_text(permission, catalog=self._tooltip_catalog)
if tip:
WidgetToolTip(button, tip)
for i in range(max_buttons_per_row):
wrap.grid_columnconfigure(i, weight=1)
self.update_idletasks()
self._apply_dynamic_geometry()
self.protocol("WM_DELETE_WINDOW", self._shutdown)
try:
self.lift()
self.focus_force()
except Exception:
pass
def _make_exit_icon(self, *, color: str) -> tk.PhotoImage:
"""Create a small red X icon without adding image assets to the project."""
size = 14
image = tk.PhotoImage(width=size, height=size)
for offset in range(3, 11):
image.put(color, (offset, offset))
image.put(color, (offset + 1, offset))
image.put(color, (offset, size - 1 - offset))
image.put(color, (offset + 1, size - 1 - offset))
return image
def _apply_dynamic_geometry(self) -> None:
"""Size the launcher around its current content and keep it docked at the top."""
top_x = int(theme_value(self._theme, "window_top_x", 0))
top_y = int(theme_value(self._theme, "window_top_y", 0))
min_width = int(theme_value(self._theme, "window_min_width", 960))
target_width = int(theme_value(self._theme, "window_width", 1280))
requested_width = max(min_width, self.winfo_reqwidth())
width = max(min_width, target_width, requested_width)
height = max(80, self.winfo_reqheight())
self.geometry(f"{width}x{height}+{top_x}+{top_y}")
def _open_child_window(self, key: str, window: tk.Misc | None) -> None:
"""Track child windows opened from the launcher."""
if window is None:
return
self._child_windows = [w for w in self._child_windows if getattr(w, "winfo_exists", lambda: False)()]
if window not in self._child_windows:
self._child_windows.append(window)
self._child_windows_by_key = {
child_key: child
for child_key, child in self._child_windows_by_key.items()
if getattr(child, "winfo_exists", lambda: False)()
}
self._child_windows_by_key[key] = window
try:
window.bind(
"<Destroy>",
lambda event, win=window, win_key=key: self._forget_child_window(win_key, win, event.widget),
add="+",
)
except Exception:
pass
try:
window.bind(
"<Activate>",
lambda event, win=window, win_key=key: self._on_child_activate(win_key, win, event.widget),
add="+",
)
except Exception:
pass
try:
window.bind(
"<FocusIn>",
lambda event, win=window, win_key=key: self._on_child_activate(win_key, win, event.widget),
add="+",
)
except Exception:
pass
def _open_or_focus_child_window(self, key: str, factory) -> None:
"""Open one child per launcher key, or focus the existing window."""
self._child_windows_by_key = {
child_key: child
for child_key, child in self._child_windows_by_key.items()
if getattr(child, "winfo_exists", lambda: False)()
}
existing = self._child_windows_by_key.get(key)
if existing is not None and getattr(existing, "winfo_exists", lambda: False)():
try:
if hasattr(existing, "state") and existing.state() == "iconic":
existing.deiconify()
except Exception:
pass
try:
existing.lift()
existing.focus_force()
except Exception:
pass
try:
place_window_below_parent_later(self, existing)
except Exception:
pass
return
self._open_child_window(key, factory())
def _forget_child_window(self, key: str, window: tk.Misc, event_widget: tk.Misc | None = None) -> None:
"""Remove stale references to child windows that have been closed."""
if event_widget is not None and event_widget is not window:
return
try:
tracked = self._child_windows_by_key.get(key)
if tracked is window:
self._child_windows_by_key.pop(key, None)
except Exception:
pass
try:
self._child_windows = [w for w in self._child_windows if w is not window and getattr(w, "winfo_exists", lambda: False)()]
except Exception:
pass
def _widget_belongs_to_window(self, window: tk.Misc, widget: tk.Misc | None) -> bool:
"""Return True when an event widget is the toplevel itself or one of its descendants."""
if widget is None:
return True
if widget is window:
return True
try:
current = widget
while current is not None:
if current is window:
return True
parent_name = current.winfo_parent()
if not parent_name:
break
current = current.nametowidget(parent_name)
except Exception:
pass
return False
def _on_child_activate(self, key: str, window: tk.Misc, event_widget: tk.Misc | None = None) -> None:
"""Restore an activated child to the primary slot below the launcher."""
if self._is_cascading:
return
if time.monotonic() < self._restore_suppressed_until:
return
if event_widget is not None and event_widget is not window:
return
tracked = self._child_windows_by_key.get(key)
if tracked is not window or not getattr(window, "winfo_exists", lambda: False)():
return
if key in self._focus_restore_pending:
return
self._focus_restore_pending.add(key)
def _restore() -> None:
try:
tracked_now = self._child_windows_by_key.get(key)
if tracked_now is window and getattr(window, "winfo_exists", lambda: False)():
place_window_below_parent_later(self, window)
try:
window.lift()
except Exception:
pass
finally:
try:
self.after(250, lambda: self._focus_restore_pending.discard(key))
except Exception:
self._focus_restore_pending.discard(key)
try:
self.after(0, _restore)
except Exception:
self._focus_restore_pending.discard(key)
def _cascade_open_windows(self) -> None:
"""Cascade all open child windows following launcher button order."""
self._child_windows = [w for w in self._child_windows if getattr(w, "winfo_exists", lambda: False)()]
self._child_windows_by_key = {
key: window
for key, window in self._child_windows_by_key.items()
if getattr(window, "winfo_exists", lambda: False)()
}
ordered_windows = [
self._child_windows_by_key[key]
for key in self._WINDOW_ORDER
if key in self._child_windows_by_key
]
self._is_cascading = True
self._focus_restore_pending.clear()
self._restore_suppressed_until = time.monotonic() + 1.2
cascade_children_below_parent(
self,
ordered_windows,
x_offset_step=int(theme_value(self._theme, "cascade_x_offset", 28)),
y_offset_step=int(theme_value(self._theme, "cascade_y_offset", 28)),
margin_left=int(theme_value(self._theme, "cascade_margin_left", 0)),
margin_top=int(theme_value(self._theme, "cascade_margin_top", 0)),
)
def _finish_cascade() -> None:
self._is_cascading = False
self._restore_suppressed_until = 0.0
try:
self.lift()
self.focus_force()
except Exception:
pass
try:
self.after(250, _finish_cascade)
except Exception:
self._is_cascading = False
def _shutdown(self) -> None:
"""Dispose session and shared DB resources before closing the launcher."""
try:
if self.session is not None:
log_session_event(self.session, action="logout", outcome="ok")
if self.db_client is not None:
fut = asyncio.run_coroutine_threadsafe(self.db_client.dispose(), _loop)
try:
fut.result(timeout=2)
except Exception:
pass
finally:
self.destroy()
self.protocol("WM_DELETE_WINDOW", _on_close)
def run_app() -> int:
"""Run the backoffice application entry point."""
ctk.set_appearance_mode("light")
ctk.set_default_color_theme("green")
if not _acquire_single_instance_mutex():
root = tk.Tk()
root.withdraw()
messagebox.showwarning(
loc_text("launcher.already_running_title", default="Warehouse"),
loc_text(
"launcher.already_running_message",
default="L'applicazione e' gia' in esecuzione.\nChiudi l'istanza aperta prima di avviarne un'altra.",
),
parent=root,
)
_destroy_tk_root(root)
try:
stop_global_loop()
except Exception:
pass
return 0
db_cfg = ensure_db_config(_loop)
if db_cfg is None:
try:
stop_global_loop()
except Exception:
pass
return 0
db_app = AsyncMSSQLClient(build_dsn_from_config(db_cfg))
if BYPASS_LOGIN:
session = _build_bypass_session()
log_session_event(
session,
action="login.bypass",
outcome="ok",
details={"login": session.login},
)
bootstrap = None
else:
bootstrap = tk.Tk()
bootstrap.geometry("1x1+0+0")
bootstrap.overrideredirect(True)
bootstrap.attributes("-alpha", 0.0)
bootstrap.deiconify()
bootstrap.update_idletasks()
session = prompt_login(bootstrap, db_app)
if session is None:
_shutdown_runtime(bootstrap=bootstrap, dispose_db=True)
return 0
_destroy_tk_root(bootstrap)
try:
Launcher(session, db_app).mainloop()
finally:
_shutdown_runtime(bootstrap=None, dispose_db=True)
return 0
if __name__ == "__main__":
ctk.set_appearance_mode("light")
ctk.set_default_color_theme("green")
Launcher().mainloop()
raise SystemExit(run_with_fatal_log("Warehouse Backoffice", run_app))

View File

@@ -0,0 +1,343 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/* ============================================================
Patch prenotazione Picking List a livello documento
Obiettivo:
- rendere esclusiva la prenotazione di una sola picking list
- mantenere la stored con lo stesso nome:
dbo.sp_xExePackingListPallet
- introdurre una sorgente di verità per documento prenotato:
dbo.PickingListReservation
- far leggere XMag_ViewPackingList.IDStato da tale stato
e non più soltanto da Celle.IDStato
============================================================ */
IF OBJECT_ID(N'dbo.PickingListReservation', N'U') IS NULL
BEGIN
CREATE TABLE [dbo].[PickingListReservation](
[ID] [tinyint] NOT NULL,
[Documento] [varchar](8) NULL,
[IDOperatore] [int] NULL,
[ModUtente] [varchar](50) NULL,
[ModDataOra] [datetime] NULL,
CONSTRAINT [PK_PickingListReservation] PRIMARY KEY CLUSTERED ([ID] ASC),
CONSTRAINT [CK_PickingListReservation_Singleton] CHECK ([ID] = 1)
) ON [PRIMARY];
END
GO
IF NOT EXISTS (SELECT 1 FROM dbo.PickingListReservation WHERE ID = 1)
BEGIN
INSERT INTO dbo.PickingListReservation (ID, Documento, IDOperatore, ModUtente, ModDataOra)
VALUES (1, NULL, NULL, NULL, GETDATE());
END
GO
CREATE OR ALTER PROCEDURE [dbo].[sp_xExePackingListPallet]
@IDOperatore int,
@Documento varchar(8),
@Azione char(1) = 'P', -- 'P' = Prenota, 'S' = S-prenota
@RC int OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SET @RC = 0;
DECLARE @Nominativo varchar(50) = '';
DECLARE @DocumentoAttivo varchar(8) = NULL;
DECLARE @Description varchar(255) = '';
DECLARE @Message varchar(255) = '';
DECLARE @IDResult int = 0;
DECLARE @ID int = 0;
SELECT @Nominativo = [Login]
FROM dbo.Operatori
WHERE ID = @IDOperatore;
IF @Nominativo IS NULL
SET @Nominativo = 'SYSTEM';
IF @Azione NOT IN ('P', 'S')
BEGIN
SET @RC = -10;
RETURN;
END;
IF NOT EXISTS (
SELECT 1
FROM dbo.XMag_ViewPackingList
WHERE CAST(Documento AS varchar(8)) = @Documento
)
BEGIN
SET @RC = -20;
RETURN;
END;
IF NOT EXISTS (SELECT 1 FROM dbo.PickingListReservation WHERE ID = 1)
BEGIN
INSERT INTO dbo.PickingListReservation (ID, Documento, IDOperatore, ModUtente, ModDataOra)
VALUES (1, NULL, NULL, NULL, GETDATE());
END;
SELECT @DocumentoAttivo = NULLIF(LTRIM(RTRIM(Documento)), '')
FROM dbo.PickingListReservation
WHERE ID = 1;
DECLARE @TargetCelle TABLE (
IDCella int PRIMARY KEY
);
INSERT INTO @TargetCelle (IDCella)
SELECT DISTINCT Cella
FROM dbo.XMag_ViewPackingList
WHERE CAST(Documento AS varchar(8)) = @Documento
AND Cella IS NOT NULL;
IF @Azione = 'P'
BEGIN
IF @DocumentoAttivo = @Documento
RETURN;
UPDATE c
SET c.IDStato = 0,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
WHERE ISNULL(c.IDStato, 0) <> 0;
UPDATE c
SET c.IDStato = 1,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
INNER JOIN @TargetCelle t ON t.IDCella = c.ID;
UPDATE dbo.PickingListReservation
SET Documento = @Documento,
IDOperatore = @IDOperatore,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ID = 1;
SELECT TOP 1 @Description = NAZIONE
FROM dbo.XMag_ViewPackingList
WHERE CAST(Documento AS varchar(8)) = @Documento;
EXEC dbo.sp_LogPackingList
@ID = @ID,
@Code = @Documento,
@Description = @Description,
@Message = @Message OUTPUT,
@IDResult = @IDResult OUTPUT;
RETURN;
END;
IF @Azione = 'S'
BEGIN
IF ISNULL(@DocumentoAttivo, '') <> @Documento
RETURN;
UPDATE c
SET c.IDStato = 0,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
INNER JOIN @TargetCelle t ON t.IDCella = c.ID;
UPDATE dbo.PickingListReservation
SET Documento = NULL,
IDOperatore = @IDOperatore,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ID = 1;
RETURN;
END;
END;
GO
CREATE OR ALTER VIEW [dbo].[XMag_ViewPackingList]
AS
WITH Base AS (
SELECT
dbo.vPreparaPackingList.UDC AS Pallet,
dbo.vPreparaPackingList.NUMLOT AS Lotto,
dbo.vPreparaPackingList.CODICE AS Articolo,
dbo.vPreparaPackingList.DESCR AS Descrizione,
dbo.vPreparaPackingList.Qta,
dbo.vPreparaPackingList.NUMDOC AS Documento,
dbo.vPreparaPackingList.Expr1 AS CodNazione,
dbo.vPreparaPackingList.NAZIONE,
CASE
WHEN Expr1 = 'DE' THEN 10
WHEN Expr1 = 'TH' THEN CASE WHEN SUBSTRING(dbo.vPreparaPackingList.DESCRDEST, 1, 2) = 'NA' THEN 11 ELSE 13 END
WHEN Expr1 = 'MEX' THEN 12
ELSE 4
END AS Stato,
ISNULL(dbo.XMag_GiacenzaPallet.NumeroPallet, 0) AS PalletCella,
ISNULL(dbo.XMag_GiacenzaPallet.IDMagazzino, 1) AS Magazzino,
ISNULL(dbo.XMag_GiacenzaPallet.IDArea, 5) AS Area,
ISNULL(dbo.XMag_GiacenzaPallet.IDCella, 1000) AS Cella,
ISNULL(dbo.Celle.Ordinamento, 99999) AS Ordinamento,
ISNULL(dbo.Celle.Corsia + ' - ' + dbo.Celle.Colonna + ' - ' + dbo.Celle.Fila, 'Non scaff.') AS Ubicazione,
SUBSTRING(dbo.vPreparaPackingList.DESCRDEST, 1, 2) AS DEST
FROM dbo.Celle
INNER JOIN dbo.XMag_GiacenzaPallet
ON dbo.Celle.ID = dbo.XMag_GiacenzaPallet.IDCella
RIGHT OUTER JOIN dbo.vPreparaPackingList
ON dbo.XMag_GiacenzaPallet.BarcodePallet COLLATE SQL_Latin1_General_CP1_CI_AS = dbo.vPreparaPackingList.UDC
GROUP BY
dbo.vPreparaPackingList.Expr1,
dbo.vPreparaPackingList.NAZIONE,
dbo.vPreparaPackingList.UDC,
dbo.vPreparaPackingList.NUMDOC,
dbo.vPreparaPackingList.NUMLOT,
dbo.vPreparaPackingList.CODICE,
dbo.vPreparaPackingList.DESCR,
dbo.vPreparaPackingList.Qta,
dbo.XMag_GiacenzaPallet.NumeroPallet,
dbo.XMag_GiacenzaPallet.IDMagazzino,
dbo.XMag_GiacenzaPallet.IDArea,
dbo.XMag_GiacenzaPallet.IDCella,
dbo.Celle.Ordinamento,
dbo.Celle.Corsia,
dbo.Celle.Colonna,
dbo.Celle.Fila,
dbo.vPreparaPackingList.DESCRDEST
)
SELECT TOP 10000
Base.Pallet,
Base.Lotto,
Base.Articolo,
Base.Descrizione,
Base.Qta,
Base.Documento,
Base.CodNazione,
Base.NAZIONE,
Base.Stato,
Base.PalletCella,
Base.Magazzino,
Base.Area,
Base.Cella,
Base.Ordinamento,
Base.Ubicazione,
Base.DEST,
CASE
WHEN pr.Documento IS NOT NULL
AND pr.Documento = CAST(Base.Documento AS varchar(8))
THEN 1
ELSE 0
END AS IDStato
FROM Base
LEFT JOIN dbo.PickingListReservation pr
ON pr.ID = 1
AND NULLIF(LTRIM(RTRIM(pr.Documento)), '') IS NOT NULL
ORDER BY
CASE
WHEN pr.Documento IS NOT NULL
AND pr.Documento = CAST(Base.Documento AS varchar(8))
THEN 1
ELSE 0
END DESC,
Base.Documento,
Base.Ordinamento;
GO
CREATE OR ALTER PROCEDURE [dbo].[sp_xExePackingListPalletPrenota]
@IDOperatore int,
@Documento varchar(8),
@RC int OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SET @RC = 0;
DECLARE @Nominativo varchar(50) = '';
SELECT @Nominativo = LOGIN
FROM dbo.Operatori
WHERE ID = @IDOperatore;
IF @Nominativo IS NULL
SET @Nominativo = 'SYSTEM';
UPDATE c
SET c.IDStato = 1,
c.ModUtente = @Nominativo,
c.ModDataOra = GETDATE()
FROM dbo.Celle c
WHERE c.ID IN (
SELECT DISTINCT Cella
FROM dbo.ViewPackingListRestante
WHERE CAST(Documento AS varchar(8)) = @Documento
AND Cella IS NOT NULL
);
END;
GO
CREATE OR ALTER PROCEDURE [dbo].[sp_ControllaPrenotazionePackingListPalletNew]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Documento varchar(8) = NULL;
DECLARE @IDOperatore int = 0;
DECLARE @Nominativo varchar(50) = 'SYSTEM';
DECLARE @RC int = 0;
SELECT
@Documento = NULLIF(LTRIM(RTRIM(Documento)), ''),
@IDOperatore = ISNULL(IDOperatore, 0),
@Nominativo = ISNULL(NULLIF(LTRIM(RTRIM(ModUtente)), ''), 'SYSTEM')
FROM dbo.PickingListReservation
WHERE ID = 1;
IF ISNULL(@Documento, '') = ''
RETURN;
IF NOT EXISTS (
SELECT 1
FROM dbo.ViewPackingListRestante
WHERE CAST(Documento AS varchar(8)) = @Documento
)
BEGIN
UPDATE dbo.Celle
SET IDStato = 0,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ISNULL(IDStato, 0) <> 0;
UPDATE dbo.PickingListReservation
SET Documento = NULL,
IDOperatore = @IDOperatore,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ID = 1;
RETURN;
END;
UPDATE dbo.Celle
SET IDStato = 0,
ModUtente = @Nominativo,
ModDataOra = GETDATE()
WHERE ISNULL(IDStato, 0) <> 0;
IF @IDOperatore <= 0
BEGIN
SELECT TOP 1 @IDOperatore = ID
FROM dbo.Operatori
WHERE LOGIN = @Nominativo;
END;
EXEC dbo.sp_xExePackingListPalletPrenota
@IDOperatore = @IDOperatore,
@Documento = @Documento,
@RC = @RC OUTPUT;
END;
GO

35
prenota-sprenota.csv Normal file
View File

@@ -0,0 +1,35 @@
NULL;0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65528;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;2025-10-09 10:22:49.633;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65534;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;68;NULL;2025-10-09 10:22:36.277;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;NULL;2025-10-09 10:22:36.920;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3908;.Net SqlClient Data Provider;MAG2;99;NULL;2025-10-09 10:22:42.777;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3908;.Net SqlClient Data Provider;MAG2;110;NULL;2025-10-09 10:22:42.077;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;18233000;2025-10-09 10:22:36.920;2025-10-09 10:22:55.153;381449;1;688;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;103;2025-10-09 10:22:55.153;2025-10-09 10:22:55.153;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;NULL;2025-10-09 10:22:55.153;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xExePackingListPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074007800000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D00650030000000730070005F0078004500780065005000610063006B0069006E0067004C00690073007400500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;1496;2025-10-09 10:22:55.153;2025-10-09 10:22:55.153;47;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;3000;2025-10-09 10:22:55.153;2025-10-09 10:22:55.157;381496;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;61;2025-10-09 10:22:55.157;2025-10-09 10:22:55.157;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;NULL;2025-10-09 10:22:55.153;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM [Mediseawall].[dbo].Operatori WHERE login = 'magazzino';NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;NULL;2025-10-09 10:22:55.157;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM [Mediseawall].[dbo].Operatori WHERE login = 'magazzino';NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;195;2025-10-09 10:22:55.157;2025-10-09 10:22:55.157;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;3000;2025-10-09 10:22:55.153;2025-10-09 10:22:55.157;381500;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;49;2025-10-09 10:22:55.157;2025-10-09 10:22:55.157;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;NULL;2025-10-09 10:22:55.153;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p3 int set @p3=0 exec sp_xExePackingListPallet @IDOperatore=6,@Documento='241',@RC=@p3 output select @p3;0x00000000040000003000730070005F0078004500780065005000610063006B0069006E0067004C00690073007400500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500060000003B00000081001400A73076006100720063006800610072002800380029001400400044006F00630075006D0065006E0074006F00030000003234311C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;1335697;2025-10-09 10:22:55.157;2025-10-09 10:22:56.493;74756;0;1328;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;1330000;2025-10-09 10:22:55.153;2025-10-09 10:22:56.483;456256;1;1328;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;25;2025-10-09 10:22:56.483;2025-10-09 10:22:56.483;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;NULL;2025-10-09 10:22:56.497;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
" SELECT COUNT(DISTINCT Pallet) AS Pallet, COUNT(DISTINCT Lotto) AS Lotto, COUNT(DISTINCT Articolo) AS Articolo, COUNT(DISTINCT Descrizione) AS Descrizione, SUM(Qta) AS Qta, Documento, CodNazione, NAZIONE, Stato, MAX(PalletCella) AS PalletCella, MAX(Magazzino) AS Magazzino, MAX(Area) AS Area, MAX(Cella) AS Cella, MIN(Ordinamento) AS Ordinamento, MAX(IDStato) AS IDStato FROM dbo.XMag_ViewPackingList GROUP BY Documento, CodNazione, NAZIONE, Stato ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;NULL;2025-10-09 10:22:56.487;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
" SELECT COUNT(DISTINCT Pallet) AS Pallet, COUNT(DISTINCT Lotto) AS Lotto, COUNT(DISTINCT Articolo) AS Articolo, COUNT(DISTINCT Descrizione) AS Descrizione, SUM(Qta) AS Qta, Documento, CodNazione, NAZIONE, Stato, MAX(PalletCella) AS PalletCella, MAX(Magazzino) AS Magazzino, MAX(Area) AS Area, MAX(Cella) AS Cella, MIN(Ordinamento) AS Ordinamento, MAX(IDStato) AS IDStato FROM dbo.XMag_ViewPackingList GROUP BY Documento, CodNazione, NAZIONE, Stato ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;703451;2025-10-09 10:22:56.487;2025-10-09 10:22:57.190;37506;0;703;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;68;20914000;2025-10-09 10:22:36.277;2025-10-09 10:22:57.190;266027;7;640;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;68;91;2025-10-09 10:22:57.190;2025-10-09 10:22:57.190;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;68;NULL;2025-10-09 10:22:57.200;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewPackingListRestante WHERE Documento = 237 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;68;NULL;2025-10-09 10:22:57.190;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewPackingListRestante WHERE Documento = 237 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;68;646262;2025-10-09 10:22:57.190;2025-10-09 10:22:57.837;37056;0;641;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;1344000;2025-10-09 10:22:56.497;2025-10-09 10:22:57.840;493762;1;703;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;38;2025-10-09 10:22:57.840;2025-10-09 10:22:57.840;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;NULL;2025-10-09 10:22:57.840;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewPackingListRestante WHERE Documento = 241 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;NULL;2025-10-09 10:22:57.840;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT * FROM vViewPackingListRestante WHERE Documento = 241 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;3432;.Net SqlClient Data Provider;magazzino;97;652370;2025-10-09 10:22:57.840;2025-10-09 10:22:58.493;37056;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;2025-10-09 10:23:20.287;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65533;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
1 NULL 0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65528 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
2 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2025-10-09 10:22:49.633 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65534 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
3 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 68 NULL 2025-10-09 10:22:36.277 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
4 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 NULL 2025-10-09 10:22:36.920 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
5 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 3908 .Net SqlClient Data Provider MAG2 99 NULL 2025-10-09 10:22:42.777 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
6 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 3908 .Net SqlClient Data Provider MAG2 110 NULL 2025-10-09 10:22:42.077 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
7 NULL NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 18233000 2025-10-09 10:22:36.920 2025-10-09 10:22:55.153 381449 1 688 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
8 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 103 2025-10-09 10:22:55.153 2025-10-09 10:22:55.153 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
9 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 NULL 2025-10-09 10:22:55.153 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
10 exec sp_procedure_params_rowset @procedure_name=N'sp_xExePackingListPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074007800000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D00650030000000730070005F0078004500780065005000610063006B0069006E0067004C00690073007400500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 1496 2025-10-09 10:22:55.153 2025-10-09 10:22:55.153 47 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
11 NULL NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 3000 2025-10-09 10:22:55.153 2025-10-09 10:22:55.157 381496 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
12 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 61 2025-10-09 10:22:55.157 2025-10-09 10:22:55.157 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
13 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 NULL 2025-10-09 10:22:55.153 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
14 SELECT ID, Privilegio, Nominativo FROM [Mediseawall].[dbo].Operatori WHERE login = 'magazzino' NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 NULL 2025-10-09 10:22:55.157 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
15 SELECT ID, Privilegio, Nominativo FROM [Mediseawall].[dbo].Operatori WHERE login = 'magazzino' NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 195 2025-10-09 10:22:55.157 2025-10-09 10:22:55.157 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
16 NULL NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 3000 2025-10-09 10:22:55.153 2025-10-09 10:22:55.157 381500 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
17 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 49 2025-10-09 10:22:55.157 2025-10-09 10:22:55.157 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
18 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 NULL 2025-10-09 10:22:55.153 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
19 declare @p3 int set @p3=0 exec sp_xExePackingListPallet @IDOperatore=6,@Documento='241',@RC=@p3 output select @p3 0x00000000040000003000730070005F0078004500780065005000610063006B0069006E0067004C00690073007400500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500060000003B00000081001400A73076006100720063006800610072002800380029001400400044006F00630075006D0065006E0074006F00030000003234311C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 1335697 2025-10-09 10:22:55.157 2025-10-09 10:22:56.493 74756 0 1328 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
20 NULL NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 1330000 2025-10-09 10:22:55.153 2025-10-09 10:22:56.483 456256 1 1328 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
21 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 25 2025-10-09 10:22:56.483 2025-10-09 10:22:56.483 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
22 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 NULL 2025-10-09 10:22:56.497 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
23 SELECT COUNT(DISTINCT Pallet) AS Pallet, COUNT(DISTINCT Lotto) AS Lotto, COUNT(DISTINCT Articolo) AS Articolo, COUNT(DISTINCT Descrizione) AS Descrizione, SUM(Qta) AS Qta, Documento, CodNazione, NAZIONE, Stato, MAX(PalletCella) AS PalletCella, MAX(Magazzino) AS Magazzino, MAX(Area) AS Area, MAX(Cella) AS Cella, MIN(Ordinamento) AS Ordinamento, MAX(IDStato) AS IDStato FROM dbo.XMag_ViewPackingList GROUP BY Documento, CodNazione, NAZIONE, Stato NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 NULL 2025-10-09 10:22:56.487 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
24 SELECT COUNT(DISTINCT Pallet) AS Pallet, COUNT(DISTINCT Lotto) AS Lotto, COUNT(DISTINCT Articolo) AS Articolo, COUNT(DISTINCT Descrizione) AS Descrizione, SUM(Qta) AS Qta, Documento, CodNazione, NAZIONE, Stato, MAX(PalletCella) AS PalletCella, MAX(Magazzino) AS Magazzino, MAX(Area) AS Area, MAX(Cella) AS Cella, MIN(Ordinamento) AS Ordinamento, MAX(IDStato) AS IDStato FROM dbo.XMag_ViewPackingList GROUP BY Documento, CodNazione, NAZIONE, Stato NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 703451 2025-10-09 10:22:56.487 2025-10-09 10:22:57.190 37506 0 703 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
25 NULL NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 68 20914000 2025-10-09 10:22:36.277 2025-10-09 10:22:57.190 266027 7 640 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
26 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 68 91 2025-10-09 10:22:57.190 2025-10-09 10:22:57.190 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
27 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 68 NULL 2025-10-09 10:22:57.200 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
28 SELECT * FROM vViewPackingListRestante WHERE Documento = 237 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 68 NULL 2025-10-09 10:22:57.190 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
29 SELECT * FROM vViewPackingListRestante WHERE Documento = 237 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 68 646262 2025-10-09 10:22:57.190 2025-10-09 10:22:57.837 37056 0 641 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
30 NULL NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 1344000 2025-10-09 10:22:56.497 2025-10-09 10:22:57.840 493762 1 703 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
31 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 38 2025-10-09 10:22:57.840 2025-10-09 10:22:57.840 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
32 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 NULL 2025-10-09 10:22:57.840 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
33 SELECT * FROM vViewPackingListRestante WHERE Documento = 241 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 NULL 2025-10-09 10:22:57.840 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
34 SELECT * FROM vViewPackingListRestante WHERE Documento = 241 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 3432 .Net SqlClient Data Provider magazzino 97 652370 2025-10-09 10:22:57.840 2025-10-09 10:22:58.493 37056 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
35 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2025-10-09 10:23:20.287 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65533 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL

View File

@@ -2,9 +2,150 @@
from __future__ import annotations
import json
import logging
import sys
from dataclasses import dataclass
from functools import wraps
from pathlib import Path
from typing import Any, Dict, List, Optional
try:
from loguru import logger
except Exception: # pragma: no cover - safety fallback if dependency is missing locally
class _FallbackLogger:
"""Minimal adapter used only when Loguru is not installed yet."""
def __init__(self):
self._logger = logging.getLogger(MODULE_LOG_NAME if "MODULE_LOG_NAME" in globals() else __name__)
self._logger.setLevel(logging.DEBUG)
self._logger.propagate = False
def bind(self, **_kwargs):
return self
def add(self, sink, level="INFO", format=None, encoding="utf-8", **_kwargs):
handler: logging.Handler
if hasattr(sink, "write"):
handler = logging.StreamHandler(sink)
else:
handler = logging.FileHandler(str(sink), encoding=encoding)
handler.setLevel(getattr(logging, str(level).upper(), logging.INFO))
handler.setFormatter(
logging.Formatter("%(asctime)s | %(levelname)-8s | %(name)s | %(message)s")
)
self._logger.addHandler(handler)
return 0
def log(self, level, message):
getattr(self._logger, str(level).lower(), self._logger.info)(message)
def debug(self, message):
self._logger.debug(message)
def info(self, message):
self._logger.info(message)
def exception(self, message):
self._logger.exception(message)
logger = _FallbackLogger()
PACKINGLIST_SP_LOG_MODE = "INFO" # "OFF" | "INFO" | "DEBUG"
MODULE_LOG_NAME = Path(__file__).stem
MODULE_LOG_PATH = Path(__file__).with_suffix(".log")
_MODULE_LOG_ENABLED = PACKINGLIST_SP_LOG_MODE.upper() != "OFF"
_MODULE_LOG_LEVEL = "DEBUG" if PACKINGLIST_SP_LOG_MODE.upper() == "DEBUG" else "INFO"
_MODULE_LOGGER = logger.bind(warehouse_module=MODULE_LOG_NAME)
_MODULE_LOGGING_CONFIGURED = False
def _configure_module_logger():
"""Configure console and file logging for this module."""
global _MODULE_LOGGING_CONFIGURED
if _MODULE_LOGGING_CONFIGURED:
return
if not _MODULE_LOG_ENABLED:
_MODULE_LOGGING_CONFIGURED = True
return
record_filter = lambda record: record["extra"].get("warehouse_module") == MODULE_LOG_NAME
logger.add(
sys.stderr,
level=_MODULE_LOG_LEVEL,
colorize=True,
filter=record_filter,
format=(
"<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | "
"<level>{level: <8}</level> | "
"<cyan>" + MODULE_LOG_NAME + "</cyan> | "
"<level>{message}</level>"
),
)
logger.add(
MODULE_LOG_PATH,
level=_MODULE_LOG_LEVEL,
colorize=False,
encoding="utf-8",
filter=record_filter,
format="{time:YYYY-MM-DD HH:mm:ss.SSS} | {level: <8} | " + MODULE_LOG_NAME + " | {message}",
)
_MODULE_LOGGING_CONFIGURED = True
def _format_payload(payload: Any) -> str:
"""Serialize payloads for human-readable logging."""
try:
return json.dumps(payload, ensure_ascii=False, indent=2, default=str)
except Exception:
return repr(payload)
def _log_call(level: Optional[str] = None):
"""Trace entry, exit and failure of selected procedure helpers."""
def decorator(func):
@wraps(func)
async def wrapper(*args, **kwargs):
effective_level = level or _MODULE_LOG_LEVEL
_MODULE_LOGGER.log(
effective_level,
f"CALL {func.__qualname__} args={_format_payload(args[1:] if len(args) > 1 else ())} kwargs={_format_payload(kwargs)}",
)
try:
result = await func(*args, **kwargs)
except Exception:
_MODULE_LOGGER.exception(f"FAIL {func.__qualname__}")
raise
_MODULE_LOGGER.log(effective_level, f"RETURN {func.__qualname__}")
return result
return wrapper
return decorator
def _log_sql(query_name: str, sql: str, params: Dict[str, Any]):
"""Log one SQL statement and its parameters."""
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"SQL {query_name} params={_format_payload(params)}")
_MODULE_LOGGER.debug(f"SQL {query_name} text:\n{sql.strip()}")
def _log_dataset(query_name: str, rows: Any):
"""Log query results at summary or full-debug level depending on the mode."""
if isinstance(rows, list):
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"SQL {query_name} returned {len(rows)} rows")
if PACKINGLIST_SP_LOG_MODE.upper() == "DEBUG":
_MODULE_LOGGER.debug(f"SQL {query_name} dataset:\n{_format_payload(rows)}")
else:
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"SQL {query_name} scalar={_format_payload(rows)}")
_configure_module_logger()
if _MODULE_LOG_ENABLED:
_MODULE_LOGGER.info(
f"Logging inizializzato su {MODULE_LOG_PATH.name} livello={_MODULE_LOG_LEVEL} mode={PACKINGLIST_SP_LOG_MODE.upper()}"
)
@dataclass
class SPResult:
@@ -15,14 +156,18 @@ class SPResult:
id_result: Optional[int] = None
@_log_call("DEBUG")
async def _query_one_value(db, sql: str, params: Dict[str, Any]) -> Optional[Any]:
"""Return the first column of the first row from a query result."""
_log_sql("_query_one_value", sql, params)
if hasattr(db, "query_json"):
res = await db.query_json(sql, params)
if isinstance(res, list) and res:
row0 = res[0]
if isinstance(row0, dict):
return next(iter(row0.values()), None)
value = next(iter(row0.values()), None)
_log_dataset("_query_one_value", value)
return value
elif isinstance(res, dict):
rows = None
for key in ("rows", "data", "result", "records"):
@@ -32,139 +177,126 @@ async def _query_one_value(db, sql: str, params: Dict[str, Any]) -> Optional[Any
if rows:
row0 = rows[0]
if isinstance(row0, dict):
return next(iter(row0.values()), None)
value = next(iter(row0.values()), None)
_log_dataset("_query_one_value", value)
return value
if isinstance(row0, (list, tuple)) and row0:
return row0[0]
value = row0[0]
_log_dataset("_query_one_value", value)
return value
_log_dataset("_query_one_value", None)
return None
if hasattr(db, "query_value"):
return await db.query_value(sql, params)
value = await db.query_value(sql, params)
_log_dataset("_query_one_value", value)
return value
if hasattr(db, "scalar"):
return await db.scalar(sql, params)
value = await db.scalar(sql, params)
_log_dataset("_query_one_value", value)
return value
raise RuntimeError("Il client DB non espone query_json/query_value/scalar")
@_log_call("DEBUG")
async def _query_all(db, sql: str, params: Dict[str, Any]) -> List[Dict[str, Any]]:
"""Return all rows as dictionaries, normalizing different DB client APIs."""
_log_sql("_query_all", sql, params)
if hasattr(db, "query_json"):
res = await db.query_json(sql, params)
if res is None:
_log_dataset("_query_all", [])
return []
if isinstance(res, list):
return res if res and isinstance(res[0], dict) else []
rows = res if res and isinstance(res[0], dict) else []
_log_dataset("_query_all", rows)
return rows
if isinstance(res, dict):
for key in ("rows", "data", "result", "records"):
if key in res and isinstance(res[key], list):
rows = res[key]
if rows and isinstance(rows[0], dict):
_log_dataset("_query_all", rows)
return rows
cols = res.get("columns") or res.get("cols") or []
out = []
for row in rows:
if isinstance(row, (list, tuple)) and cols:
out.append({(cols[i] if i < len(cols) else f"c{i}"): row[i] for i in range(min(len(cols), len(row)))})
_log_dataset("_query_all", out)
return out
_log_dataset("_query_all", [])
return []
if hasattr(db, "fetch_all"):
return await db.fetch_all(sql, params)
rows = await db.fetch_all(sql, params)
_log_dataset("_query_all", rows)
return rows
raise RuntimeError("Il client DB non espone query_json/fetch_all")
@_log_call("DEBUG")
async def _execute(db, sql: str, params: Dict[str, Any]) -> int:
"""Execute a DML statement using the best method exposed by the DB client."""
_log_sql("_execute", sql, params)
for name in ("execute", "exec", "execute_non_query"):
if hasattr(db, name):
rc = await getattr(db, name)(sql, params)
if isinstance(rc, int):
_log_dataset("_execute", rc)
return rc
_log_dataset("_execute", 0)
return 0
if hasattr(db, "query_json"):
await db.query_json(sql, params)
_log_dataset("_execute", 0)
return 0
raise RuntimeError("Il client DB non espone metodi di esecuzione DML noti")
async def sp_xExePackingListPallet_async(db, IDOperatore: int, Documento: str) -> SPResult:
"""Toggle the reservation state of all cells belonging to a packing list.
The implementation mirrors the original SQL stored procedure while using
the shared async DB client already managed by the application.
"""
@_log_call()
async def sp_xExePackingListPallet_async(db, IDOperatore: int, Documento: str, Azione: str = "P") -> SPResult:
"""Execute the Python-specific picking-list reservation stored procedure."""
try:
nominativo = await _query_one_value(
db,
"SELECT LOGIN FROM Operatori WHERE id = :IDOperatore",
{"IDOperatore": IDOperatore},
) or ""
azione = str(Azione or "P").strip().upper()
if azione not in ("P", "S"):
return SPResult(rc=-10, message=f"Azione non valida: {Azione}", id_result=None)
_MODULE_LOGGER.log(
_MODULE_LOG_LEVEL,
f"Procedura packing list via stored procedure documento={Documento} azione={azione} id_operatore={IDOperatore}",
)
sql = """
SET NOCOUNT ON;
DECLARE @RC int = 0;
celle = await _query_all(
db,
"""
SELECT DISTINCT Cella
FROM dbo.XMag_ViewPackingList
WHERE Documento = :Documento
""",
{"Documento": Documento},
)
id_celle = [row.get("Cella") for row in celle if "Cella" in row]
EXEC dbo.py_sp_xExePackingListPallet
@IDOperatore = :IDOperatore,
@Documento = :Documento,
@Azione = :Azione,
@RC = @RC OUTPUT;
# Each cell is toggled individually because the original procedure also
# updates metadata such as operator and timestamp per row.
for id_cella in id_celle:
if id_cella is None:
continue
stato = await _query_one_value(
db,
"SELECT IDStato FROM Celle WHERE ID = :IDC",
{"IDC": id_cella},
)
if stato == 0:
await _execute(
db,
SELECT CAST(@RC AS int) AS RC;
"""
UPDATE Celle
SET IDStato = 1,
ModUtente = :N,
ModDataOra = GETDATE()
WHERE ID = :IDC
""",
{"N": nominativo, "IDC": id_cella},
_log_sql("py_sp_xExePackingListPallet", sql, {"IDOperatore": IDOperatore, "Documento": Documento, "Azione": azione})
if not hasattr(db, "query_json"):
raise RuntimeError("Il client DB non espone query_json necessario per eseguire la stored procedure.")
res = await db.query_json(
sql,
{"IDOperatore": IDOperatore, "Documento": Documento, "Azione": azione},
as_dict_rows=True,
commit=True,
)
else:
await _execute(
db,
"""
UPDATE Celle
SET IDStato = 0,
ModUtente = :N,
ModDataOra = GETDATE()
WHERE ID = :IDC
""",
{"N": nominativo, "IDC": id_cella},
)
description = await _query_one_value(
db,
"""
SELECT TOP 1 NAZIONE
FROM dbo.XMag_ViewPackingList
WHERE Documento = :Documento
GROUP BY Documento, NAZIONE
ORDER BY NAZIONE
""",
{"Documento": Documento},
)
await _execute(
db,
"""
INSERT INTO dbo.LogPackingList (Code, Description, IDInsUser, InsDateTime)
VALUES (:Code, :Descr, :IDInsUser, GETDATE());
""",
{"Code": Documento, "Descr": description, "IDInsUser": IDOperatore},
)
new_id = await _query_one_value(db, "SELECT SCOPE_IDENTITY() AS ID", {})
return SPResult(rc=0, message="", id_result=int(new_id) if new_id is not None else None)
rows = []
if isinstance(res, dict):
rows = res.get("rows", []) or []
_log_dataset("py_sp_xExePackingListPallet", rows)
rc = 0
if rows and isinstance(rows[0], dict):
try:
rc = int(rows[0].get("RC") or 0)
except Exception:
rc = 0
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"Stored procedure completata documento={Documento} azione={azione} rc={rc}")
return SPResult(rc=rc, message="", id_result=None)
except Exception as exc:
_MODULE_LOGGER.exception(f"Procedura fallita documento={Documento} azione={Azione}: {exc}")
return SPResult(rc=-1, message=str(exc), id_result=None)

View File

@@ -5,6 +5,8 @@ requires-python = ">=3.12"
dependencies = [
"sqlalchemy[asyncio]>=2.0",
"aioodbc>=0.3.3",
"loguru>=0.7",
"tksheet>=7.5",
# "orjson>=3.9" # opzionale: il tuo codice fa fallback su json puro
]

8
requirements.txt Normal file
View File

@@ -0,0 +1,8 @@
aioodbc==0.5.0
customtkinter==5.2.2
loguru
openpyxl==3.1.5
orjson
pyodbc==5.3.0
SQLAlchemy==2.0.49
tksheet==7.6.0

View File

@@ -1,16 +1,167 @@
"""Window used to inspect and empty an entire warehouse aisle.
"""Window used to inspect and logically empty an entire warehouse aisle.
The module exposes a destructive maintenance tool: it summarizes the occupancy
state of a selected aisle and, after explicit confirmation, deletes matching
rows from ``MagazziniPallet``.
The tool summarizes the current occupancy of one aisle and, after explicit
confirmation, unloads every active UDC through the same logical movement
semantics used by the rest of the WMS.
"""
from __future__ import annotations
import json
import logging
import sys
import tkinter as tk
from functools import wraps
from pathlib import Path
from tkinter import messagebox, simpledialog, ttk
from typing import Any
import customtkinter as ctk
from gestione_aree_frame_async import AsyncRunner, BusyOverlay
from busy_overlay import InlineBusyOverlay
from gestione_aree import AsyncRunner
from gestione_scarico import move_pallet_async
from locale_text import load_locale_catalog, text as loc_text
from tooltips import WidgetToolTip, load_tooltip_catalog, tooltip_text
from ui_theme import theme_color, theme_font, theme_padding, theme_section, theme_value
from window_placement import place_window_fullsize_below_parent_later
try:
from loguru import logger
except Exception: # pragma: no cover - fallback used only when Loguru is not available
class _FallbackLogger:
"""Minimal adapter used only when Loguru is not installed yet."""
def __init__(self):
self._logger = logging.getLogger(MODULE_LOG_NAME if "MODULE_LOG_NAME" in globals() else __name__)
self._logger.setLevel(logging.DEBUG)
self._logger.propagate = False
def bind(self, **_kwargs):
return self
def add(self, sink, level="INFO", format=None, encoding="utf-8", **_kwargs):
handler: logging.Handler
if hasattr(sink, "write"):
handler = logging.StreamHandler(sink)
else:
handler = logging.FileHandler(str(sink), encoding=encoding)
handler.setLevel(getattr(logging, str(level).upper(), logging.INFO))
handler.setFormatter(
logging.Formatter("%(asctime)s | %(levelname)-8s | %(name)s | %(message)s")
)
self._logger.addHandler(handler)
return 0
def log(self, level, message):
getattr(self._logger, str(level).lower(), self._logger.info)(message)
def debug(self, message):
self._logger.debug(message)
def info(self, message):
self._logger.info(message)
def exception(self, message):
self._logger.exception(message)
logger = _FallbackLogger()
RESET_CORSIE_LOG_MODE = "INFO" # "OFF" | "INFO" | "DEBUG"
MODULE_LOG_NAME = Path(__file__).stem
MODULE_LOG_PATH = Path(__file__).with_suffix(".log")
_MODULE_LOG_ENABLED = RESET_CORSIE_LOG_MODE.upper() != "OFF"
_MODULE_LOG_LEVEL = "DEBUG" if RESET_CORSIE_LOG_MODE.upper() == "DEBUG" else "INFO"
_MODULE_LOGGER = logger.bind(warehouse_module=MODULE_LOG_NAME)
_MODULE_LOGGING_CONFIGURED = False
def _configure_module_logger():
"""Configure console and file logging for this module."""
global _MODULE_LOGGING_CONFIGURED
if _MODULE_LOGGING_CONFIGURED:
return
if not _MODULE_LOG_ENABLED:
_MODULE_LOGGING_CONFIGURED = True
return
record_filter = lambda record: record["extra"].get("warehouse_module") == MODULE_LOG_NAME
logger.add(
sys.stderr,
level=_MODULE_LOG_LEVEL,
colorize=True,
filter=record_filter,
format=(
"<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | "
"<level>{level: <8}</level> | "
"<cyan>" + MODULE_LOG_NAME + "</cyan> | "
"<level>{message}</level>"
),
)
logger.add(
MODULE_LOG_PATH,
level=_MODULE_LOG_LEVEL,
colorize=False,
encoding="utf-8",
filter=record_filter,
format="{time:YYYY-MM-DD HH:mm:ss.SSS} | {level: <8} | " + MODULE_LOG_NAME + " | {message}",
)
_MODULE_LOGGING_CONFIGURED = True
def _format_payload(payload: Any) -> str:
"""Serialize payloads for human-readable logging."""
try:
return json.dumps(payload, ensure_ascii=False, indent=2, default=str)
except Exception:
return repr(payload)
def _log_call(level: str | None = None):
"""Trace entry, exit and failure of selected high-level functions."""
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
effective_level = level or _MODULE_LOG_LEVEL
_MODULE_LOGGER.log(
effective_level,
f"CALL {func.__qualname__} args={_format_payload(args[1:] if args else ())} kwargs={_format_payload(kwargs)}",
)
try:
result = func(*args, **kwargs)
except Exception:
_MODULE_LOGGER.exception(f"FAIL {func.__qualname__}")
raise
_MODULE_LOGGER.log(effective_level, f"RETURN {func.__qualname__}")
return result
return wrapper
return decorator
def _log_sql(query_name: str, sql: str, params: dict[str, Any] | None = None):
"""Log one SQL statement and its parameters."""
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"SQL {query_name} params={_format_payload(params or {})}")
_MODULE_LOGGER.debug(f"SQL {query_name} text:\n{sql.strip()}")
def _log_dataset(query_name: str, rows: list[Any]):
"""Log query results at summary or full-debug level depending on the flag."""
_MODULE_LOGGER.log(_MODULE_LOG_LEVEL, f"SQL {query_name} returned {len(rows)} rows")
if RESET_CORSIE_LOG_MODE.upper() == "DEBUG":
_MODULE_LOGGER.debug(f"SQL {query_name} dataset:\n{_format_payload(rows)}")
_configure_module_logger()
if _MODULE_LOG_ENABLED:
_MODULE_LOGGER.info(
f"Logging inizializzato su {MODULE_LOG_PATH.name} livello={_MODULE_LOG_LEVEL} mode={RESET_CORSIE_LOG_MODE.upper()}"
)
SQL_CORSIE = """
WITH C AS (
@@ -76,59 +227,192 @@ WHERE COALESCE(s.n,0) > 0
ORDER BY TRY_CONVERT(int,c.Colonna), c.Colonna, TRY_CONVERT(int,c.Fila), c.Fila;
"""
SQL_COUNT_DELETE = """
SELECT COUNT(*) AS RowsToDelete
FROM dbo.MagazziniPallet mp
JOIN dbo.Celle c ON c.ID = mp.IDCella
WHERE c.ID <> 9999 AND LTRIM(RTRIM(c.Corsia)) = :corsia;
SQL_COUNT_RESET = """
SELECT
COUNT(DISTINCT g.BarcodePallet) AS TotUDC,
COUNT(DISTINCT g.IDCella) AS TotCelle
FROM dbo.XMag_GiacenzaPallet g
JOIN dbo.Celle c ON c.ID = g.IDCella
WHERE c.ID <> 9999
AND LTRIM(RTRIM(c.Corsia)) = :corsia;
"""
SQL_DELETE = """
DELETE mp
FROM dbo.MagazziniPallet mp
JOIN dbo.Celle c ON c.ID = mp.IDCella
WHERE c.ID <> 9999 AND LTRIM(RTRIM(c.Corsia)) = :corsia;
SQL_UDC_RESET = """
WITH U AS (
SELECT DISTINCT
g.BarcodePallet AS BarcodePallet,
g.IDCella AS IDCella,
CONCAT(LTRIM(RTRIM(c.Corsia)), '.', LTRIM(RTRIM(c.Colonna)), '.', LTRIM(RTRIM(c.Fila))) AS Ubicazione,
TRY_CONVERT(int, c.Colonna) AS SortColNum,
LTRIM(RTRIM(c.Colonna)) AS SortColTxt,
TRY_CONVERT(int, c.Fila) AS SortFilaNum,
LTRIM(RTRIM(c.Fila)) AS SortFilaTxt
FROM dbo.XMag_GiacenzaPallet g
JOIN dbo.Celle c ON c.ID = g.IDCella
WHERE c.ID <> 9999
AND LTRIM(RTRIM(c.Corsia)) = :corsia
)
SELECT
BarcodePallet,
IDCella,
Ubicazione
FROM U
ORDER BY
SortColNum,
SortColTxt,
SortFilaNum,
SortFilaTxt,
BarcodePallet;
"""
class ResetCorsieWindow(ctk.CTkToplevel):
"""Toplevel used to inspect and clear the pallets assigned to an aisle."""
def __init__(self, parent, db_client):
@_log_call()
def __init__(self, parent, db_client, session=None):
"""Create the window and immediately load the list of aisles."""
super().__init__(parent)
self.title("Reset Corsie - svuotamento celle per corsia")
self.geometry("1000x680")
self.minsize(880, 560)
self._theme = theme_section("reset_corsie", {})
self._locale_catalog = load_locale_catalog()
self.title(loc_text("reset.title", catalog=self._locale_catalog, default="Gestione Corsie - svuotamento celle per corsia"))
self.geometry(str(theme_value(self._theme, "window_geometry", "1000x680")))
minsize = theme_value(self._theme, "window_minsize", [880, 560])
self.minsize(int(minsize[0]), int(minsize[1]))
self.resizable(True, True)
try:
self.configure(fg_color=theme_color(self._theme, "window_fg_color", ("#efefef", "#2f2f2f")))
except Exception:
pass
self.db = db_client
self._busy = BusyOverlay(self)
self.session = session
self._busy = InlineBusyOverlay(self, self._theme)
self._async = AsyncRunner(self)
self._refresh_token = 0
self._tooltip_catalog = load_tooltip_catalog()
self._build_ui()
self._load_corsie()
def _setup_tree_style(self):
"""Apply a denser, spreadsheet-like style to the main result grid."""
style = ttk.Style(self)
style.configure(
"ResetCorsie.Treeview.Heading",
font=theme_font(self._theme, "tree_heading_font", ("Segoe UI", 10, "bold")),
background=theme_value(self._theme, "tree_heading_bg", "#b8c7db"),
foreground=theme_value(self._theme, "tree_heading_fg", "#10243e"),
relief="flat",
padding=theme_padding(self._theme, "tree_heading_padding", (8, 6)),
)
style.map(
"ResetCorsie.Treeview.Heading",
background=[("active", theme_value(self._theme, "tree_heading_bg_active", "#aebfd6"))],
relief=[("pressed", "groove"), ("!pressed", "flat")],
)
style.configure(
"ResetCorsie.Treeview",
font=theme_font(self._theme, "tree_body_font", ("Segoe UI", 10)),
rowheight=int(theme_value(self._theme, "tree_row_height", 30)),
background=theme_value(self._theme, "tree_body_bg", "#ffffff"),
fieldbackground=theme_value(self._theme, "tree_body_bg", "#ffffff"),
foreground=theme_value(self._theme, "tree_body_fg", "#1f1f1f"),
borderwidth=0,
)
style.map(
"ResetCorsie.Treeview",
background=[("selected", theme_value(self._theme, "tree_selected_bg", "#cfe4ff"))],
foreground=[("selected", theme_value(self._theme, "tree_selected_fg", "#10243e"))],
)
@_log_call()
def _build_ui(self):
"""Create selectors, summary widgets and the occupied-cell grid."""
self._setup_tree_style()
top = ctk.CTkFrame(self)
top.pack(fill="x", padx=8, pady=8)
ctk.CTkLabel(top, text="Corsia:").pack(side="left")
self.cmb = ctk.CTkComboBox(top, width=140, values=[])
top.pack(
fill="x",
padx=int(theme_value(self._theme, "frame_padx", 8)),
pady=int(theme_value(self._theme, "frame_pady", 8)),
)
try:
top.configure(fg_color=theme_color(self._theme, "top_frame_fg_color", ("#d7d7d7", "#3b3b3b")))
except Exception:
pass
ctk.CTkLabel(
top,
text=loc_text("reset.label.aisle", catalog=self._locale_catalog, default="Corsia:"),
font=theme_font(self._theme, "toolbar_label_font", ("Segoe UI", 10)),
).pack(side="left")
self.cmb = ctk.CTkComboBox(
top,
width=int(theme_value(self._theme, "combobox_width", 140)),
height=int(theme_value(self._theme, "combobox_height", 28)),
values=[],
font=theme_font(self._theme, "combobox_font", ("Segoe UI", 10)),
dropdown_font=theme_font(self._theme, "combobox_font", ("Segoe UI", 10)),
)
self.cmb.pack(side="left", padx=(6, 10))
ctk.CTkButton(top, text="Carica", command=self.refresh).pack(side="left")
ctk.CTkButton(top, text="Svuota corsia...", command=self._ask_reset).pack(side="right")
btn_refresh = ctk.CTkButton(
top,
text=loc_text("reset.button.refresh", catalog=self._locale_catalog, default="Carica"),
command=self.refresh,
width=int(theme_value(self._theme, "toolbar_button_width", 140)),
height=int(theme_value(self._theme, "toolbar_button_height", 28)),
corner_radius=int(theme_value(self._theme, "toolbar_button_corner_radius", 6)),
font=theme_font(self._theme, "toolbar_button_font", ("Segoe UI", 10, "bold")),
)
btn_refresh.pack(side="left")
btn_reset = ctk.CTkButton(
top,
text=loc_text("reset.button.empty", catalog=self._locale_catalog, default="Svuota corsia..."),
command=self._ask_reset,
width=int(theme_value(self._theme, "toolbar_button_width", 140)),
height=int(theme_value(self._theme, "toolbar_button_height", 28)),
corner_radius=int(theme_value(self._theme, "toolbar_button_corner_radius", 6)),
font=theme_font(self._theme, "toolbar_button_font", ("Segoe UI", 10, "bold")),
)
btn_reset.pack(side="right")
WidgetToolTip(btn_refresh, tooltip_text("reset_corsie.refresh", catalog=self._tooltip_catalog))
WidgetToolTip(btn_reset, tooltip_text("reset_corsie.empty_aisle", catalog=self._tooltip_catalog))
mid = ctk.CTkFrame(self)
mid.pack(fill="both", expand=True, padx=8, pady=(0, 8))
mid.pack(
fill="both",
expand=True,
padx=int(theme_value(self._theme, "frame_padx", 8)),
pady=(0, int(theme_value(self._theme, "frame_pady", 8))),
)
try:
mid.configure(fg_color=theme_color(self._theme, "mid_frame_fg_color", ("#e5e5e5", "#383838")))
except Exception:
pass
mid.grid_columnconfigure(0, weight=1)
mid.grid_rowconfigure(0, weight=1)
self.tree = ttk.Treeview(mid, columns=("Ubicazione", "NumUDC"), show="headings", selectmode="browse")
self.tree = ttk.Treeview(
mid,
columns=("Ubicazione", "NumUDC"),
show="headings",
selectmode="browse",
style="ResetCorsie.Treeview",
)
self.tree.heading("Ubicazione", text="Ubicazione")
self.tree.heading("NumUDC", text="UDC in cella")
self.tree.column("Ubicazione", width=240, anchor="w")
self.tree.column("NumUDC", width=120, anchor="e")
self.tree.column(
"Ubicazione",
width=int(theme_value(self._theme, "tree_col_ubicazione_width", 340)),
anchor=str(theme_value(self._theme, "tree_col_ubicazione_anchor", "center")),
)
self.tree.column(
"NumUDC",
width=int(theme_value(self._theme, "tree_col_num_udc_width", 160)),
anchor=str(theme_value(self._theme, "tree_col_num_udc_anchor", "center")),
)
self.tree.tag_configure("odd", background=theme_value(self._theme, "tree_row_odd_bg", "#ffffff"))
self.tree.tag_configure("even", background=theme_value(self._theme, "tree_row_even_bg", "#f3f6fb"))
sy = ttk.Scrollbar(mid, orient="vertical", command=self.tree.yview)
sx = ttk.Scrollbar(mid, orient="horizontal", command=self.tree.xview)
@@ -138,11 +422,27 @@ class ResetCorsieWindow(ctk.CTkToplevel):
sx.grid(row=1, column=0, sticky="ew")
bottom = ctk.CTkFrame(self)
bottom.pack(fill="x", padx=8, pady=(0, 8))
ctk.CTkLabel(bottom, text="Riepilogo", font=("Segoe UI", 12, "bold")).pack(anchor="w", padx=8, pady=(8, 0))
bottom.pack(
fill="x",
padx=int(theme_value(self._theme, "frame_padx", 8)),
pady=(0, int(theme_value(self._theme, "frame_pady", 8))),
)
try:
bottom.configure(fg_color=theme_color(self._theme, "bottom_frame_fg_color", ("#dcdcdc", "#363636")))
except Exception:
pass
ctk.CTkLabel(
bottom,
text=loc_text("reset.summary", catalog=self._locale_catalog, default="Riepilogo"),
font=theme_font(self._theme, "summary_title_font", ("Segoe UI", 12, "bold")),
).pack(anchor="w", padx=8, pady=(8, 0))
g = ctk.CTkFrame(bottom)
g.pack(fill="x", padx=8, pady=8)
try:
g.configure(fg_color=theme_color(self._theme, "inner_summary_frame_fg_color", ("#d4d4d4", "#404040")))
except Exception:
pass
self.var_tot_celle = tk.StringVar(value="0")
self.var_occ = tk.StringVar(value="0")
self.var_dbl = tk.StringVar(value="0")
@@ -150,8 +450,16 @@ class ResetCorsieWindow(ctk.CTkToplevel):
def _kv(parent_widget, label, var, col):
"""Build a compact summary label/value pair."""
ctk.CTkLabel(parent_widget, text=label, font=("Segoe UI", 9, "bold")).grid(row=0, column=col * 2, sticky="w", padx=(0, 6))
ctk.CTkLabel(parent_widget, textvariable=var).grid(row=0, column=col * 2 + 1, sticky="w", padx=(0, 18))
ctk.CTkLabel(
parent_widget,
text=label,
font=theme_font(self._theme, "summary_label_font", ("Segoe UI", 9, "bold")),
).grid(row=0, column=col * 2, sticky="w", padx=(0, 6))
ctk.CTkLabel(
parent_widget,
textvariable=var,
font=theme_font(self._theme, "summary_value_font", ("Segoe UI", 9)),
).grid(row=0, column=col * 2 + 1, sticky="w", padx=(0, 18))
g.grid_columnconfigure(7, weight=1)
_kv(g, "Tot. celle:", self.var_tot_celle, 0)
@@ -159,10 +467,14 @@ class ResetCorsieWindow(ctk.CTkToplevel):
_kv(g, "Celle doppie:", self.var_dbl, 2)
_kv(g, "Tot. pallet:", self.var_pallet, 3)
@_log_call()
def _load_corsie(self):
"""Load available aisles and preselect ``1A`` when present."""
_log_sql("reset_corsie_corsie", SQL_CORSIE, {})
def _ok(res):
rows = res.get("rows", []) if isinstance(res, dict) else []
_log_dataset("reset_corsie_corsie", rows)
items = [r[0] for r in rows]
self.cmb.configure(values=items)
if items:
@@ -173,20 +485,37 @@ class ResetCorsieWindow(ctk.CTkToplevel):
messagebox.showinfo("Info", "Nessuna corsia trovata.", parent=self)
def _err(ex):
_MODULE_LOGGER.exception(f"Errore caricamento corsie reset corsie: {ex}")
messagebox.showerror("Errore", f"Caricamento corsie fallito:\n{ex}", parent=self)
self._async.run(self.db.query_json(SQL_CORSIE, {}), _ok, _err, busy=self._busy, message="Carico corsie...")
@_log_call()
def refresh(self):
"""Refresh both the summary counters and the occupied-cell list."""
corsia = self.cmb.get().strip()
if not corsia:
return
_log_sql("reset_corsie_riepilogo", SQL_RIEPILOGO, {"corsia": corsia})
_log_sql("reset_corsie_dettaglio", SQL_DETTAGLIO, {"corsia": corsia})
def _ok_sum(res):
rows = res.get("rows", []) if isinstance(res, dict) else []
if rows:
tot, occ, dbl, pallet = rows[0]
async def _q():
riepilogo = await self.db.query_json(SQL_RIEPILOGO, {"corsia": corsia})
dettaglio = await self.db.query_json(SQL_DETTAGLIO, {"corsia": corsia})
return {"riepilogo": riepilogo, "dettaglio": dettaglio}
def _ok(payload):
try:
riepilogo = payload.get("riepilogo", {}) if isinstance(payload, dict) else {}
dettaglio = payload.get("dettaglio", {}) if isinstance(payload, dict) else {}
sum_rows = riepilogo.get("rows", []) if isinstance(riepilogo, dict) else []
det_rows = dettaglio.get("rows", []) if isinstance(dettaglio, dict) else []
_log_dataset("reset_corsie_riepilogo", sum_rows)
_log_dataset("reset_corsie_dettaglio", det_rows)
if sum_rows:
tot, occ, dbl, pallet = sum_rows[0]
self.var_tot_celle.set(str(tot or 0))
self.var_occ.set(str(occ or 0))
self.var_dbl.set(str(dbl or 0))
@@ -197,68 +526,150 @@ class ResetCorsieWindow(ctk.CTkToplevel):
self.var_dbl.set("0")
self.var_pallet.set("0")
def _err_sum(ex):
messagebox.showerror("Errore", f"Riepilogo fallito:\n{ex}", parent=self)
self._async.run(self.db.query_json(SQL_RIEPILOGO, {"corsia": corsia}), _ok_sum, _err_sum, busy=self._busy, message=f"Riepilogo {corsia}...")
def _ok_det(res):
rows = res.get("rows", []) if isinstance(res, dict) else []
for item in self.tree.get_children():
self.tree.delete(item)
for _idc, ubi, n in rows:
self.tree.insert("", "end", values=(ubi, n))
for idx, (_idc, ubi, n) in enumerate(det_rows):
tag = "even" if idx % 2 else "odd"
self.tree.insert("", "end", values=(ubi, n), tags=(tag,))
except Exception as ex:
_MODULE_LOGGER.exception(f"Errore UI refresh reset corsie corsia={corsia}: {ex}")
messagebox.showerror("Errore", f"Aggiornamento interfaccia fallito:\n{ex}", parent=self)
def _err_det(ex):
messagebox.showerror("Errore", f"Dettaglio fallito:\n{ex}", parent=self)
def _err(ex):
_MODULE_LOGGER.exception(f"Errore refresh reset corsie corsia={corsia}: {ex}")
messagebox.showerror("Errore", f"Refresh fallito:\n{ex}", parent=self)
self._async.run(self.db.query_json(SQL_DETTAGLIO, {"corsia": corsia}), _ok_det, _err_det, busy=None, message=None)
self._async.run(_q(), _ok, _err, busy=self._busy, message=f"Riepilogo {corsia}...")
@_log_call()
def _ask_reset(self):
"""Ask for confirmation and start the delete flow for the selected aisle."""
"""Ask for confirmation and start the logical unload flow for the selected aisle."""
corsia = self.cmb.get().strip()
if not corsia:
return
_log_sql("reset_corsie_count_reset", SQL_COUNT_RESET, {"corsia": corsia})
def _ok_count(res):
rows = res.get("rows", []) if isinstance(res, dict) else []
n = int(rows[0][0]) if rows else 0
if n <= 0:
messagebox.showinfo("Svuota corsia", f"Nessun pallet da rimuovere per la corsia {corsia}.", parent=self)
_log_dataset("reset_corsie_count_reset", rows)
tot_udc = int(rows[0][0] or 0) if rows else 0
tot_celle = int(rows[0][1] or 0) if rows else 0
if tot_udc <= 0:
messagebox.showinfo("Svuota corsia", f"Nessuna UDC attiva da scaricare per la corsia {corsia}.", parent=self)
return
msg = (
f"Verranno cancellati {n} record da MagazziniPallet per la corsia {corsia}.",
"Questa operazione e' irreversibile.",
f"Verranno scaricate logicamente {tot_udc} UDC attive distribuite su {tot_celle} celle della corsia {corsia}.",
"L'operazione verra' eseguita come scarico verso 9000000 / 9999, senza cancellazioni fisiche dirette.",
"Digitare il nome della corsia per confermare:",
)
confirm = simpledialog.askstring("Conferma", "\n".join(msg), parent=self)
if confirm is None:
_MODULE_LOGGER.info(f"Reset corsia {corsia}: conferma annullata dall'utente")
return
if confirm.strip().upper() != corsia.upper():
_MODULE_LOGGER.info(f"Reset corsia {corsia}: testo conferma non corrispondente ({confirm!r})")
messagebox.showwarning("Annullato", "Testo di conferma non corrispondente.", parent=self)
return
self._do_reset(corsia)
def _err_count(ex):
messagebox.showerror("Errore", f"Conteggio righe da cancellare fallito:\n{ex}", parent=self)
_MODULE_LOGGER.exception(f"Errore conteggio reset corsie corsia={corsia}: {ex}")
messagebox.showerror("Errore", f"Conteggio UDC da scaricare fallito:\n{ex}", parent=self)
self._async.run(self.db.query_json(SQL_COUNT_DELETE, {"corsia": corsia}), _ok_count, _err_count, busy=self._busy, message="Verifico...")
self._async.run(self.db.query_json(SQL_COUNT_RESET, {"corsia": corsia}), _ok_count, _err_count, busy=self._busy, message="Verifico...")
@_log_call()
def _do_reset(self, corsia: str):
"""Execute the actual delete and refresh the window afterwards."""
def _ok_del(_):
messagebox.showinfo("Completato", f"Corsia {corsia}: svuotamento completato.", parent=self)
"""Execute the logical unload of every active UDC in the selected aisle."""
_log_sql("reset_corsie_udc_reset", SQL_UDC_RESET, {"corsia": corsia})
async def _q():
payload = await self.db.query_json(SQL_UDC_RESET, {"corsia": corsia})
rows = payload.get("rows", []) if isinstance(payload, dict) else []
_log_dataset("reset_corsie_udc_reset", rows)
success = 0
failed: list[dict[str, Any]] = []
utente = str(getattr(self.session, "login", "") or "warehouse_ui").strip()
for barcode_pallet, idcella, ubicazione in rows:
try:
await move_pallet_async(
self.db,
barcode_pallet=str(barcode_pallet or "").strip(),
target_idcella=9999,
target_barcode_cella="9000000",
utente=utente,
)
success += 1
except Exception as ex:
failed.append(
{
"barcode_pallet": str(barcode_pallet or ""),
"idcella": int(idcella or 0),
"ubicazione": str(ubicazione or ""),
"error": str(ex),
}
)
return {
"total": len(rows),
"success": success,
"failed": failed,
}
def _ok_del(result):
total = int((result or {}).get("total", 0))
success = int((result or {}).get("success", 0))
failed = list((result or {}).get("failed", []))
_MODULE_LOGGER.info(
f"Reset corsia {corsia}: scarico logico completato success={success} total={total} failed={len(failed)}"
)
if failed:
messagebox.showwarning(
"Completato con errori",
(
f"Corsia {corsia}: scaricate {success} UDC su {total}.\n"
f"Errori su {len(failed)} UDC. Controllare {MODULE_LOG_PATH.name}."
),
parent=self,
)
else:
messagebox.showinfo(
"Completato",
f"Corsia {corsia}: svuotamento logico completato su {success} UDC.",
parent=self,
)
self.refresh()
def _err_del(ex):
_MODULE_LOGGER.exception(f"Errore reset logico corsie corsia={corsia}: {ex}")
messagebox.showerror("Errore", f"Svuotamento fallito:\n{ex}", parent=self)
self._async.run(self.db.query_json(SQL_DELETE, {"corsia": corsia}), _ok_del, _err_del, busy=self._busy, message=f"Svuoto {corsia}...")
self._async.run(_q(), _ok_del, _err_del, busy=self._busy, message=f"Svuoto {corsia}...")
def open_reset_corsie_window(parent, db_app):
def open_reset_corsie_window(parent, db_app, session=None):
"""Create, focus and return the aisle reset window."""
win = ResetCorsieWindow(parent, db_app)
key = "_reset_corsie_window_singleton"
ex = getattr(parent, key, None)
if ex and ex.winfo_exists():
try:
ex.deiconify()
except Exception:
pass
try:
ex.lift()
ex.focus_force()
return ex
except Exception:
pass
win = ResetCorsieWindow(parent, db_app, session=session)
setattr(parent, key, win)
place_window_fullsize_below_parent_later(parent, win)
try:
win.lift()
win.focus_set()
win.focus_force()
except Exception:
pass
return win

View File

@@ -0,0 +1,24 @@
/*
Rollback online - form storiche Python
Rimuove solo le viste Python-only usate dalla form "Storico Picking List".
Non tocca oggetti C# legacy e non tocca dati.
Nota:
- la form "Storico movimenti UDC" non ha oggetti dedicati da rimuovere.
*/
IF OBJECT_ID(N'dbo.py_XMag_ViewPackingListStorico', N'V') IS NOT NULL
DROP VIEW dbo.py_XMag_ViewPackingListStorico;
GO
IF OBJECT_ID(N'dbo.py_vPreparaPackingList', N'V') IS NOT NULL
DROP VIEW dbo.py_vPreparaPackingList;
GO
IF OBJECT_ID(N'dbo.py_vPreparaPackingListSAMA1', N'V') IS NOT NULL
DROP VIEW dbo.py_vPreparaPackingListSAMA1;
GO
PRINT 'Rollback form storiche Python completato.';
GO

View File

@@ -0,0 +1,69 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
Rollback della patch prenotazione plist.
Ripristina dal backup salvato da:
- apply_plist_reservation_patch.sql
Oggetti ripristinati:
- dbo.XMag_ViewPackingList
- dbo.sp_xExePackingListPallet
- dbo.sp_xExePackingListPalletPrenota
- dbo.sp_ControllaPrenotazionePackingListPalletNew
La tabella dbo.PickingListReservation NON viene rimossa:
- può restare nel DB
- il codice legacy non la usa
*/
DECLARE @BackupTag varchar(64) = 'plist_reservation_fix_alpha2';
DECLARE @Sql nvarchar(max);
IF OBJECT_ID(N'dbo.WarehouseObjectBackup', N'U') IS NULL
BEGIN
RAISERROR('dbo.WarehouseObjectBackup non esiste. Impossibile fare rollback.', 16, 1);
RETURN;
END;
IF NOT EXISTS (
SELECT 1
FROM dbo.WarehouseObjectBackup
WHERE BackupTag = @BackupTag
)
BEGIN
RAISERROR('Backup tag %s non trovato. Impossibile fare rollback.', 16, 1, @BackupTag);
RETURN;
END;
SELECT @Sql = Definition
FROM dbo.WarehouseObjectBackup
WHERE BackupTag = @BackupTag
AND ObjectName = N'dbo.XMag_ViewPackingList';
IF @Sql IS NOT NULL EXEC(@Sql);
SELECT @Sql = Definition
FROM dbo.WarehouseObjectBackup
WHERE BackupTag = @BackupTag
AND ObjectName = N'dbo.sp_xExePackingListPallet';
IF @Sql IS NOT NULL EXEC(@Sql);
SELECT @Sql = Definition
FROM dbo.WarehouseObjectBackup
WHERE BackupTag = @BackupTag
AND ObjectName = N'dbo.sp_xExePackingListPalletPrenota';
IF @Sql IS NOT NULL EXEC(@Sql);
SELECT @Sql = Definition
FROM dbo.WarehouseObjectBackup
WHERE BackupTag = @BackupTag
AND ObjectName = N'dbo.sp_ControllaPrenotazionePackingListPalletNew';
IF @Sql IS NOT NULL EXEC(@Sql);

View File

@@ -0,0 +1,35 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
Rollback della patch parallela Python.
Non ripristina oggetti legacy, perche' la patch parallela non li modifica.
Rimuove solo gli oggetti dbo.py_* e la tabella di prenotazione Python.
*/
IF OBJECT_ID(N'dbo.py_sp_ControllaPrenotazionePackingListPalletNew', N'P') IS NOT NULL
DROP PROCEDURE dbo.py_sp_ControllaPrenotazionePackingListPalletNew;
GO
IF OBJECT_ID(N'dbo.py_sp_xExePackingListPalletPrenota', N'P') IS NOT NULL
DROP PROCEDURE dbo.py_sp_xExePackingListPalletPrenota;
GO
IF OBJECT_ID(N'dbo.py_sp_xExePackingListPallet', N'P') IS NOT NULL
DROP PROCEDURE dbo.py_sp_xExePackingListPallet;
GO
IF OBJECT_ID(N'dbo.py_ViewPackingListRestante', N'V') IS NOT NULL
DROP VIEW dbo.py_ViewPackingListRestante;
GO
IF OBJECT_ID(N'dbo.py_XMag_ViewPackingList', N'V') IS NOT NULL
DROP VIEW dbo.py_XMag_ViewPackingList;
GO
IF OBJECT_ID(N'dbo.PyPickingListReservation', N'U') IS NOT NULL
DROP TABLE dbo.PyPickingListReservation;
GO

View File

@@ -0,0 +1,20 @@
/*
Rollback SQL - rimozione viste storiche picking list Python.
Non tocca oggetti C# legacy.
*/
IF OBJECT_ID(N'dbo.py_XMag_ViewPackingListStorico', N'V') IS NOT NULL
DROP VIEW dbo.py_XMag_ViewPackingListStorico;
GO
IF OBJECT_ID(N'dbo.py_vPreparaPackingList', N'V') IS NOT NULL
DROP VIEW dbo.py_vPreparaPackingList;
GO
IF OBJECT_ID(N'dbo.py_vPreparaPackingListSAMA1', N'V') IS NOT NULL
DROP VIEW dbo.py_vPreparaPackingListSAMA1;
GO
PRINT 'Viste storiche Python rimosse.';
GO

68
runtime_support.py Normal file
View File

@@ -0,0 +1,68 @@
"""Runtime helpers for console-less Windows launches."""
from __future__ import annotations
import sys
import traceback
from datetime import datetime
from pathlib import Path
from typing import Callable, TypeVar
BASE_DIR = Path(__file__).resolve().parent
FATAL_LOG = BASE_DIR / "warehouse_fatal.log"
_STDIO_HANDLES = []
T = TypeVar("T")
def ensure_stdio(app_name: str) -> None:
"""Give ``pythonw`` a real stdout/stderr target before loggers are imported."""
stamp = datetime.now().strftime("%Y%m%d")
if sys.stdout is None:
handle = (BASE_DIR / f"{app_name}_stdout_{stamp}.log").open("a", encoding="utf-8", buffering=1)
_STDIO_HANDLES.append(handle)
sys.stdout = handle
if sys.stderr is None:
handle = (BASE_DIR / f"{app_name}_stderr_{stamp}.log").open("a", encoding="utf-8", buffering=1)
_STDIO_HANDLES.append(handle)
sys.stderr = handle
def log_fatal(app_name: str, exc: BaseException) -> None:
"""Write one startup/runtime crash to a persistent log file."""
with FATAL_LOG.open("a", encoding="utf-8") as handle:
handle.write("\n" + "=" * 80 + "\n")
handle.write(f"{datetime.now():%Y-%m-%d %H:%M:%S} | {app_name}\n")
handle.write("".join(traceback.format_exception(type(exc), exc, exc.__traceback__)))
def show_fatal_message(app_name: str, exc: BaseException) -> None:
"""Show a best-effort message box for console-less launches."""
try:
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.withdraw()
messagebox.showerror(
app_name,
f"Avvio non riuscito.\n\nDettaglio salvato in:\n{FATAL_LOG}\n\n{exc}",
parent=root,
)
root.destroy()
except Exception:
pass
def run_with_fatal_log(app_name: str, func: Callable[[], T]) -> T:
"""Run an app entry point and persist otherwise invisible ``pythonw`` crashes."""
try:
return func()
except BaseException as exc:
log_fatal(app_name, exc)
show_fatal_message(app_name, exc)
raise

66
scarico-plist.csv Normal file
View File

@@ -0,0 +1,66 @@
NULL;0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65528;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;2025-10-09 14:44:32.410;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65534;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:38:36.847;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;NULL;2025-10-09 14:38:36.847;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;106;NULL;2025-10-09 14:38:36.923;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;113;NULL;2025-10-09 14:40:15.317;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 14:40:15.960;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;17;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;280806000;2025-10-09 14:40:15.960;2025-10-09 14:44:56.767;149;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;113;281450000;2025-10-09 14:40:15.317;2025-10-09 14:44:56.767;666877;3;625;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;401464000;2025-10-09 14:38:36.847;2025-10-09 14:45:18.310;2;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;40;2025-10-09 14:45:18.310;2025-10-09 14:45:18.310;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:18.317;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:18.310;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;255;2025-10-09 14:45:18.310;2025-10-09 14:45:18.310;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;4000;2025-10-09 14:45:18.317;2025-10-09 14:45:18.320;6;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;67;2025-10-09 14:45:18.320;2025-10-09 14:45:18.320;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:18.330;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;1522;2025-10-09 14:45:18.320;2025-10-09 14:45:18.320;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;-7000;2025-10-09 14:45:18.330;2025-10-09 14:45:18.323;70;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;54;2025-10-09 14:45:18.323;2025-10-09 14:45:18.323;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:18.330;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9005106',@BarcodePallet='504521',@NumeroCella=9005106,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030353130364800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343532312E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100326889001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;2661665;2025-10-09 14:45:18.323;2025-10-09 14:45:20.983;83819;0;2016;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;2656000;2025-10-09 14:45:18.330;2025-10-09 14:45:20.987;83889;0;2016;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;19;2025-10-09 14:45:20.987;2025-10-09 14:45:20.987;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:21.003;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504521' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:20.987;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504521' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;755056;2025-10-09 14:45:20.987;2025-10-09 14:45:21.743;30639;0;703;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;740000;2025-10-09 14:45:21.003;2025-10-09 14:45:21.743;114528;0;703;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;19;2025-10-09 14:45:21.743;2025-10-09 14:45:21.743;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:21.753;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504521';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:21.743;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504521';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;1153373;2025-10-09 14:45:21.743;2025-10-09 14:45:22.897;17928;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;406054000;2025-10-09 14:38:36.847;2025-10-09 14:45:22.900;2;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;17;2025-10-09 14:45:22.900;2025-10-09 14:45:22.900;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;NULL;2025-10-09 14:45:22.910;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9005106 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;NULL;2025-10-09 14:45:22.900;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9005106 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;6319;2025-10-09 14:45:22.900;2025-10-09 14:45:22.907;40;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;4903000;2025-10-09 14:45:21.753;2025-10-09 14:45:26.657;132456;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;40;2025-10-09 14:45:26.657;2025-10-09 14:45:26.657;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:26.660;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:26.657;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;182;2025-10-09 14:45:26.657;2025-10-09 14:45:26.657;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;-4000;2025-10-09 14:45:26.660;2025-10-09 14:45:26.657;132460;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;39;2025-10-09 14:45:26.657;2025-10-09 14:45:26.657;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:26.660;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;1460;2025-10-09 14:45:26.657;2025-10-09 14:45:26.657;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;0;2025-10-09 14:45:26.660;2025-10-09 14:45:26.660;132524;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;38;2025-10-09 14:45:26.660;2025-10-09 14:45:26.660;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:26.660;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9005107',@BarcodePallet='504512',@NumeroCella=9005107,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030353130374800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343531322E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100336889001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;2132203;2025-10-09 14:45:26.660;2025-10-09 14:45:28.793;83818;0;1969;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;2123000;2025-10-09 14:45:26.660;2025-10-09 14:45:28.783;216342;0;1969;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;24;2025-10-09 14:45:28.783;2025-10-09 14:45:28.783;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:28.783;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504512' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:28.783;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504512' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;942565;2025-10-09 14:45:28.783;2025-10-09 14:45:29.727;30639;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;950000;2025-10-09 14:45:28.783;2025-10-09 14:45:29.733;246981;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;61;2025-10-09 14:45:29.733;2025-10-09 14:45:29.733;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:29.737;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504512';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;NULL;2025-10-09 14:45:29.733;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504512';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;65;761464;2025-10-09 14:45:29.733;2025-10-09 14:45:30.493;17926;0;766;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;7590000;2025-10-09 14:45:22.910;2025-10-09 14:45:30.500;42;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;31;2025-10-09 14:45:30.500;2025-10-09 14:45:30.500;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;NULL;2025-10-09 14:45:30.503;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9005107 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;NULL;2025-10-09 14:45:30.500;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9005107 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;71;6501;2025-10-09 14:45:30.500;2025-10-09 14:45:30.507;40;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;106;569860000;2025-10-09 14:38:36.923;2025-10-09 14:48:06.783;19;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
1 NULL 0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65528 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
2 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2025-10-09 14:44:32.410 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65534 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
3 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:38:36.847 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
4 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 NULL 2025-10-09 14:38:36.847 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
5 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 106 NULL 2025-10-09 14:38:36.923 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
6 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 113 NULL 2025-10-09 14:40:15.317 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
7 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 14:40:15.960 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 17 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
8 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 280806000 2025-10-09 14:40:15.960 2025-10-09 14:44:56.767 149 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
9 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 113 281450000 2025-10-09 14:40:15.317 2025-10-09 14:44:56.767 666877 3 625 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
10 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 401464000 2025-10-09 14:38:36.847 2025-10-09 14:45:18.310 2 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
11 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 40 2025-10-09 14:45:18.310 2025-10-09 14:45:18.310 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
12 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:18.317 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
13 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:18.310 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
14 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 255 2025-10-09 14:45:18.310 2025-10-09 14:45:18.310 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
15 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 4000 2025-10-09 14:45:18.317 2025-10-09 14:45:18.320 6 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
16 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 67 2025-10-09 14:45:18.320 2025-10-09 14:45:18.320 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
17 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:18.330 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
18 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 1522 2025-10-09 14:45:18.320 2025-10-09 14:45:18.320 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
19 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 -7000 2025-10-09 14:45:18.330 2025-10-09 14:45:18.323 70 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
20 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 54 2025-10-09 14:45:18.323 2025-10-09 14:45:18.323 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
21 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:18.330 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
22 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9005106',@BarcodePallet='504521',@NumeroCella=9005106,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030353130364800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343532312E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100326889001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 2661665 2025-10-09 14:45:18.323 2025-10-09 14:45:20.983 83819 0 2016 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
23 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 2656000 2025-10-09 14:45:18.330 2025-10-09 14:45:20.987 83889 0 2016 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
24 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 19 2025-10-09 14:45:20.987 2025-10-09 14:45:20.987 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
25 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:21.003 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
26 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504521' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:20.987 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
27 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504521' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 755056 2025-10-09 14:45:20.987 2025-10-09 14:45:21.743 30639 0 703 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
28 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 740000 2025-10-09 14:45:21.003 2025-10-09 14:45:21.743 114528 0 703 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
29 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 19 2025-10-09 14:45:21.743 2025-10-09 14:45:21.743 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
30 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:21.753 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
31 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504521' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:21.743 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
32 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504521' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 1153373 2025-10-09 14:45:21.743 2025-10-09 14:45:22.897 17928 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
33 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 406054000 2025-10-09 14:38:36.847 2025-10-09 14:45:22.900 2 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
34 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 17 2025-10-09 14:45:22.900 2025-10-09 14:45:22.900 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
35 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 NULL 2025-10-09 14:45:22.910 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
36 SELECT Ubicazione FROM Celle WHERE ID = 9005106 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 NULL 2025-10-09 14:45:22.900 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
37 SELECT Ubicazione FROM Celle WHERE ID = 9005106 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 6319 2025-10-09 14:45:22.900 2025-10-09 14:45:22.907 40 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
38 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 4903000 2025-10-09 14:45:21.753 2025-10-09 14:45:26.657 132456 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
39 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 40 2025-10-09 14:45:26.657 2025-10-09 14:45:26.657 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
40 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:26.660 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
41 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:26.657 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
42 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 182 2025-10-09 14:45:26.657 2025-10-09 14:45:26.657 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
43 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 -4000 2025-10-09 14:45:26.660 2025-10-09 14:45:26.657 132460 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
44 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 39 2025-10-09 14:45:26.657 2025-10-09 14:45:26.657 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
45 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:26.660 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
46 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 1460 2025-10-09 14:45:26.657 2025-10-09 14:45:26.657 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
47 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 0 2025-10-09 14:45:26.660 2025-10-09 14:45:26.660 132524 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
48 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 38 2025-10-09 14:45:26.660 2025-10-09 14:45:26.660 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
49 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:26.660 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
50 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9005107',@BarcodePallet='504512',@NumeroCella=9005107,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030353130374800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343531322E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100336889001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 2132203 2025-10-09 14:45:26.660 2025-10-09 14:45:28.793 83818 0 1969 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
51 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 2123000 2025-10-09 14:45:26.660 2025-10-09 14:45:28.783 216342 0 1969 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
52 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 24 2025-10-09 14:45:28.783 2025-10-09 14:45:28.783 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
53 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:28.783 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
54 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504512' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:28.783 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
55 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504512' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 942565 2025-10-09 14:45:28.783 2025-10-09 14:45:29.727 30639 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
56 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 950000 2025-10-09 14:45:28.783 2025-10-09 14:45:29.733 246981 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
57 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 61 2025-10-09 14:45:29.733 2025-10-09 14:45:29.733 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
58 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:29.737 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
59 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504512' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 NULL 2025-10-09 14:45:29.733 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
60 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504512' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 65 761464 2025-10-09 14:45:29.733 2025-10-09 14:45:30.493 17926 0 766 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
61 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 7590000 2025-10-09 14:45:22.910 2025-10-09 14:45:30.500 42 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
62 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 31 2025-10-09 14:45:30.500 2025-10-09 14:45:30.500 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
63 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 NULL 2025-10-09 14:45:30.503 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
64 SELECT Ubicazione FROM Celle WHERE ID = 9005107 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 NULL 2025-10-09 14:45:30.500 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
65 SELECT Ubicazione FROM Celle WHERE ID = 9005107 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 71 6501 2025-10-09 14:45:30.500 2025-10-09 14:45:30.507 40 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
66 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 106 569860000 2025-10-09 14:38:36.923 2025-10-09 14:48:06.783 19 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL

46
scarico-plist2.csv Normal file
View File

@@ -0,0 +1,46 @@
NULL;0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65528;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;2025-10-09 14:52:06.087;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65534;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 14:54:53.003;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 14:54:52.993;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;119;2025-10-09 14:54:52.993;2025-10-09 14:54:52.993;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;-10000;2025-10-09 14:54:53.003;2025-10-09 14:54:52.993;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;24;2025-10-09 14:54:52.993;2025-10-09 14:54:52.993;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 14:54:53.003;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;674;2025-10-09 14:54:52.993;2025-10-09 14:54:52.993;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;-10000;2025-10-09 14:54:53.003;2025-10-09 14:54:52.993;68;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;24;2025-10-09 14:54:52.993;2025-10-09 14:54:52.993;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 14:54:53.003;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9005053',@BarcodePallet='504510',@NumeroCella=9005053,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030353035334800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343531302E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100FD6789001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;1941501;2025-10-09 14:54:52.993;2025-10-09 14:54:54.933;83831;1;1922;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;1947000;2025-10-09 14:54:53.003;2025-10-09 14:54:54.950;83899;1;1922;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;21;2025-10-09 14:54:54.950;2025-10-09 14:54:54.950;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 14:54:54.940;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504510' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 14:54:54.953;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504510' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;722521;2025-10-09 14:54:54.953;2025-10-09 14:54:55.677;30677;0;735;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;733000;2025-10-09 14:54:54.940;2025-10-09 14:54:55.673;114576;1;735;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;91;2025-10-09 14:54:55.673;2025-10-09 14:54:55.673;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 14:54:55.677;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504510';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 14:54:55.677;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504510';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;734123;2025-10-09 14:54:55.677;2025-10-09 14:54:56.410;17926;0;734;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 14:54:56.410;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9005053 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 14:54:56.413;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9005053 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;6058;2025-10-09 14:54:56.413;2025-10-09 14:54:56.420;40;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;367826000;2025-10-09 14:54:56.410;2025-10-09 15:01:04.237;40;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;49;2025-10-09 15:01:04.237;2025-10-09 15:01:04.237;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:04.243;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:04.240;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;766091;2025-10-09 15:01:04.240;2025-10-09 15:01:05.007;30641;0;765;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;369334000;2025-10-09 14:54:55.677;2025-10-09 15:01:05.010;132502;1;734;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;30;2025-10-09 15:01:05.010;2025-10-09 15:01:05.010;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:05.010;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:05.010;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;205;2025-10-09 15:01:05.010;2025-10-09 15:01:05.010;6;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1330000;2025-10-09 15:01:04.243;2025-10-09 15:01:05.573;30681;0;765;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;53;2025-10-09 15:01:05.573;2025-10-09 15:01:05.573;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:05.570;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:05.573;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;734043;2025-10-09 15:01:05.573;2025-10-09 15:01:06.307;30641;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;1300000;2025-10-09 15:01:05.010;2025-10-09 15:01:06.310;132508;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;40;2025-10-09 15:01:06.310;2025-10-09 15:01:06.310;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:06.307;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5088 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:06.310;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5088 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;7524;2025-10-09 15:01:06.310;2025-10-09 15:01:06.317;44;0;16;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
1 NULL 0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65528 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
2 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2025-10-09 14:52:06.087 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65534 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
3 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 14:54:53.003 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
4 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 14:54:52.993 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
5 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 119 2025-10-09 14:54:52.993 2025-10-09 14:54:52.993 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
6 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 -10000 2025-10-09 14:54:53.003 2025-10-09 14:54:52.993 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
7 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 24 2025-10-09 14:54:52.993 2025-10-09 14:54:52.993 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
8 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 14:54:53.003 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
9 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 674 2025-10-09 14:54:52.993 2025-10-09 14:54:52.993 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
10 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 -10000 2025-10-09 14:54:53.003 2025-10-09 14:54:52.993 68 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
11 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 24 2025-10-09 14:54:52.993 2025-10-09 14:54:52.993 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
12 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 14:54:53.003 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
13 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9005053',@BarcodePallet='504510',@NumeroCella=9005053,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030353035334800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343531302E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100FD6789001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 1941501 2025-10-09 14:54:52.993 2025-10-09 14:54:54.933 83831 1 1922 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
14 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 1947000 2025-10-09 14:54:53.003 2025-10-09 14:54:54.950 83899 1 1922 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
15 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 21 2025-10-09 14:54:54.950 2025-10-09 14:54:54.950 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
16 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 14:54:54.940 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
17 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504510' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 14:54:54.953 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
18 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504510' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 722521 2025-10-09 14:54:54.953 2025-10-09 14:54:55.677 30677 0 735 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
19 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 733000 2025-10-09 14:54:54.940 2025-10-09 14:54:55.673 114576 1 735 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
20 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 91 2025-10-09 14:54:55.673 2025-10-09 14:54:55.673 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
21 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 14:54:55.677 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
22 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504510' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 14:54:55.677 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
23 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504510' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 734123 2025-10-09 14:54:55.677 2025-10-09 14:54:56.410 17926 0 734 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
24 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 14:54:56.410 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
25 SELECT Ubicazione FROM Celle WHERE ID = 9005053 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 14:54:56.413 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
26 SELECT Ubicazione FROM Celle WHERE ID = 9005053 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 6058 2025-10-09 14:54:56.413 2025-10-09 14:54:56.420 40 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
27 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 367826000 2025-10-09 14:54:56.410 2025-10-09 15:01:04.237 40 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
28 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 49 2025-10-09 15:01:04.237 2025-10-09 15:01:04.237 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
29 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:04.243 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
30 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:04.240 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
31 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 766091 2025-10-09 15:01:04.240 2025-10-09 15:01:05.007 30641 0 765 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
32 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 369334000 2025-10-09 14:54:55.677 2025-10-09 15:01:05.010 132502 1 734 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
33 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 30 2025-10-09 15:01:05.010 2025-10-09 15:01:05.010 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
34 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:05.010 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
35 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:05.010 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
36 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 205 2025-10-09 15:01:05.010 2025-10-09 15:01:05.010 6 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
37 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1330000 2025-10-09 15:01:04.243 2025-10-09 15:01:05.573 30681 0 765 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
38 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 53 2025-10-09 15:01:05.573 2025-10-09 15:01:05.573 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
39 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:05.570 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
40 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:05.573 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
41 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 734043 2025-10-09 15:01:05.573 2025-10-09 15:01:06.307 30641 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
42 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 1300000 2025-10-09 15:01:05.010 2025-10-09 15:01:06.310 132508 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
43 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 40 2025-10-09 15:01:06.310 2025-10-09 15:01:06.310 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
44 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:06.307 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
45 SELECT Ubicazione FROM Celle WHERE ID = 5088 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:06.310 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
46 SELECT Ubicazione FROM Celle WHERE ID = 5088 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 7524 2025-10-09 15:01:06.310 2025-10-09 15:01:06.317 44 0 16 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL

220
scarico.csv Normal file
View File

@@ -0,0 +1,220 @@
NULL;0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65528;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;18437000;2025-10-09 15:01:19.023;2025-10-09 15:01:37.460;89109;0;562;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;53;2025-10-09 15:01:37.460;2025-10-09 15:01:37.460;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:37.460;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:37.460;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;661572;2025-10-09 15:01:37.460;2025-10-09 15:01:38.120;27787;0;672;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;17803000;2025-10-09 15:01:20.320;2025-10-09 15:01:38.123;132558;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;36;2025-10-09 15:01:38.123;2025-10-09 15:01:38.123;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:38.133;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:38.123;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;205;2025-10-09 15:01:38.123;2025-10-09 15:01:38.123;6;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;803000;2025-10-09 15:01:37.460;2025-10-09 15:01:38.263;116896;0;672;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;64;2025-10-09 15:01:38.263;2025-10-09 15:01:38.263;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:38.273;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:38.263;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;651838;2025-10-09 15:01:38.263;2025-10-09 15:01:38.913;27787;0;641;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;780000;2025-10-09 15:01:38.133;2025-10-09 15:01:38.913;132564;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;41;2025-10-09 15:01:38.913;2025-10-09 15:01:38.913;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:38.913;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5088 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:38.913;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5088 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;476;2025-10-09 15:01:38.913;2025-10-09 15:01:38.913;6;0;16;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;3187000;2025-10-09 15:01:38.273;2025-10-09 15:01:41.460;144683;0;641;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;51;2025-10-09 15:01:41.460;2025-10-09 15:01:41.460;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:41.460;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:41.463;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;654920;2025-10-09 15:01:41.463;2025-10-09 15:01:42.117;27787;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;3207000;2025-10-09 15:01:38.913;2025-10-09 15:01:42.120;132570;1;16;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;35;2025-10-09 15:01:42.120;2025-10-09 15:01:42.120;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:42.133;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:42.120;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;195;2025-10-09 15:01:42.120;2025-10-09 15:01:42.120;6;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;4080000;2025-10-09 15:01:41.460;2025-10-09 15:01:45.540;172470;0;656;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;50;2025-10-09 15:01:45.540;2025-10-09 15:01:45.540;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:45.540;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:45.540;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;115;2025-10-09 15:01:45.540;2025-10-09 15:01:45.540;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;0;2025-10-09 15:01:45.540;2025-10-09 15:01:45.540;172474;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;22;2025-10-09 15:01:45.540;2025-10-09 15:01:45.540;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:45.540;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;690;2025-10-09 15:01:45.540;2025-10-09 15:01:45.540;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;0;2025-10-09 15:01:45.540;2025-10-09 15:01:45.540;172538;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;17;2025-10-09 15:01:45.540;2025-10-09 15:01:45.540;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:45.540;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504492',@NumeroCella=9000000,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343439322E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;2298041;2025-10-09 15:01:45.540;2025-10-09 15:01:47.837;92427;0;2281;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;2300000;2025-10-09 15:01:45.540;2025-10-09 15:01:47.840;264965;0;2281;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;40;2025-10-09 15:01:47.840;2025-10-09 15:01:47.840;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:47.853;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504492' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:47.840;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504492' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;728162;2025-10-09 15:01:47.840;2025-10-09 15:01:48.567;30745;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;717000;2025-10-09 15:01:47.853;2025-10-09 15:01:48.570;295710;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;39;2025-10-09 15:01:48.570;2025-10-09 15:01:48.570;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:48.570;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504492';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:48.570;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504492';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;725579;2025-10-09 15:01:48.570;2025-10-09 15:01:49.297;17954;0;734;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;10190000;2025-10-09 15:01:48.570;2025-10-09 15:01:58.760;313664;0;734;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;47;2025-10-09 15:01:58.760;2025-10-09 15:01:58.760;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:58.760;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:01:58.760;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;676958;2025-10-09 15:01:58.760;2025-10-09 15:01:59.437;27787;0;671;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;17307000;2025-10-09 15:01:42.133;2025-10-09 15:01:59.440;132576;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;26;2025-10-09 15:01:59.440;2025-10-09 15:01:59.440;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:59.430;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:01:59.440;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;197;2025-10-09 15:01:59.440;2025-10-09 15:01:59.440;6;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;7103000;2025-10-09 15:01:58.760;2025-10-09 15:02:05.863;341451;0;671;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;36;2025-10-09 15:02:05.863;2025-10-09 15:02:05.863;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:05.867;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:05.863;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;102;2025-10-09 15:02:05.863;2025-10-09 15:02:05.863;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;-3000;2025-10-09 15:02:05.867;2025-10-09 15:02:05.863;341455;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;25;2025-10-09 15:02:05.863;2025-10-09 15:02:05.863;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:05.867;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;738;2025-10-09 15:02:05.863;2025-10-09 15:02:05.863;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;-3000;2025-10-09 15:02:05.867;2025-10-09 15:02:05.863;341519;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;21;2025-10-09 15:02:05.863;2025-10-09 15:02:05.863;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:05.867;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504488',@NumeroCella=9000000,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343438382E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1951858;2025-10-09 15:02:05.863;2025-10-09 15:02:07.813;83828;0;1922;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;1960000;2025-10-09 15:02:05.867;2025-10-09 15:02:07.827;425347;0;1922;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;62;2025-10-09 15:02:07.827;2025-10-09 15:02:07.827;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:07.820;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504488' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:07.827;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504488' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;732383;2025-10-09 15:02:07.827;2025-10-09 15:02:08.560;30745;0;734;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;736000;2025-10-09 15:02:07.820;2025-10-09 15:02:08.557;456092;0;734;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;89;2025-10-09 15:02:08.557;2025-10-09 15:02:08.557;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:08.557;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504488';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:08.557;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504488';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;748876;2025-10-09 15:02:08.557;2025-10-09 15:02:09.303;17954;0;750;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;2284000;2025-10-09 15:02:08.557;2025-10-09 15:02:10.840;474046;0;750;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;135;2025-10-09 15:02:10.840;2025-10-09 15:02:10.840;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:10.853;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:10.840;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;650797;2025-10-09 15:02:10.840;2025-10-09 15:02:11.490;27787;0;641;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;12063000;2025-10-09 15:01:59.430;2025-10-09 15:02:11.493;132582;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;88;2025-10-09 15:02:11.493;2025-10-09 15:02:11.493;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:11.493;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:11.493;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;461;2025-10-09 15:02:11.493;2025-10-09 15:02:11.493;6;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;2293000;2025-10-09 15:02:11.493;2025-10-09 15:02:13.787;132588;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;34;2025-10-09 15:02:13.787;2025-10-09 15:02:13.787;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:13.790;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:13.787;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;91;2025-10-09 15:02:13.787;2025-10-09 15:02:13.787;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;0;2025-10-09 15:02:13.790;2025-10-09 15:02:13.790;132592;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;25;2025-10-09 15:02:13.790;2025-10-09 15:02:13.790;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:13.790;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;676;2025-10-09 15:02:13.790;2025-10-09 15:02:13.790;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;23000;2025-10-09 15:02:13.790;2025-10-09 15:02:13.813;132656;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;34;2025-10-09 15:02:13.813;2025-10-09 15:02:13.813;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:13.820;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504191',@NumeroCella=9000000,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343139312E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;2069301;2025-10-09 15:02:13.813;2025-10-09 15:02:15.883;84628;0;2047;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;2063000;2025-10-09 15:02:13.820;2025-10-09 15:02:15.883;217284;1;2047;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;65;2025-10-09 15:02:15.883;2025-10-09 15:02:15.883;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:15.883;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504191' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:15.883;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504191' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;710994;2025-10-09 15:02:15.883;2025-10-09 15:02:16.593;30641;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;727000;2025-10-09 15:02:15.883;2025-10-09 15:02:16.610;247925;1;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;30;2025-10-09 15:02:16.610;2025-10-09 15:02:16.610;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:16.603;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504191';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:16.610;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504191';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;710725;2025-10-09 15:02:16.610;2025-10-09 15:02:17.320;17926;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;1557000;2025-10-09 15:02:16.603;2025-10-09 15:02:18.160;265851;1;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;91;2025-10-09 15:02:18.160;2025-10-09 15:02:18.160;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:18.167;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:18.160;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;635186;2025-10-09 15:02:18.160;2025-10-09 15:02:18.797;27787;0;625;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;7937000;2025-10-09 15:02:10.853;2025-10-09 15:02:18.790;501833;0;641;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;38;2025-10-09 15:02:18.790;2025-10-09 15:02:18.790;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:18.790;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:18.790;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;244;2025-10-09 15:02:18.790;2025-10-09 15:02:18.790;6;0;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;4467000;2025-10-09 15:02:18.167;2025-10-09 15:02:22.633;293638;1;625;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;32;2025-10-09 15:02:22.633;2025-10-09 15:02:22.633;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:22.633;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:22.633;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;91;2025-10-09 15:02:22.633;2025-10-09 15:02:22.633;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;0;2025-10-09 15:02:22.633;2025-10-09 15:02:22.633;293642;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;19;2025-10-09 15:02:22.633;2025-10-09 15:02:22.633;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:22.633;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;655;2025-10-09 15:02:22.633;2025-10-09 15:02:22.633;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;0;2025-10-09 15:02:22.633;2025-10-09 15:02:22.633;293706;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;23;2025-10-09 15:02:22.633;2025-10-09 15:02:22.633;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:22.633;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504177',@NumeroCella=9000000,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343137372E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;2013679;2025-10-09 15:02:22.633;2025-10-09 15:02:24.647;84628;0;2000;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;2027000;2025-10-09 15:02:22.633;2025-10-09 15:02:24.660;378334;1;2000;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;36;2025-10-09 15:02:24.660;2025-10-09 15:02:24.660;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:24.650;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504177' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:24.660;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504177' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;754035;2025-10-09 15:02:24.660;2025-10-09 15:02:25.413;30641;0;750;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;6620000;2025-10-09 15:02:18.790;2025-10-09 15:02:25.410;501839;0;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;23;2025-10-09 15:02:25.410;2025-10-09 15:02:25.410;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:25.417;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9999 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:25.410;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 9999 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;5987;2025-10-09 15:02:25.410;2025-10-09 15:02:25.417;44;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;8693000;2025-10-09 15:02:24.650;2025-10-09 15:02:33.343;408975;1;750;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;52;2025-10-09 15:02:33.343;2025-10-09 15:02:33.343;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:33.353;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:33.347;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;644442;2025-10-09 15:02:33.347;2025-10-09 15:02:33.990;27787;0;641;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;8577000;2025-10-09 15:02:25.417;2025-10-09 15:02:33.993;501883;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;44;2025-10-09 15:02:33.993;2025-10-09 15:02:33.993;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:33.993;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:33.993;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;225;2025-10-09 15:02:33.993;2025-10-09 15:02:33.993;6;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;4403000;2025-10-09 15:02:33.353;2025-10-09 15:02:37.757;436762;1;641;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;95;2025-10-09 15:02:37.757;2025-10-09 15:02:37.757;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:37.757;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:37.757;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;239;2025-10-09 15:02:37.757;2025-10-09 15:02:37.757;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;0;2025-10-09 15:02:37.757;2025-10-09 15:02:37.757;436766;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;72;2025-10-09 15:02:37.757;2025-10-09 15:02:37.757;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:37.757;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;1457;2025-10-09 15:02:37.757;2025-10-09 15:02:37.757;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;4000;2025-10-09 15:02:37.757;2025-10-09 15:02:37.760;436830;1;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;56;2025-10-09 15:02:37.760;2025-10-09 15:02:37.760;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:37.757;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504288',@NumeroCella=9000000,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343238382E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;1979146;2025-10-09 15:02:37.760;2025-10-09 15:02:39.740;83830;1;1953;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;1980000;2025-10-09 15:02:37.757;2025-10-09 15:02:39.737;520660;2;1953;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;32;2025-10-09 15:02:39.737;2025-10-09 15:02:39.737;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:39.743;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504288' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:39.737;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504288' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;697244;2025-10-09 15:02:39.737;2025-10-09 15:02:40.433;30641;0;703;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;693000;2025-10-09 15:02:39.743;2025-10-09 15:02:40.437;551301;2;703;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;39;2025-10-09 15:02:40.437;2025-10-09 15:02:40.437;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:40.447;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504288';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:40.437;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504288';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;696158;2025-10-09 15:02:40.437;2025-10-09 15:02:41.133;17926;0;688;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;1284000;2025-10-09 15:02:40.447;2025-10-09 15:02:41.730;569227;2;688;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;68;2025-10-09 15:02:41.730;2025-10-09 15:02:41.730;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:41.727;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:41.730;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;625978;2025-10-09 15:02:41.730;2025-10-09 15:02:42.357;27787;0;625;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;8360000;2025-10-09 15:02:33.993;2025-10-09 15:02:42.353;501889;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;78;2025-10-09 15:02:42.353;2025-10-09 15:02:42.353;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:42.353;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;NULL;2025-10-09 15:02:42.353;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT Ubicazione FROM Celle WHERE ID = 5076 ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;115;445;2025-10-09 15:02:42.353;2025-10-09 15:02:42.353;6;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;3960000;2025-10-09 15:02:41.727;2025-10-09 15:02:45.687;597014;2;625;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;48;2025-10-09 15:02:45.687;2025-10-09 15:02:45.687;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:45.697;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:45.687;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;113;2025-10-09 15:02:45.687;2025-10-09 15:02:45.687;4;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;-6000;2025-10-09 15:02:45.697;2025-10-09 15:02:45.690;597018;2;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;27;2025-10-09 15:02:45.690;2025-10-09 15:02:45.690;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:45.697;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet';0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;671;2025-10-09 15:02:45.690;2025-10-09 15:02:45.690;64;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;-6000;2025-10-09 15:02:45.697;2025-10-09 15:02:45.690;597082;2;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;24;2025-10-09 15:02:45.690;2025-10-09 15:02:45.690;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:45.697;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504289',@NumeroCella=9000000,@RC=@p5 output select @p5;0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343238392E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;2056918;2025-10-09 15:02:45.690;2025-10-09 15:02:47.747;83829;0;2015;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;2054000;2025-10-09 15:02:45.697;2025-10-09 15:02:47.750;680911;2;2015;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;59;2025-10-09 15:02:47.750;2025-10-09 15:02:47.750;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:47.760;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504289' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:47.750;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504289' ORDER BY Ordinamento ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;724581;2025-10-09 15:02:47.750;2025-10-09 15:02:48.473;30641;0;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;720000;2025-10-09 15:02:47.760;2025-10-09 15:02:48.480;711552;2;719;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;15;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"exec sp_reset_connection ";0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;26;2025-10-09 15:02:48.480;2025-10-09 15:02:48.480;0;0;0;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;10;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
"-- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:48.477;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;14;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504289';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;NULL;2025-10-09 15:02:48.480;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;13;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504289';NULL;NULL;NULL;NULL;NULL;NULL;NULL;5204;.Net SqlClient Data Provider;MAG2;114;703489;2025-10-09 15:02:48.480;2025-10-09 15:02:49.183;17926;0;703;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;12;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;2025-10-09 15:03:19.617;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;mde3\gesterp;65533;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL
1 NULL 0xFFFE900209004D006900630072006F0073006F00660074002000530051004C00200053006500720076006500720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E00A60C000000006D006400650033005C00670065007300740065007200700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FAFBEDFB00FCFF100E00010009000A000B0006000C000E00FCFF180F000B00060009000A000C000D000E000F00100011001200FCFF101100010009000A000B0006000C000E00FCFF1A0A00090002000A0006000B000C000D000E000F00100011001200FCFF1A0C00010009000B0006000A000C000D000E000F00100011001200FCFF100D00010009000B0006000A000C000E00FCFB1C1B0001000A0006000B001200100011000D0009000C000E000F000200 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65528 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
2 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 18437000 2025-10-09 15:01:19.023 2025-10-09 15:01:37.460 89109 0 562 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
3 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 53 2025-10-09 15:01:37.460 2025-10-09 15:01:37.460 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
4 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:37.460 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
5 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:37.460 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
6 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 661572 2025-10-09 15:01:37.460 2025-10-09 15:01:38.120 27787 0 672 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
7 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 17803000 2025-10-09 15:01:20.320 2025-10-09 15:01:38.123 132558 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
8 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 36 2025-10-09 15:01:38.123 2025-10-09 15:01:38.123 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
9 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:38.133 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
10 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:38.123 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
11 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 205 2025-10-09 15:01:38.123 2025-10-09 15:01:38.123 6 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
12 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 803000 2025-10-09 15:01:37.460 2025-10-09 15:01:38.263 116896 0 672 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
13 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 64 2025-10-09 15:01:38.263 2025-10-09 15:01:38.263 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
14 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:38.273 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
15 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:38.263 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
16 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 0 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 651838 2025-10-09 15:01:38.263 2025-10-09 15:01:38.913 27787 0 641 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
17 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 780000 2025-10-09 15:01:38.133 2025-10-09 15:01:38.913 132564 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
18 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 41 2025-10-09 15:01:38.913 2025-10-09 15:01:38.913 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
19 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:38.913 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
20 SELECT Ubicazione FROM Celle WHERE ID = 5088 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:38.913 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
21 SELECT Ubicazione FROM Celle WHERE ID = 5088 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 476 2025-10-09 15:01:38.913 2025-10-09 15:01:38.913 6 0 16 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
22 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 3187000 2025-10-09 15:01:38.273 2025-10-09 15:01:41.460 144683 0 641 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
23 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 51 2025-10-09 15:01:41.460 2025-10-09 15:01:41.460 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
24 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:41.460 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
25 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:41.463 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
26 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 654920 2025-10-09 15:01:41.463 2025-10-09 15:01:42.117 27787 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
27 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 3207000 2025-10-09 15:01:38.913 2025-10-09 15:01:42.120 132570 1 16 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
28 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 35 2025-10-09 15:01:42.120 2025-10-09 15:01:42.120 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
29 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:42.133 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
30 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:42.120 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
31 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 195 2025-10-09 15:01:42.120 2025-10-09 15:01:42.120 6 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
32 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 4080000 2025-10-09 15:01:41.460 2025-10-09 15:01:45.540 172470 0 656 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
33 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 50 2025-10-09 15:01:45.540 2025-10-09 15:01:45.540 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
34 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:45.540 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
35 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:45.540 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
36 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 115 2025-10-09 15:01:45.540 2025-10-09 15:01:45.540 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
37 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 0 2025-10-09 15:01:45.540 2025-10-09 15:01:45.540 172474 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
38 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 22 2025-10-09 15:01:45.540 2025-10-09 15:01:45.540 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
39 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:45.540 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
40 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 690 2025-10-09 15:01:45.540 2025-10-09 15:01:45.540 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
41 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 0 2025-10-09 15:01:45.540 2025-10-09 15:01:45.540 172538 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
42 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 17 2025-10-09 15:01:45.540 2025-10-09 15:01:45.540 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
43 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:45.540 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
44 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504492',@NumeroCella=9000000,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343439322E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 2298041 2025-10-09 15:01:45.540 2025-10-09 15:01:47.837 92427 0 2281 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
45 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 2300000 2025-10-09 15:01:45.540 2025-10-09 15:01:47.840 264965 0 2281 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
46 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 40 2025-10-09 15:01:47.840 2025-10-09 15:01:47.840 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
47 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:47.853 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
48 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504492' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:47.840 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
49 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504492' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 728162 2025-10-09 15:01:47.840 2025-10-09 15:01:48.567 30745 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
50 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 717000 2025-10-09 15:01:47.853 2025-10-09 15:01:48.570 295710 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
51 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 39 2025-10-09 15:01:48.570 2025-10-09 15:01:48.570 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
52 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:48.570 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
53 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504492' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:48.570 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
54 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504492' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 725579 2025-10-09 15:01:48.570 2025-10-09 15:01:49.297 17954 0 734 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
55 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 10190000 2025-10-09 15:01:48.570 2025-10-09 15:01:58.760 313664 0 734 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
56 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 47 2025-10-09 15:01:58.760 2025-10-09 15:01:58.760 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
57 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:58.760 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
58 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:01:58.760 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
59 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 676958 2025-10-09 15:01:58.760 2025-10-09 15:01:59.437 27787 0 671 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
60 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 17307000 2025-10-09 15:01:42.133 2025-10-09 15:01:59.440 132576 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
61 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 26 2025-10-09 15:01:59.440 2025-10-09 15:01:59.440 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
62 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:59.430 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
63 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:01:59.440 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
64 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 197 2025-10-09 15:01:59.440 2025-10-09 15:01:59.440 6 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
65 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 7103000 2025-10-09 15:01:58.760 2025-10-09 15:02:05.863 341451 0 671 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
66 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 36 2025-10-09 15:02:05.863 2025-10-09 15:02:05.863 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
67 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:05.867 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
68 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:05.863 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
69 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 102 2025-10-09 15:02:05.863 2025-10-09 15:02:05.863 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
70 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 -3000 2025-10-09 15:02:05.867 2025-10-09 15:02:05.863 341455 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
71 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 25 2025-10-09 15:02:05.863 2025-10-09 15:02:05.863 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
72 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:05.867 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
73 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 738 2025-10-09 15:02:05.863 2025-10-09 15:02:05.863 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
74 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 -3000 2025-10-09 15:02:05.867 2025-10-09 15:02:05.863 341519 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
75 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 21 2025-10-09 15:02:05.863 2025-10-09 15:02:05.863 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
76 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:05.867 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
77 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504488',@NumeroCella=9000000,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343438382E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1951858 2025-10-09 15:02:05.863 2025-10-09 15:02:07.813 83828 0 1922 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
78 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 1960000 2025-10-09 15:02:05.867 2025-10-09 15:02:07.827 425347 0 1922 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
79 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 62 2025-10-09 15:02:07.827 2025-10-09 15:02:07.827 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
80 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:07.820 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
81 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504488' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:07.827 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
82 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504488' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 732383 2025-10-09 15:02:07.827 2025-10-09 15:02:08.560 30745 0 734 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
83 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 736000 2025-10-09 15:02:07.820 2025-10-09 15:02:08.557 456092 0 734 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
84 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 89 2025-10-09 15:02:08.557 2025-10-09 15:02:08.557 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
85 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:08.557 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
86 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504488' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:08.557 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
87 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504488' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 748876 2025-10-09 15:02:08.557 2025-10-09 15:02:09.303 17954 0 750 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
88 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 2284000 2025-10-09 15:02:08.557 2025-10-09 15:02:10.840 474046 0 750 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
89 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 135 2025-10-09 15:02:10.840 2025-10-09 15:02:10.840 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
90 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:10.853 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
91 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:10.840 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
92 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 650797 2025-10-09 15:02:10.840 2025-10-09 15:02:11.490 27787 0 641 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
93 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 12063000 2025-10-09 15:01:59.430 2025-10-09 15:02:11.493 132582 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
94 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 88 2025-10-09 15:02:11.493 2025-10-09 15:02:11.493 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
95 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:11.493 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
96 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:11.493 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
97 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 461 2025-10-09 15:02:11.493 2025-10-09 15:02:11.493 6 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
98 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 2293000 2025-10-09 15:02:11.493 2025-10-09 15:02:13.787 132588 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
99 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 34 2025-10-09 15:02:13.787 2025-10-09 15:02:13.787 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
100 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:13.790 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
101 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:13.787 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
102 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 91 2025-10-09 15:02:13.787 2025-10-09 15:02:13.787 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
103 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 0 2025-10-09 15:02:13.790 2025-10-09 15:02:13.790 132592 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
104 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 25 2025-10-09 15:02:13.790 2025-10-09 15:02:13.790 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
105 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:13.790 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
106 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 676 2025-10-09 15:02:13.790 2025-10-09 15:02:13.790 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
107 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 23000 2025-10-09 15:02:13.790 2025-10-09 15:02:13.813 132656 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
108 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 34 2025-10-09 15:02:13.813 2025-10-09 15:02:13.813 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
109 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:13.820 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
110 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504191',@NumeroCella=9000000,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343139312E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 2069301 2025-10-09 15:02:13.813 2025-10-09 15:02:15.883 84628 0 2047 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
111 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 2063000 2025-10-09 15:02:13.820 2025-10-09 15:02:15.883 217284 1 2047 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
112 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 65 2025-10-09 15:02:15.883 2025-10-09 15:02:15.883 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
113 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:15.883 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
114 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504191' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:15.883 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
115 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504191' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 710994 2025-10-09 15:02:15.883 2025-10-09 15:02:16.593 30641 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
116 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 727000 2025-10-09 15:02:15.883 2025-10-09 15:02:16.610 247925 1 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
117 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 30 2025-10-09 15:02:16.610 2025-10-09 15:02:16.610 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
118 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:16.603 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
119 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504191' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:16.610 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
120 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504191' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 710725 2025-10-09 15:02:16.610 2025-10-09 15:02:17.320 17926 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
121 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 1557000 2025-10-09 15:02:16.603 2025-10-09 15:02:18.160 265851 1 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
122 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 91 2025-10-09 15:02:18.160 2025-10-09 15:02:18.160 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
123 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:18.167 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
124 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:18.160 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
125 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 635186 2025-10-09 15:02:18.160 2025-10-09 15:02:18.797 27787 0 625 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
126 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 7937000 2025-10-09 15:02:10.853 2025-10-09 15:02:18.790 501833 0 641 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
127 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 38 2025-10-09 15:02:18.790 2025-10-09 15:02:18.790 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
128 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:18.790 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
129 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:18.790 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
130 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 244 2025-10-09 15:02:18.790 2025-10-09 15:02:18.790 6 0 15 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
131 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 4467000 2025-10-09 15:02:18.167 2025-10-09 15:02:22.633 293638 1 625 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
132 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 32 2025-10-09 15:02:22.633 2025-10-09 15:02:22.633 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
133 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:22.633 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
134 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:22.633 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
135 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 91 2025-10-09 15:02:22.633 2025-10-09 15:02:22.633 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
136 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 0 2025-10-09 15:02:22.633 2025-10-09 15:02:22.633 293642 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
137 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 19 2025-10-09 15:02:22.633 2025-10-09 15:02:22.633 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
138 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:22.633 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
139 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 655 2025-10-09 15:02:22.633 2025-10-09 15:02:22.633 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
140 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 0 2025-10-09 15:02:22.633 2025-10-09 15:02:22.633 293706 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
141 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 23 2025-10-09 15:02:22.633 2025-10-09 15:02:22.633 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
142 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:22.633 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
143 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504177',@NumeroCella=9000000,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343137372E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 2013679 2025-10-09 15:02:22.633 2025-10-09 15:02:24.647 84628 0 2000 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
144 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 2027000 2025-10-09 15:02:22.633 2025-10-09 15:02:24.660 378334 1 2000 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
145 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 36 2025-10-09 15:02:24.660 2025-10-09 15:02:24.660 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
146 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:24.650 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
147 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504177' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:24.660 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
148 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504177' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 754035 2025-10-09 15:02:24.660 2025-10-09 15:02:25.413 30641 0 750 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
149 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 6620000 2025-10-09 15:02:18.790 2025-10-09 15:02:25.410 501839 0 15 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
150 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 23 2025-10-09 15:02:25.410 2025-10-09 15:02:25.410 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
151 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:25.417 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
152 SELECT Ubicazione FROM Celle WHERE ID = 9999 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:25.410 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
153 SELECT Ubicazione FROM Celle WHERE ID = 9999 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 5987 2025-10-09 15:02:25.410 2025-10-09 15:02:25.417 44 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
154 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 8693000 2025-10-09 15:02:24.650 2025-10-09 15:02:33.343 408975 1 750 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
155 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 52 2025-10-09 15:02:33.343 2025-10-09 15:02:33.343 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
156 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:33.353 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
157 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:33.347 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
158 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 644442 2025-10-09 15:02:33.347 2025-10-09 15:02:33.990 27787 0 641 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
159 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 8577000 2025-10-09 15:02:25.417 2025-10-09 15:02:33.993 501883 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
160 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 44 2025-10-09 15:02:33.993 2025-10-09 15:02:33.993 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
161 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:33.993 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
162 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:33.993 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
163 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 225 2025-10-09 15:02:33.993 2025-10-09 15:02:33.993 6 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
164 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 4403000 2025-10-09 15:02:33.353 2025-10-09 15:02:37.757 436762 1 641 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
165 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 95 2025-10-09 15:02:37.757 2025-10-09 15:02:37.757 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
166 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:37.757 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
167 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:37.757 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
168 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 239 2025-10-09 15:02:37.757 2025-10-09 15:02:37.757 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
169 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 0 2025-10-09 15:02:37.757 2025-10-09 15:02:37.757 436766 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
170 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 72 2025-10-09 15:02:37.757 2025-10-09 15:02:37.757 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
171 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:37.757 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
172 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 1457 2025-10-09 15:02:37.757 2025-10-09 15:02:37.757 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
173 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 4000 2025-10-09 15:02:37.757 2025-10-09 15:02:37.760 436830 1 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
174 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 56 2025-10-09 15:02:37.760 2025-10-09 15:02:37.760 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
175 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:37.757 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
176 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504288',@NumeroCella=9000000,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343238382E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 1979146 2025-10-09 15:02:37.760 2025-10-09 15:02:39.740 83830 1 1953 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
177 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 1980000 2025-10-09 15:02:37.757 2025-10-09 15:02:39.737 520660 2 1953 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
178 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 32 2025-10-09 15:02:39.737 2025-10-09 15:02:39.737 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
179 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:39.743 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
180 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504288' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:39.737 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
181 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504288' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 697244 2025-10-09 15:02:39.737 2025-10-09 15:02:40.433 30641 0 703 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
182 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 693000 2025-10-09 15:02:39.743 2025-10-09 15:02:40.437 551301 2 703 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
183 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 39 2025-10-09 15:02:40.437 2025-10-09 15:02:40.437 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
184 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:40.447 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
185 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504288' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:40.437 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
186 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504288' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 696158 2025-10-09 15:02:40.437 2025-10-09 15:02:41.133 17926 0 688 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
187 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 1284000 2025-10-09 15:02:40.447 2025-10-09 15:02:41.730 569227 2 688 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
188 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 68 2025-10-09 15:02:41.730 2025-10-09 15:02:41.730 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
189 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:41.727 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
190 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:41.730 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
191 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = 1 ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 625978 2025-10-09 15:02:41.730 2025-10-09 15:02:42.357 27787 0 625 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
192 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 8360000 2025-10-09 15:02:33.993 2025-10-09 15:02:42.353 501889 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
193 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 78 2025-10-09 15:02:42.353 2025-10-09 15:02:42.353 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
194 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:42.353 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
195 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 NULL 2025-10-09 15:02:42.353 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
196 SELECT Ubicazione FROM Celle WHERE ID = 5076 NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 115 445 2025-10-09 15:02:42.353 2025-10-09 15:02:42.353 6 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
197 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 3960000 2025-10-09 15:02:41.727 2025-10-09 15:02:45.687 597014 2 625 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
198 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 48 2025-10-09 15:02:45.687 2025-10-09 15:02:45.687 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
199 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:45.697 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
200 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:45.687 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
201 SELECT ID, Privilegio, Nominativo FROM Operatori WHERE login = 'MAG2' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 113 2025-10-09 15:02:45.687 2025-10-09 15:02:45.687 4 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
202 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 -6000 2025-10-09 15:02:45.697 2025-10-09 15:02:45.690 597018 2 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
203 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 27 2025-10-09 15:02:45.690 2025-10-09 15:02:45.690 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
204 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:45.697 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
205 exec sp_procedure_params_rowset @procedure_name=N'sp_xMagGestioneMagazziniPallet' 0x00000000020000003400730070005F00700072006F006300650064007500720065005F0070006100720061006D0073005F0072006F0077007300650074008400000082001A00E7306E007600610072006300680061007200280032003500350029001E004000700072006F006300650064007500720065005F006E0061006D0065003C000000730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 671 2025-10-09 15:02:45.690 2025-10-09 15:02:45.690 64 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
206 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 -6000 2025-10-09 15:02:45.697 2025-10-09 15:02:45.690 597082 2 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
207 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 24 2025-10-09 15:02:45.690 2025-10-09 15:02:45.690 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
208 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:45.697 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
209 declare @p5 int set @p5=0 exec sp_xMagGestioneMagazziniPallet @IDOperatore=5,@BarcodeCella='9000000',@BarcodePallet='504289',@NumeroCella=9000000,@RC=@p5 output select @p5 0x00000000060000003C00730070005F0078004D0061006700470065007300740069006F006E0065004D006100670061007A007A0069006E006900500061006C006C00650074002E00000003000600381069006E00740018004000490044004F00700065007200610074006F0072006500050000004500000081001400A73076006100720063006800610072002800380029001A00400042006100720063006F0064006500430065006C006C00610007000000393030303030304800000081001600A730760061007200630068006100720028003100360029001C00400042006100720063006F0064006500500061006C006C0065007400060000003530343238392E00000003000600381069006E007400180040004E0075006D00650072006F00430065006C006C006100405489001C00000003000600381169006E0074000600400052004300000000001400000003000600380469006E00740000000000 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 2056918 2025-10-09 15:02:45.690 2025-10-09 15:02:47.747 83829 0 2015 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
210 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 2054000 2025-10-09 15:02:45.697 2025-10-09 15:02:47.750 680911 2 2015 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
211 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 59 2025-10-09 15:02:47.750 2025-10-09 15:02:47.750 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
212 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:47.760 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
213 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504289' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:47.750 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
214 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Pallet = '504289' ORDER BY Ordinamento NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 724581 2025-10-09 15:02:47.750 2025-10-09 15:02:48.473 30641 0 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
215 NULL NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 720000 2025-10-09 15:02:47.760 2025-10-09 15:02:48.480 711552 2 719 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 15 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
216 exec sp_reset_connection 0x00000000000000002600730070005F00720065007300650074005F0063006F006E006E0065006300740069006F006E00 NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 26 2025-10-09 15:02:48.480 2025-10-09 15:02:48.480 0 0 0 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 10 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
217 -- network protocol: TCP/IP set quoted_identifier on set arithabort off set numeric_roundabort off set ansi_warnings on set ansi_padding on set ansi_nulls on set concat_null_yields_null on set cursor_close_on_commit off set implicit_transactions off set language Italiano set dateformat dmy set datefirst 1 set transaction isolation level read committed NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:48.477 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 14 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
218 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504289' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 NULL 2025-10-09 15:02:48.480 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 13 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
219 SELECT TOP 1 * FROM vXTracciaProdotti WHERE Pallet = '504289' NULL NULL NULL NULL NULL NULL NULL 5204 .Net SqlClient Data Provider MAG2 114 703489 2025-10-09 15:02:48.480 2025-10-09 15:02:49.183 17926 0 703 NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
220 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2025-10-09 15:03:19.617 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL mde3\gesterp 65533 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL

View File

@@ -7,7 +7,12 @@ from tkinter import filedialog, messagebox, ttk
import customtkinter as ctk
from gestione_aree_frame_async import AsyncRunner, BusyOverlay
from busy_overlay import InlineBusyOverlay
from gestione_aree import AsyncRunner
from locale_text import load_locale_catalog, text as loc_text
from ui_theme import theme_color, theme_font, theme_section, theme_value
from window_placement import place_window_fullsize_below_parent_later
from tooltips import WidgetToolTip, load_tooltip_catalog, tooltip_text
try:
from openpyxl import Workbook
@@ -74,16 +79,25 @@ ORDER BY
class SearchWindow(ctk.CTkToplevel):
"""Window that searches pallets by barcode, lot or product code."""
def __init__(self, parent: tk.Widget, db_app):
def __init__(self, parent: tk.Widget, db_app, session=None):
"""Initialize widgets and keep a reference to the shared DB client."""
super().__init__(parent)
self.title("Warehouse - Ricerca UDC/Lotto/Codice")
self.geometry("1100x720")
self.minsize(900, 560)
self._theme = theme_section("search_window", {})
self._locale_catalog = load_locale_catalog()
self._tooltip_catalog = load_tooltip_catalog()
self.title(loc_text("search.title", catalog=self._locale_catalog, default="Ricerca UDC/Lotto/Codice"))
self.geometry(str(theme_value(self._theme, "window_geometry", "1100x720")))
minsize = theme_value(self._theme, "window_minsize", [900, 560])
self.minsize(int(minsize[0]), int(minsize[1]))
self.resizable(True, True)
self.db = db_app
self._busy = BusyOverlay(self)
self.session = session
try:
self.configure(fg_color=theme_color(self._theme, "window_fg_color", ("#efefef", "#2f2f2f")))
except Exception:
pass
self._busy = InlineBusyOverlay(self, self._theme)
self._async = AsyncRunner(self)
self._sort_state: dict[str, bool] = {}
@@ -95,26 +109,62 @@ class SearchWindow(ctk.CTkToplevel):
self.grid_rowconfigure(1, weight=1)
self.grid_columnconfigure(0, weight=1)
top = ctk.CTkFrame(self)
top = ctk.CTkFrame(
self,
fg_color=theme_color(self._theme, "toolbar_frame_fg_color", ("#d7d7d7", "#3b3b3b")),
)
top.grid(row=0, column=0, sticky="nsew", padx=8, pady=8)
for i in range(8):
top.grid_columnconfigure(i, weight=0)
top.grid_columnconfigure(7, weight=1)
ctk.CTkLabel(top, text="UDC:").grid(row=0, column=0, sticky="w")
label_font = theme_font(self._theme, "toolbar_label_font", ("Segoe UI", 10))
entry_font = theme_font(self._theme, "entry_font", ("Segoe UI", 10))
button_font = theme_font(self._theme, "toolbar_button_font", ("Segoe UI", 10, "bold"))
ctk.CTkLabel(
top, text=loc_text("search.label.udc", catalog=self._locale_catalog, default="UDC:"), font=label_font
).grid(row=0, column=0, sticky="w")
self.var_udc = tk.StringVar()
ctk.CTkEntry(top, textvariable=self.var_udc, width=160).grid(row=0, column=1, sticky="w", padx=(4, 12))
ctk.CTkEntry(top, textvariable=self.var_udc, width=160, font=entry_font).grid(
row=0, column=1, sticky="w", padx=(4, 12)
)
ctk.CTkLabel(top, text="Lotto:").grid(row=0, column=2, sticky="w")
ctk.CTkLabel(
top, text=loc_text("search.label.lot", catalog=self._locale_catalog, default="Lotto:"), font=label_font
).grid(row=0, column=2, sticky="w")
self.var_lotto = tk.StringVar()
ctk.CTkEntry(top, textvariable=self.var_lotto, width=140).grid(row=0, column=3, sticky="w", padx=(4, 12))
ctk.CTkEntry(top, textvariable=self.var_lotto, width=140, font=entry_font).grid(
row=0, column=3, sticky="w", padx=(4, 12)
)
ctk.CTkLabel(top, text="Codice prodotto:").grid(row=0, column=4, sticky="w")
ctk.CTkLabel(
top,
text=loc_text("search.label.code", catalog=self._locale_catalog, default="Codice prodotto:"),
font=label_font,
).grid(row=0, column=4, sticky="w")
self.var_codice = tk.StringVar()
ctk.CTkEntry(top, textvariable=self.var_codice, width=160).grid(row=0, column=5, sticky="w", padx=(4, 12))
ctk.CTkEntry(top, textvariable=self.var_codice, width=160, font=entry_font).grid(
row=0, column=5, sticky="w", padx=(4, 12)
)
ctk.CTkButton(top, text="Cerca", command=self._do_search).grid(row=0, column=6, sticky="w")
ctk.CTkButton(top, text="Esporta XLSX", command=self._export_xlsx).grid(row=0, column=7, sticky="e")
btn_search = ctk.CTkButton(
top,
text=loc_text("search.button.search", catalog=self._locale_catalog, default="Cerca"),
command=self._do_search,
font=button_font,
)
btn_search.grid(row=0, column=6, sticky="w")
btn_export = ctk.CTkButton(
top,
text=loc_text("search.button.export", catalog=self._locale_catalog, default="Esporta XLSX"),
command=self._export_xlsx,
font=button_font,
)
btn_export.grid(row=0, column=7, sticky="e")
tip = tooltip_text("launcher.open_search", catalog=self._tooltip_catalog)
if tip:
WidgetToolTip(btn_search, tip)
wrap = ctk.CTkFrame(self)
wrap.grid(row=1, column=0, sticky="nsew", padx=8, pady=(0, 8))
@@ -166,10 +216,22 @@ class SearchWindow(ctk.CTkToplevel):
"""Export the currently visible search results to an Excel file."""
rows = [self.tree.item(iid, "values") for iid in self.tree.get_children("")]
if not rows:
messagebox.showinfo("Esporta", "Non ci sono righe da esportare.", parent=self)
messagebox.showinfo(
loc_text("search.msg.export_title", catalog=self._locale_catalog, default="Esporta"),
loc_text("search.msg.export_empty", catalog=self._locale_catalog, default="Non ci sono righe da esportare."),
parent=self,
)
return
if not _HAS_XLSX:
messagebox.showerror("Esporta", "Per l'esportazione serve 'openpyxl' (pip install openpyxl).", parent=self)
messagebox.showerror(
loc_text("search.msg.export_title", catalog=self._locale_catalog, default="Esporta"),
loc_text(
"search.msg.export_dep",
catalog=self._locale_catalog,
default="Per l'esportazione serve 'openpyxl' (pip install openpyxl).",
),
parent=self,
)
return
from datetime import datetime
@@ -209,9 +271,17 @@ class SearchWindow(ctk.CTkToplevel):
for j, width in widths.items():
ws.column_dimensions[get_column_letter(j)].width = min(max(width + 2, 10), 60)
wb.save(fname)
messagebox.showinfo("Esporta", f"File creato:\n{fname}", parent=self)
messagebox.showinfo(
loc_text("search.msg.export_title", catalog=self._locale_catalog, default="Esporta"),
f"File creato:\n{fname}",
parent=self,
)
except Exception as ex:
messagebox.showerror("Esporta", f"Errore durante l'esportazione:{ex}", parent=self)
messagebox.showerror(
loc_text("search.msg.export_title", catalog=self._locale_catalog, default="Esporta"),
loc_text("search.msg.export_error", catalog=self._locale_catalog, default="Errore durante l'esportazione:{error}").format(error=ex),
parent=self,
)
def _on_dclick(self, evt):
"""Copy the selected pallet barcode when a result cell is double-clicked."""
@@ -355,8 +425,12 @@ class SearchWindow(ctk.CTkToplevel):
if not (udc or lotto or codice):
if not messagebox.askyesno(
"Conferma",
"Nessun filtro impostato. Vuoi cercare su TUTTO il magazzino?",
loc_text("search.msg.confirm_title", catalog=self._locale_catalog, default="Conferma"),
loc_text(
"search.msg.confirm_all",
catalog=self._locale_catalog,
default="Nessun filtro impostato. Vuoi cercare su TUTTO il magazzino?",
),
parent=self,
):
return
@@ -394,8 +468,12 @@ class SearchWindow(ctk.CTkToplevel):
if not rows:
messagebox.showinfo(
"Nessun risultato",
"Nessuna corrispondenza trovata con le chiavi di ricerca inserite.",
loc_text("search.msg.no_results_title", catalog=self._locale_catalog, default="Nessun risultato"),
loc_text(
"search.msg.no_results",
catalog=self._locale_catalog,
default="Nessuna corrispondenza trovata con le chiavi di ricerca inserite.",
),
parent=self,
)
else:
@@ -406,12 +484,22 @@ class SearchWindow(ctk.CTkToplevel):
def _err(ex):
self._busy.hide()
messagebox.showerror("Errore ricerca", str(ex), parent=self)
messagebox.showerror(
loc_text("search.msg.error_title", catalog=self._locale_catalog, default="Errore ricerca"),
str(ex),
parent=self,
)
self._async.run(self.db.query_json(SQL_SEARCH, params), _ok, _err, busy=self._busy, message="Cerco...")
self._async.run(
self.db.query_json(SQL_SEARCH, params),
_ok,
_err,
busy=self._busy,
message=loc_text("search.busy", catalog=self._locale_catalog, default="Cerco..."),
)
def open_search_window(parent, db_app):
def open_search_window(parent, db_app, session=None):
"""Open a singleton-like search window tied to the launcher instance."""
key = "_search_window_singleton"
ex = getattr(parent, key, None)
@@ -422,6 +510,12 @@ def open_search_window(parent, db_app):
return ex
except Exception:
pass
w = SearchWindow(parent, db_app)
w = SearchWindow(parent, db_app, session=session)
setattr(parent, key, w)
place_window_fullsize_below_parent_later(parent, w)
try:
w.lift()
w.focus_force()
except Exception:
pass
return w

383
spec_barcode_wms.rtf Normal file
View File

@@ -0,0 +1,383 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi31507\deflang1040\deflangfe1040\themelang1040\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}
{\f42\fbidi \fswiss\fcharset0\fprq2 Aptos;}{\f45\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0502040204020203}Segoe UI;}{\f46\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}
{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2 Aptos Display;}
{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2 Aptos;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\f47\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f48\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f50\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f51\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\f52\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f53\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f54\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f55\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f387\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f388\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f390\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}
{\f391\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f394\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f395\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f467\fbidi \fswiss\fcharset238\fprq2 Aptos CE;}
{\f468\fbidi \fswiss\fcharset204\fprq2 Aptos Cyr;}{\f470\fbidi \fswiss\fcharset161\fprq2 Aptos Greek;}{\f471\fbidi \fswiss\fcharset162\fprq2 Aptos Tur;}{\f474\fbidi \fswiss\fcharset186\fprq2 Aptos Baltic;}
{\f475\fbidi \fswiss\fcharset163\fprq2 Aptos (Vietnamese);}{\f497\fbidi \fswiss\fcharset238\fprq2 Segoe UI CE;}{\f498\fbidi \fswiss\fcharset204\fprq2 Segoe UI Cyr;}{\f500\fbidi \fswiss\fcharset161\fprq2 Segoe UI Greek;}
{\f501\fbidi \fswiss\fcharset162\fprq2 Segoe UI Tur;}{\f502\fbidi \fswiss\fcharset177\fprq2 Segoe UI (Hebrew);}{\f503\fbidi \fswiss\fcharset178\fprq2 Segoe UI (Arabic);}{\f504\fbidi \fswiss\fcharset186\fprq2 Segoe UI Baltic;}
{\f505\fbidi \fswiss\fcharset163\fprq2 Segoe UI (Vietnamese);}{\f507\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f508\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f510\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}
{\f511\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f514\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f515\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Aptos Display CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Aptos Display Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Aptos Display Greek;}
{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Aptos Display Tur;}{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Aptos Display Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Aptos Display (Vietnamese);}
{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Aptos CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Aptos Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Aptos Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Aptos Tur;}
{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Aptos Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Aptos (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;
\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue0;\red0\green0\blue0;
\red31\green78\blue121;}{\*\defchp \fs24\kerning2\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa160\sl278\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{
\ql \li0\ri0\sa160\sl278\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0
\fs24\lang1040\langfe1040\kerning2\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1040\langfenp1040 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl278\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0 \fs24\lang1040\langfe1040\kerning2\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1040\langfenp1040
\snext11 \ssemihidden \sunhideused Normal Table;}}{\*\rsidtbl \rsid2231436\rsid8003465\rsid8465363}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info
{\operator Alessandro Bonvicini}{\creatim\yr2026\mo5\dy12\hr19\min5}{\revtim\yr2026\mo5\dy12\hr19\min18}{\version2}{\edmins13}{\nofpages4}{\nofwords969}{\nofchars5529}{\nofcharsws6486}{\vern125}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/wo
rd/2003/wordml}}\paperw11906\paperh16838\margl1134\margr1134\margt1134\margb1134\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\hyphhotz283\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120
\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot8003465 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs24\alang1025 \ltrch\fcs0
\fs24\lang1040\langfe1040\kerning2\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1040\langfenp1040 {\rtlch\fcs1 \ab\af45\afs32 \ltrch\fcs0 \b\f45\fs32\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Specifica Form Barcode WMS
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
Documento di lavoro per replica Python del client barcode C# con miglioramenti di usabilita'.
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 1. Obiettivo operativo}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0
\f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
La form barcode guida il magazziniere nello scarico dei pallet secondo due code operative:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
- F1 = coda ad alta priorita', cioe' picking list prenotata (IDStato = 1)
\par \hich\af45\dbch\af31505\loch\f45 - F2 = coda a bassa priorita', cioe' picking list non prenotata (IDStato = 0)
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
Il magazziniere puo' passare da una coda all'altra e il sistema riprende dal punto corretto interrogando il database a ogni richiesta.}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid8003465 \hich\af45\dbch\af31505\loch\f45
Occorre che la seconda coda che compare , \hich\af45\dbch\af31505\loch\f45 e che non pu\loch\af45\dbch\af31505\hich\f45 \'f2\loch\f45 esser\hich\af45\dbch\af31505\loch\f45 e pr\hich\af45\dbch\af31505\loch\f45 en\hich\af45\dbch\af31505\loch\f45 otata
\hich\af45\dbch\af31505\loch\f45 sul\hich\af45\dbch\af31505\loch\f45 l\hich\af45\dbch\af31505\loch\f45 \hich\f45 a desktop app se ne \'e8\hich\af45\dbch\af31505\loch\f45 \hich\af45\dbch\af31505\loch\f45 \hich\f45 gi\'e0\loch\f45 stata prenotata una
\hich\af45\dbch\af31505\loch\f45 , \hich\af45\dbch\af31505\loch\f45 sia quella \hich\af45\dbch\af31505\loch\f45 \hich\f45 pi\'f9\loch\f45 vecchi\hich\af45\dbch\af31505\loch\f45 a tra quelle esistenti \hich\af45\dbch\af31505\loch\f45 nell
\loch\af45\dbch\af31505\hich\f45 \rquote \hich\af45\dbch\af31505\loch\f45 ele\hich\af45\dbch\af31505\loch\f45 nco, c\hich\af45\dbch\af31505\loch\f45 \hich\f45 io\'e8\loch\f45 \hich\f45 quella con id del documento pi\'f9\loch\f45 basso.}{\rtlch\fcs1
\af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 2. File C# analizzati}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0
\f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - C:_decompiled.cs
\par }{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\lang1033\langfe1040\kerning0\langnp1033\insrsid2231436\charrsid8003465 \hich\af45\dbch\af31505\loch\f45 - C:_decompiled.cs
\par \hich\af45\dbch\af31505\loch\f45 - C:_house.sql
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 3. Comandi principali della form C#}{\rtlch\fcs1 \af45\afs22
\ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
- F1 / H Priority: imposta iStatoPkPallet = 1 e carica la prossima riga da XMag_ViewPackingList con IDStato = 1
\par \hich\af45\dbch\af31505\loch\f45 - F2 / L Priority: imposta iStatoPkPallet = 0 e carica la prossima riga da XMag_ViewPackingList con IDStato = 0
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0\pararsid8003465 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
- Enter / Salva: esegue il movimento quando i campi sono completi}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid8003465 \hich\af45\dbch\af31505\loch\f45 , \hich\af45\dbch\af31505\loch\f45 qu\hich\af45\dbch\af31505\loch\f45
indi questa operazione effettua un carico, ma prima l\loch\af45\dbch\af31505\hich\f45 \rquote \loch\f45 o\hich\af45\dbch\af31505\loch\f45 peratore deve premer un ta\hich\af45\dbch\af31505\loch\f45 s\hich\af45\dbch\af31505\loch\f45 to che resetta di
\hich\af45\dbch\af31505\loch\f45 \hich\f45 due campi , cio\'e8\loch\f45 li azzera e\hich\af45\dbch\af31505\loch\f45 deve comparire una b\hich\af45\dbch\af31505\loch\f45 arra rossa sul\hich\af45\dbch\af31505\loch\f45 l\hich\af45\dbch\af31505\loch\f45
a form \hich\af45\dbch\af31505\loch\f45 del barcode\hich\af45\dbch\af31505\loch\f45 \hich\af45\dbch\af31505\loch\f45 (ver\hich\af45\dbch\af31505\loch\f45 i\hich\af45\dbch\af31505\loch\f45 ficare il c#)\hich\af45\dbch\af31505\loch\f45 , da quel momento
\hich\af45\dbch\af31505\loch\f45 se l\loch\af45\dbch\af31505\hich\f45 \rquote \hich\af45\dbch\af31505\loch\f45 o\hich\af45\dbch\af31505\loch\f45 peratore legge i barcode della udc e il bacrode della locazi\hich\af45\dbch\af31505\loch\f45 one e preme
\loch\af45\dbch\af31505\hich\f45 \'93\hich\af45\dbch\af31505\loch\f45 carica\loch\af45\dbch\af31505\hich\f45 \'94\hich\af45\dbch\af31505\loch\f45 non \loch\af45\dbch\af31505\hich\f45 \'93\hich\af45\dbch\af31505\loch\f45 salva
\loch\af45\dbch\af31505\hich\f45 \'94\hich\af45\dbch\af31505\loch\f45 \hich\af45\dbch\af31505\loch\f45 avviene il ver\hich\af45\dbch\af31505\loch\f45 sam\hich\af45\dbch\af31505\loch\f45 ento.}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0
\f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 4\hich\af45\dbch\af31505\loch\f45
. Significato reale dei campi nella form legacy}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
La UI C# e' poco intuitiva perche' i nomi dei campi non spiegano bene il flusso.
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - txtDocRif
\par }\pard \ltrpar\ql \li720\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 etichetta visibile: Pallet
\par \hich\af45\dbch\af31505\loch\f45 significato reale: barcode del pallet letto o da confermare
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - txtBarcode
\par }\pard \ltrpar\ql \li720\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 etichetta visibile: Cella
\par \hich\af45\dbch\af31505\loch\f45 significato reale: ubicazione operativa di destinazione o uscita; nel picking viene impostata a 9000000
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - lblTesto1
\par }\pard \ltrpar\ql \li720\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 mostra ubicazione sorgente o stato operazione
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - lblTesto2
\par }\pard \ltrpar\ql \li720\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 mostra Documento
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - lblTesto3
\par }\pard \ltrpar\ql \li720\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 mostra cliente o nazione
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - lblTesto4
\par }\pard \ltrpar\ql \li720\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 mostra il pallet atteso}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0
\f45\fs22\cf1\kerning0\insrsid8003465 \hich\af45\dbch\af31505\loch\f45 , come passo successivo nella co\hich\af45\dbch\af31505\loch\f45 da selezionata. }{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 5. Flusso F1 e F2 nel C#}{\rtlch\fcs1 \af45\afs22
\ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Metodo chiave: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0
\f46\fs22\cf1\kerning0\insrsid2231436 \hich\af46\dbch\af31505\loch\f46 GetDatiPallet("", "", idStato)}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 in }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0
\f46\fs22\cf1\kerning0\insrsid2231436 \hich\af46\dbch\af31505\loch\f46 FSkMovimenti.cs}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 .
\par }{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\lang1033\langfe1040\kerning0\langnp1033\insrsid2231436\charrsid8003465 \hich\af45\dbch\af31505\loch\f45 Query utilizzata:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\cf1\lang1033\langfe1040\kerning0\langnp1033\insrsid2231436\charrsid8003465 \hich\af46\dbch\af31505\loch\f46
SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = idStato ORDER BY Ordinamento
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Effetto operativo:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - legge il prossimo pallet della coda scelta
\par \hich\af45\dbch\af31505\loch\f45 - mostra ubicazione, documento, cliente e pallet atteso
\par \hich\af45\dbch\af31505\loch\f45 - se la ricerca parte senza barcode specifico, alla fine la funzione restituisce 9000000
\par \hich\af45\dbch\af31505\loch\f45 - per questo i pulsanti F1/F2 finiscono per scrivere 9000000 nel campo Cella
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Flusso reale per l'operatore:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 1. preme F1 oppure F2
\par \hich\af45\dbch\af31505\loch\f45 2. il sistema mostra il prossimo pallet atteso
\par \hich\af45\dbch\af31505\loch\f45 3. il campo Cella viene impostato a 9000000
\par \hich\af45\dbch\af31505\loch\f45 4. l'operatore scansiona il pallet nel campo Pallet
\par \hich\af45\dbch\af31505\loch\f45 5. se il pallet coincide con quello atteso, viene eseguito lo scarico
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 6. Validazione dello scan}{\rtlch\fcs1 \af45\afs22
\ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Metodo chiave: }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0
\f46\fs22\cf1\kerning0\insrsid2231436 \hich\af46\dbch\af31505\loch\f46 SalvaOk()}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 .
\par \hich\af45\dbch\af31505\loch\f45 Regola importante:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
- se txtBarcode = 9000000, il pallet letto in txtDocRif deve coincidere con lblTesto4
\par \hich\af45\dbch\af31505\loch\f45 - se non coincide, il sistema scrive Errata Lettura e blocca l'operazione
\par \hich\af45\dbch\af31505\loch\f45 - se coincide, chiama Ricevi(...)
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
Questa e' la protezione che impedisce di scaricare il pallet sbagliato durante il picking.
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 7. Esecuzione del movimento}{\rtlch\fcs1 \af45\afs22
\ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Metodi chiave nel C#:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - Ricevi(...)
\par \hich\af45\dbch\af31505\loch\f45 - spt_SaveStoredProced\hich\af45\dbch\af31505\loch\f45 ure(...)
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Stored procedure usata:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\cf1\kerning0\insrsid2231436 \hich\af46\dbch\af31505\loch\f46 sp_xMagGestioneMagazziniPallet
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Parametri principali:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - IDOperatore
\par \hich\af45\dbch\af31505\loch\f45 - BarcodeCella
\par \hich\af45\dbch\af31505\loch\f45 - BarcodePallet
\par \hich\af45\dbch\af31505\loch\f45 - NumeroCella
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Dopo il movimento il C# richiama ancora }{\rtlch\fcs1 \af46\afs22
\ltrch\fcs0 \f46\fs22\cf1\kerning0\insrsid2231436 \hich\af46\dbch\af31505\loch\f46 GetDatiPallet(sBarcodePallet, sBarcodeCella, iStatoPkPallet)}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
per riallinearsi alla coda corrente.
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 8. Legame con la prenotazione della picking list}{
\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 La prenotazione dal backoffice chiama la stored:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\cf1\kerning0\insrsid2231436 \hich\af46\dbch\af31505\loch\f46 sp_xExePackingListPallet
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Effetto DB:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - mette Celle.IDStato = 1 sulle celle del documento prenotato
\par \hich\af45\dbch\af31505\loch\f45 - se richiamata di nuovo, toglie la prenotazione riportando IDStato = 0
\par \hich\af45\dbch\af31505\loch\f45 - registra il documento in LogPackingList
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Dopo ogni scarico, }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0
\f46\fs22\cf1\kerning0\insrsid2231436 \hich\af46\dbch\af31505\loch\f46 sp_xMagGestioneMagazziniPallet}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 richiama:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\cf1\kerning0\insrsid2231436 \hich\af46\dbch\af31505\loch\f46 sp_ControllaPrenotazionePackingListPalletNew
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Questa procedura:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - legge l'ultima picking list attiva dal log
\par \hich\af45\dbch\af31505\loch\f45 - riapplica IDStato = 1 alle celle residue del documento tramite }{\rtlch\fcs1 \af46\afs22 \ltrch\fcs0 \f46\fs22\cf1\kerning0\insrsid2231436 \hich\af46\dbch\af31505\loch\f46 sp_xExePackingListPalletPrenota}{\rtlch\fcs1
\af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Quindi il comportamento risultante e':
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - F1 continua a scorrere la pick\hich\af45\dbch\af31505\loch\f45
ing list prenotata residua
\par \hich\af45\dbch\af31505\loch\f45 - F2 continua a scorrere la coda non prenotata
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 9. Allineamento con il backoffice}{\rtlch\fcs1 \af45\afs22
\ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Nel backoffice C# la griglia picking list:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - carica la testata aggregata da XMag_ViewPackingList
\par \hich\af45\dbch\af31505\loch\f45 - il dettaglio basso e' agganciato al solo Documento
\par \hich\af45\dbch\af31505\loch\f45 - Prenota/Sprenota richiama la stessa stored e poi ricarica davvero la griglia con InitGrid()
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Questo modello e' coerente con il comportamento della form barcode.
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 10. Criticita' di usabilita' della form legacy}{\rtlch\fcs1
\af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - etichette fuorvianti: Cella e Pallet non sp
\hich\af45\dbch\af31505\loch\f45 iegano cosa va letto in quel momento
\par \hich\af45\dbch\af31505\loch\f45 - il valore 9000000 compare senza contesto esplicito
\par \hich\af45\dbch\af31505\loch\f45 - non e' chiaro visivamente se si sta lavorando in F1 o in F2
\par \hich\af45\dbch\af31505\loch\f45 - i label non parlano il linguaggio dell'operatore
\par \hich\af45\dbch\af31505\loch\f45 - la regola di validazione contro il pallet atteso non e' evidente a schermo
\par \hich\af45\dbch\af31505\loch\f45 - la UI richiede addestramento e memoria del flusso, non si lascia capire da sola
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 11. Specifica proposta per il nuovo client Python barcode}{
\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Da mantenere identico al C#:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - una sola picking list prenotata per volta
\par \hich\af45\dbch\af31505\loch\f45 - F1 legge IDStato = 1
\par \hich\af45\dbch\af31505\loch\f45 - F2 legge IDStato = 0
\par \hich\af45\dbch\af31505\loch\f45 - ordine di proposta basato su Ordinamento
\par \hich\af45\dbch\af31505\loch\f45 - scarico tramite la stessa semantica DB del C#
\par \hich\af45\dbch\af31505\loch\f45 - verifica del barcode atteso prima dello scarico verso 9000000
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 Da migliorare nella n\hich\af45\dbch\af31505\loch\f45 uova UI:
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
- mostrare chiaramente la coda attiva: Alta priorita' (F1) o Bassa priorita' (F2)
\par \hich\af45\dbch\af31505\loch\f45 - rinominare i campi in modo esplicito
\par }\pard \ltrpar\ql \li720\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - Pallet atteso
\par \hich\af45\dbch\af31505\loch\f45 - Pallet letto
\par \hich\af45\dbch\af31505\loch\f45 - Ubicazione sorgente
\par \hich\af45\dbch\af31505\loch\f45 - Destinazione operativa
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - mostrare un messaggio guida esplicito: Scansiona il pallet indicato
\par \hich\af45\dbch\af31505\loch\f45 - evidenziare in grande ubicazione da raggiungere e pallet atteso
\par \hich\af45\dbch\af31505\loch\f45 - separare visivamente missione, area scan ed esito operazione
\par \hich\af45\dbch\af31505\loch\f45 - mantenere il focus sempre sul campo scan
\par \hich\af45\dbch\af31505\loch\f45 - usare hotkey semplici: F1, F2, Enter
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 12. Architettura consigliata del client Python}{\rtlch\fcs1
\af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li360\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - UI minimale in tkinter puro
\par \hich\af45\dbch\af31505\loch\f45 - service layer con logica operativa F1/F2
\par }{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\lang1033\langfe1040\kerning0\langnp1033\insrsid2231436\charrsid8003465 \hich\af45\dbch\af31505\loch\f45 - repository layer per SQL e stored procedure
\par }{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 - timeout configurabili
\par \hich\af45\dbch\af31505\loch\f45 - reconnect DB automatico
\par \hich\af45\dbch\af31505\loch\f45 - log rotante
\par \hich\af45\dbch\af31505\loch\f45 - zero finestre multiple
\par \hich\af45\dbch\af31505\loch\f45 - stato minimo in RAM
\par }\pard \ltrpar\ql \li0\ri0\sa180\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af45\afs22 \ltrch\fcs0 \b\f45\fs22\cf19\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45 13. Conclusione}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0
\f45\fs22\cf1\kerning0\insrsid2231436
\par }\pard \ltrpar\ql \li0\ri0\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436 \hich\af45\dbch\af31505\loch\f45
Il comportamento C# della form barcode e' oggi abbastanza chiaro: e' piu' coerente di quanto sembri, ma e' esposto con una UI poco autoesplicativa. Il nuovo client Python dovrebbe quindi essere una replica funzionale fedele, ma con una UI molto piu' guida
\hich\af45\dbch\af31505\loch\f45 ta e leggibile.}{\rtlch\fcs1 \af45\afs22 \ltrch\fcs0 \f45\fs22\cf1\kerning0\insrsid2231436
\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100b126ca5f050800000f220000160000007468656d652f7468656d652f
7468656d65312e786d6cec5a4f6f1bb915bf17e87720e6ae78662cc9921165a1bff1267662444a8a3dd212a561cc190a43cab6b058a0c89e7a5960816dd14317
e8ad87a2e8025da08b5efa61022468b71fa28fe468444a54fc07411114b62f33d4ef3dfef8dee37b6f38f3f0b3ab94a10b920bcab356103d080344b2319fd06c
d60a5e8e0695468084c4d904339e9156b02422f8ecd12f7ff1101fca84a404817c260e712b48a49c1feeed89310c63f180cf4906bf4d799e6209b7f96c6f92e3
4bd09bb2bd380ceb7b29a65980329c82da11c8a00945cfa7533a26c1a395fa3e83393229d4c098e543a59c14321676721e2984588a2ecbd10566ad00669af0cb
11b99201625848f8a11584fa2fd87bf4700f1f16424cee90b5e406faaf902b0426e7b19e339f9d959386fdb8518d4afd1ac0e436aedf50ffa53e0dc0e331acd4
70b17546b57ad8880bac0532971eddcd8368dfc55bfaf7b73847cd7a27ae3afa35c8e8af6ee1c341b3dfab39780d32f8da16be1dc69de6be83d72083af6fe1ab
fdf641dc77f01a94309a9d6fa3eb078d46bd4097902967475e78b35e0f0f7a057c8d826828a34b4d31e599dc156b297ecdf30100149061493324977332c56388
e3f65c72817a54cc195e06688e332e60388ca30842af1ac6e5bfb6383e24d89256bc8089d81a527c9018e7742e5bc113d01a5890773ffdf4f6cd8f6fdffcfded
d75fbf7df357744c678934aa1cb9239ccd6cb99ffff4ed7fbeff35faf7dffef8f377bff5e3858d7fff97dfbcffc73f3fa41eb6dada14ef7ef7c3fb1f7f78f7fb
6ffef5e7ef3cdadb393eb3e1239a12819e914bf482a7b0406d0a973f39cb6f27314a30b525dad94ce00cab593cfafb3271d0cf9698610fae435c3bbeca21d5f8
808f17af1dc2c3245f48ead1f834491de009e7acc373af159eaab92c338f16d9cc3f79beb0712f30bef0cdddc599e3e5fe620e3996fa547613e2d03c65389378
46322291fa8d9f13e259dd17943a763da1e39c0b3e95e80b8a3a987a4d32a2674e34ad858e680a7e59fa0882bf1ddb9cbc421dce7cabee910b17097b03330ff9
11618e191fe385c4a94fe508a7cc36f83196898fe470998f6d5c5f48f0f48c308efa1322844fe6790eebb59cfe144376f3bafd842d5317994b7aeed3798c39b7
913d7ede4d703af76187344b6cece7e21c4214a3532e7df013eeee10750f7ec0d94e77bfa2c471f7f5d9e02564399bd23a40d42f8bdce3cbc7843bf13b5cb229
26be54d3ce5327c5b673ea8d8ece62e684f631210c5fe20921e8e5e71e061d3e776cbe26fd2481ac72447c81f504bbb1aaee332208d2cdcd769e3ca6c209d921
99f11d7c4e961b896789b314e7bb343f03afdb36ef9fe5b0193deb7ccec6e736f019852e10e2c56b94e7027458c1bd53eb69829d02a6ee853f5e97b9e3bf9bec
31d897af1d1a37d89720436e2d0389dd96f9a06d46983913ac036684293af6a55b1071dcbf1651c5558b2dbc725377d3aedd00dd91d3f4a434bba603fadf753e
d05fbcfbc3f79e10fc38dd8e5fb193aa6ed9e7ec4a25471bddcd2edc664fd3e5f9847efa2d4d0f2fb2530255643b5fdd7734f71d4df07fdfd1ecdacff77dccae
6ee3be8f09a0bfb8ef638aa3958fd3c7ac5b17e86ad4f18239e6d1873ee9ce339f29656c28978c1c0b7dec23e0696632804125a74f3c497906384fe052953998
c0c1cd72ac6550cee5afa84c86099ec3d9501428253351a89e0934e7028e8cf4b057b7c2b3457ac227e6a8539f2d85a6b20a2cd7e3610d0e9dcc381c534983ae
1f14838a9f3e4f05be9aed4c1fb3ae0828d9db90b0267349ec7b481cac06af21a14ecd3e0e8ba6874543a95fb96acb1440adf40a3c6e2378486f05b5aa2204a7
e4620cadf944f9c9b87ae55dedcc8fe9e95dc67422008e15cd4ae058bef4745371ddb93cb53a136a37f0b443423bc584954b425b463778228187e0223ad5e84d
68dcd6d7cdb54b1d7aca147a3e88ef358d83c68758dcd5d720b7991b5866670a96a14bd8e3316cba008df1bc154ce1cc182ed339048f508f5c98cde0d5cb58e6
66c7df25b5cc73217b5824c6e23aeb18ffa454921c319ab602b5fed20f2cd349c4906bc2d6fd54c9c56ac37d6ae4c0ebae97c9744ac6d2f6bb35a22c6d6e21c5
9b64e1fd558bdf1dac24f902dc3d4c2697e88c2df2171842ac761029ef4ea88057079171f584c2bbb03293ade36fa33215d9df7e19a563c88c63364f705152ec
6c6ee0baa09474f45d6903ebae583318d432495109cf66aac2da4675ca6959bb0c879d65f77a2165392b6bae8ba6935654d9f4a7316786551dd8b0e5ddaabcc5
6a6562486a768937b97b33e73657c96ea35128cb0418bcb4dfdd6abf456d3d99434d31decec32a6917a36ef1582df01a6a37a91256daafafd46ed8ad2c12dee9
60f04ea51fe436a31686a6abc6525b5abf36b7df6bf3b3d7903c7ad0e62e9879d3cd32b8535129e6a7b9f6ed199f2c8b4b264ca2313e574da942b2ec0599223a
b96a05b1af73346f5ba3a21bd06825a68a5729e8edf65cc102af44cd862d854d8097416536a52b5c4ae899a1f72e85f589a28fb6bc5a5156bd3ae0b509855935
98b6b0145c6d5b115efde7187adba1eeec4cee05da57b2c82f708516396d055f86b576b51bd7ba95b051eb57aafbd5b0d2a8b5f72bed5a6d3fead7a2b0d789bf
027a3249a39af9ee61002f81d8b2f8fa418f6f7d0191aede733d18f3748feb2f1bf6b4f7f5171051ec7c0161be664023f58143008e045a713faac6edb85be9f6
a27aa51af7ea95c6c17ebbd28debbdb80d45bb3e687f15a00b0d8e3abdde60508b2bf52ee0aa61bb566977f6bb957aa3df890751bfda0b015c949f2b788a019b
ad6c01979ad7a3ff020000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f74
68656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be99
69bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae
38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bba
bac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000000000000000005b436f6e74656e74
5f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e
72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000190200007468656d652f7468656d652f7468
656d654d616e616765722e786d6c504b01022d0014000600080000002100b126ca5f050800000f2200001600000000000000000000000000d60200007468656d
652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027000000000000000000000000000f0b00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d0100000a0c00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax376\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;
\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;
\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;
\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;
\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;
\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;
\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Table;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 1;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 2;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 2;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 3;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 2;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 6;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 2;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 6;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 2;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Contemporary;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Elegant;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Professional;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 2;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Theme;\lsdsemihidden1 \lsdlocked0 Placeholder Text;
\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;
\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;
\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1;
\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdlocked0 Revision;
\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;
\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1;
\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;
\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;
\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;
\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;
\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;
\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;
\lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4;
\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4;
\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1;
\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1;
\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2;
\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2;
\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3;
\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4;
\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4;
\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5;
\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5;
\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6;
\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6;
\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark;
\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1;
\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1;
\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2;
\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3;
\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3;
\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4;
\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4;
\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5;
\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5;
\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6;
\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention;
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Unresolved Mention;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Link;}}{\*\datastore 01050000
02000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000404d
a74a33e2dc01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}

View File

@@ -0,0 +1,170 @@
{\rtf1\ansi\deff0
{\fonttbl
{\f0 Segoe UI;}
{\f1 Consolas;}
}
\fs24
\pard\b\f0\fs32 Specifica Form Barcode WMS\par
\pard\b0\fs22 Documento di lavoro aggiornato per replica Python del client barcode C# con miglioramenti di usabilita'.\par
\par
\pard\b 1. Obiettivo operativo\par
\pard\b0 La form barcode guida il magazziniere in movimenti WMS di due tipi:\par
\pard\li360 - prelievo verso la cella virtuale 9000000\par
\pard\li360 - versamento verso una cella reale di magazzino\par
\pard\li0 Entrambe le operazioni usano lo stesso motore di movimento DB; cambia la destinazione operativa.\par
\par
\pard\b 2. Code F1 / F2\par
\pard\b0 Il comportamento reale ricostruito e confermato e' il seguente:\par
\pard\li360 - F1 = coda ad alta priorita', cioe' picking list prenotata (IDStato = 1)\par
\pard\li360 - F2 = coda a bassa priorita', cioe' coda non prenotata (IDStato = 0)\par
\pard\li0 Dall'interfaccia backoffice si puo' prenotare una sola picking list per volta. La lista prenotata entra in F1; la seconda coda operativa viene proposta con F2.\par
\par
\pard\b 3. File C# analizzati\par
\pard\b0\li360 - FSkMovimenti.cs\par
\pard\li360 - FSkAccettazione.cs\par
\pard\li360 - FRMagViewLayout.cs\par
\pard\li360 - GridViewColumnButtonMenu.cs\par
\pard\li360 - script.sql\par
\par
\pard\b 4. Comandi principali della form C#\par
\pard\b0\li360 - F1 / H Priority: imposta iStatoPkPallet = 1 e carica la prossima riga da XMag_ViewPackingList con IDStato = 1\par
\pard\li360 - F2 / L Priority: imposta iStatoPkPallet = 0 e carica la prossima riga da XMag_ViewPackingList con IDStato = 0\par
\pard\li360 - Enter / Salva: esegue il movimento quando i campi sono completi\par
\pard\li360 - F4 / Elimina: forza uno scarico verso 9000000\par
\par
\pard\b 5. Significato reale dei campi nella form legacy\par
\pard\b0 La UI C# e' poco intuitiva perche' i nomi dei campi non spiegano il flusso.\par
\pard\li360 - txtDocRif\par
\pard\li720 etichetta visibile: Pallet\par
\pard\li720 significato reale: barcode del pallet letto o da confermare\par
\pard\li360 - txtBarcode\par
\pard\li720 etichetta visibile: Cella\par
\pard\li720 significato reale: destinazione operativa; nel picking viene impostata a 9000000\par
\pard\li360 - lblTesto1\par
\pard\li720 e' il vero indicatore di stato; viene usato anche come barra colorata\par
\pard\li360 - lblTesto2\par
\pard\li720 Documento nella fase di proposta picking; riga informativa variabile nella fase di conferma\par
\pard\li360 - lblTesto3\par
\pard\li720 cliente / nazione nella fase di proposta picking; riga informativa variabile nella fase di conferma\par
\pard\li360 - lblTesto4\par
\pard\li720 pallet atteso nella fase di proposta picking; riga informativa variabile nella fase di conferma\par
\par
\pard\b 6. Query principale F1 / F2\par
\pard\b0 Metodo chiave nel C#: \f1 GetDatiPallet("", "", idStato)\f0\par
\pard\li360 Query:\par
\pard\li720\f1 SELECT TOP 1 * FROM XMag_ViewPackingList WHERE Ordinamento > 0 AND IDStato = {idStato} ORDER BY Ordinamento\f0\par
\pard\li0 Effetto reale:\par
\pard\li360 1. viene scelta la prossima UDC della coda selezionata\par
\pard\li360 2. vengono riempiti i label con ubicazione, documento, cliente e pallet atteso\par
\pard\li360 3. il campo Cella viene impostato a 9000000\par
\pard\li360 4. l'operatore legge il pallet nel campo Pallet\par
\pard\li360 5. se il pallet coincide con quello atteso, viene eseguito il prelievo\par
\par
\pard\b 7. Reset dei campi e barra rossa / verde\par
\pard\b0 Ricostruzione aggiornata dal C#:\par
\pard\li360 - non emerge un pulsante esplicito che entri formalmente in una "modalita' versamento"\par
\pard\li360 - i reset vengono fatti in modo automatico dentro \f1 GetDatiPallet(...)\f0\ e \f1 GetDatiPalletLotto(...)\f0\par
\pard\li360 - all'inizio di questi metodi il C# pulisce i label, azzera \f1 txtDocRif\f0\ e imposta \f1 lblTesto1.BackColor = Red\f0\par
\pard\li360 - quando il dato viene trovato correttamente, \f1 lblTesto1\f0\ passa a \f1 LightGreen\f0\ o \f1 GreenYellow\f0\par
\pard\li0 Quindi la "barra rossa / verde" ricordata dall'operatore coincide con \f1 lblTesto1\f0, non con un controllo separato.\par
\par
\pard\b 8. Validazione dello scan\par
\pard\b0 Metodo chiave: \f1 SalvaOk()\f0\par
\pard\li360 - se \f1 txtBarcode = 9000000\f0, il pallet letto in \f1 txtDocRif\f0\ deve coincidere con \f1 lblTesto4\f0\par
\pard\li360 - se non coincide: errore \f1 Errata Lettura\f0\ e blocco operazione\par
\pard\li360 - se coincide: chiamata a \f1 Ricevi(...)\f0\par
\pard\li0 Questa e' la protezione che impedisce di scaricare il pallet sbagliato durante il picking.\par
\par
\pard\b 9. Esecuzione del movimento\par
\pard\b0 Metodi chiave nel C#:\par
\pard\li360 - \f1 Ricevi(...)\f0\par
\pard\li360 - \f1 spt_SaveStoredProcedure(...)\f0\par
\pard\li0 Stored procedure usata:\par
\pard\li360\f1 sp_xMagGestioneMagazziniPallet\f0\par
\pard\li0 Parametri principali:\par
\pard\li360 - IDOperatore\par
\pard\li360 - BarcodeCella\par
\pard\li360 - BarcodePallet\par
\pard\li360 - NumeroCella\par
\pard\li0 Dopo il movimento il C# richiama ancora \f1 GetDatiPallet(sBarcodePallet, sBarcodeCella, iStatoPkPallet)\f0.\par
\pard\li0 I messaggi di conferma vengono quindi scritti a valle della transazione DB, non prima.\par
\par
\pard\b 10. Convenzioni logistiche emerse dalla verifica sul campo\par
\pard\b0 La verifica con il magazziniere ha chiarito il significato delle celle convenzionali usate dai fallback del sistema.\par
\pard\li360 - 9000000 = destinazione logica di input usata dalla form per il prelievo\par
\pard\li360 - 9999 = locazione convenzionale 7G.1.1\par
\pard\li360 - 1000 = locazione convenzionale 5E1.1\par
\pard\li0 Questo significa che:\par
\pard\li360 - una UDC prelevata dalla picking list finisce logicamente verso 9000000, ma viene poi rappresentata operativamente come 7G.1.1\par
\pard\li360 - una UDC non scaffalata nella picking list viene proposta con la locazione convenzionale 5E1.1\par
\pard\li0 I fallback che sembravano "sporchi" nel codice sono quindi parte della semantica reale del magazzino.\par
\par
\pard\b 11. Comportamento osservato nel prelievo picking list\par
\pard\b0 Flusso operativo confermato:\par
\pard\li360 1. il magazziniere preme F1 o F2\par
\pard\li360 2. il barcode mostra la prossima UDC della coda scelta con la sua locazione\par
\pard\li360 3. l'operatore legge il pallet atteso\par
\pard\li360 4. il movimento parte verso la destinazione logica 9000000\par
\pard\li360 5. alla conferma compare \f1 Ok Scarico\f0\ nella prima label\par
\pard\li360 6. compare \f1 7G.1.1\f0\ come locazione convenzionale di spedito\par
\pard\li360 7. dopo il tempo della logica lato server viene proposta la UDC successiva\par
\pard\li0 Questo comportamento percepito dall'operatore e' compatibile con il fatto che le label vengano aggiornate dopo il ritorno della stored.\par
\par
\pard\b 12. Caso UDC non scaffalata\par
\pard\b0 Nella vista SQL la UDC non scaffalata usa un fallback tecnico, ma per l'operatore la locazione visibile e significativa e':\par
\pard\li360 - 5E1.1\par
\pard\li0 Quindi il client Python non deve mostrare soltanto la stringa tecnica `Non scaff.`, ma deve privilegiare la convenzione operativa 5E1.1 dove il legacy la rende significativa.\par
\par
\pard\b 13. Legame con la prenotazione della picking list\par
\pard\b0 La prenotazione backoffice chiama:\par
\pard\li360\f1 sp_xExePackingListPallet\f0\par
\pard\li0 Effetto DB:\par
\pard\li360 - mette \f1 Celle.IDStato = 1\f0\ sulle celle del documento prenotato\par
\pard\li360 - se richiamata di nuovo, riporta \f1 IDStato = 0\f0\par
\pard\li360 - scrive il documento in \f1 LogPackingList\f0\par
\pard\li0 Dopo ogni prelievo, \f1 sp_xMagGestioneMagazziniPallet\f0\ richiama:\par
\pard\li360\f1 sp_ControllaPrenotazionePackingListPalletNew\f0\par
\pard\li0 Questa procedura ri-prenota automaticamente le celle residue della picking list attiva.\par
\pard\li0 Quindi:\par
\pard\li360 - F1 continua a scorrere la picking list prenotata residua\par
\pard\li360 - F2 continua a scorrere la coda non prenotata\par
\par
\pard\b 14. Tempi percepiti dall'operatore\par
\pard\b0 Nel C# non emerge un vero timer di reset a 2 secondi. Il ritardo percepito dal magazziniere e' piu' coerente con:\par
\pard\li360 - tempo di transazione DB\par
\pard\li360 - tempo di riesecuzione della logica server\par
\pard\li360 - tempo di riaggancio alla UDC successiva\par
\pard\li0 Quindi il "reset" percepito e' in realta' la finestra temporale durante cui il terminale attende l'esito e poi aggiorna le label.\par
\par
\pard\b 15. Allineamento richiesto nel client Python\par
\pard\b0 Da mantenere uguale al C# e alla prassi operativa:\par
\pard\li360 - una sola picking list prenotata per volta\par
\pard\li360 - F1 legge IDStato = 1\par
\pard\li360 - F2 legge IDStato = 0\par
\pard\li360 - proposta UDC ordinata da DB\par
\pard\li360 - movimento tramite la stessa stored legacy \f1 sp_xMagGestioneMagazziniPallet\f0\par
\pard\li360 - validazione del pallet atteso prima del prelievo verso 9000000\par
\pard\li360 - visualizzazione di 7G.1.1 come locazione convenzionale di spedito\par
\pard\li360 - visualizzazione di 5E1.1 per le UDC non scaffalate\par
\par
\pard\b 16. Criticita' di usabilita' della form legacy\par
\pard\b0\li360 - etichette fuorvianti: Cella e Pallet non spiegano cosa va letto in quel momento\par
\pard\li360 - il valore 9000000 compare senza contesto esplicito\par
\pard\li360 - non e' chiaro visivamente se si sta lavorando in F1 o in F2\par
\pard\li360 - la validazione contro il pallet atteso non e' evidente a schermo\par
\pard\li360 - il flusso dipende da reset e colori impliciti, quindi richiede addestramento\par
\par
\pard\b 17. Specifica proposta per il nuovo client Python barcode\par
\pard\b0 Replica funzionale fedele, ma con UI piu' guidata.\par
\pard\li360 - una sola finestra tkinter pura\par
\pard\li360 - service layer separato dalla UI\par
\pard\li360 - repository layer separato dall'accesso SQL\par
\pard\li360 - focus sempre sul campo scansione corretto\par
\pard\li360 - stato visivo chiaro: F1, F2, versamento, conferma\par
\pard\li360 - messaggi espliciti per l'operatore: cosa leggere adesso\par
\pard\li360 - barra stato grande con colori coerenti al legacy\par
\pard\li360 - gestione esplicita delle locazioni convenzionali 5E1.1 e 7G.1.1\par
\par
\pard\b 18. Conclusione\par
\pard\b0 Il comportamento C# della form barcode e' abbastanza chiaro: e' piu' coerente di quanto sembri, ma e' esposto con una UI poco autoesplicativa. Il client Python deve quindi mantenere la semantica legacy lato DB e coda operativa, ma renderla finalmente leggibile e stabile per l'operatore.\par
}

View File

@@ -0,0 +1,68 @@
# 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.

53
specifica_storico_udc.md Normal file
View File

@@ -0,0 +1,53 @@
# Specifica - Storico movimenti UDC
## Obiettivo
La finestra "Storico movimenti UDC" deve permettere di ricostruire, in sola lettura, la sequenza dei movimenti registrati per una UDC. La funzione nasce come strumento di diagnosi per capire dove e da chi una unita' di carico e' stata movimentata fino alla spedizione.
## Accesso
- La finestra si apre dal launcher principale tramite il pulsante "Storico movimenti UDC".
- In una fase successiva potra' essere richiamata anche dalle form esistenti, ad esempio dalla ricerca UDC o dal dettaglio picking list, passando direttamente il codice UDC selezionato.
- La finestra e' disponibile agli operatori autenticati secondo il permesso `launcher.open_history_udc`.
## Comportamento UI
- La finestra usa lo stesso posizionamento delle altre form del backoffice.
- Tutte le interrogazioni al database sono asincrone.
- Durante il caricamento deve comparire l'overlay standard dell'applicazione.
- Il filtro principale e' il codice UDC, con ricerca parziale.
- La griglia mostra al massimo 500 righe per evitare carichi eccessivi durante i test.
- Le righe di tipo `V` sono evidenziate come versamenti/carichi.
- Le righe di tipo `P` sono evidenziate come prelievi/scarichi.
## Dati visualizzati
La prima implementazione legge da `dbo.MagazziniPallet`, collegando quando possibile `dbo.Celle` per mostrare l'ubicazione in forma leggibile.
La ricerca non si limita al match diretto su `MagazziniPallet.Attributo`: include anche i movimenti collegati tramite la catena `ID` / `IDRiferimento`. Questo e' importante nel vecchio modello dati, perche' un prelievo o un trasferimento puo' essere legato alla riga originaria di versamento.
La griglia integra anche la vista `dbo.XMag_GiacenzaPalletPlistChiuse` come fallback gestionale:
- prima vengono mostrati i movimenti fisici reali `V` e `P` da `dbo.MagazziniPallet`
- se per la UDC esiste almeno un movimento fisico `P`, anche collegato tramite la catena `ID` / `IDRiferimento`, non viene aggiunta nessuna riga diagnostica
- se non esistono movimenti `P` ma la UDC compare in una picking list gestionale chiusa, viene mostrata una riga diagnostica `SPED`
La riga `SPED` non e' un movimento fisico: serve solo a spiegare perche' le form operative considerano la UDC gia' spedita anche quando manca la tracciatura fisica `P`. Deve quindi essere considerata l'ultima opzione: se esistono movimenti reali `V` o `P`, questi restano la fonte primaria per data, utente e ubicazione.
Campi principali:
- ID movimento
- Tipo movimento
- Riferimento
- UDC
- IDCella
- Ubicazione
- DataMagazzino
- Utente di inserimento
- Data inserimento
- Utente di modifica
- Data modifica
## Limiti noti
La funzione e' diagnostica e non modifica dati. Se in futuro servira' uno storico piu' ricco, sara' opportuno introdurre una vista o tabella storica dedicata con nomi parlanti nel nuovo schema FlyWMS.

364
storico_pickinglist.py Normal file
View File

@@ -0,0 +1,364 @@
"""Read-only picking-list history window."""
from __future__ import annotations
from datetime import date, datetime, timedelta
import tkinter as tk
from tkinter import messagebox, ttk
from typing import Any
import customtkinter as ctk
from busy_overlay import InlineBusyOverlay
from gestione_aree import AsyncRunner
from locale_text import load_locale_catalog, text as loc_text
from ui_theme import theme_color, theme_font, theme_section, theme_value
from window_placement import place_window_fullsize_below_parent_later
SQL_STORICO_PL = """
WITH base AS (
SELECT *
FROM dbo.py_XMag_ViewPackingListStorico
),
agg AS (
SELECT
Documento,
MAX(DataDocumento) AS DataDocumento,
MAX(StatoDocumento) AS StatoDocumento,
MAX(NAZIONE) AS NAZIONE,
MAX(CodNazione) AS CodNazione,
COUNT(DISTINCT Pallet) AS TotUDC,
SUM(CASE WHEN Cella = 9999 THEN 1 ELSE 0 END) AS RigheSpedite,
SUM(CASE WHEN Cella <> 9999 OR Cella IS NULL THEN 1 ELSE 0 END) AS RigheResidue,
COUNT(*) AS RigheTotali,
MIN(Ordinamento) AS PrimoOrdine,
MAX(IDStato) AS IDStato
FROM base
GROUP BY Documento
)
SELECT
Documento,
DataDocumento,
StatoDocumento,
NAZIONE,
CodNazione,
TotUDC,
RigheResidue,
RigheSpedite,
RigheTotali,
CASE
WHEN StatoDocumento = 'D' THEN 'Chiusa'
WHEN RigheResidue = 0 THEN 'Esaurita'
WHEN RigheSpedite > 0 THEN 'In corso'
ELSE 'Da lavorare'
END AS StatoOperativo,
IDStato,
PrimoOrdine
FROM agg
WHERE (:documento IS NULL OR CAST(Documento AS varchar(32)) LIKE CONCAT('%', :documento, '%'))
ORDER BY Documento DESC;
"""
SQL_STORICO_PL_DETAILS = """
SELECT
Documento,
Pallet,
Lotto,
Articolo,
Descrizione,
Qta,
DataDocumento,
StatoDocumento,
Cella,
Ubicazione,
Ordinamento,
IDStato
FROM dbo.py_XMag_ViewPackingListStorico
WHERE Documento = :documento
ORDER BY Ordinamento, Pallet;
"""
def _rows_to_dicts(res: dict[str, Any] | None) -> list[dict[str, Any]]:
if not isinstance(res, dict):
return []
rows = res.get("rows") or []
cols = res.get("columns") or []
if rows and isinstance(rows[0], dict):
return [row for row in rows if isinstance(row, dict)]
out: list[dict[str, Any]] = []
for row in rows:
if isinstance(row, (list, tuple)) and cols:
out.append({str(cols[i]): row[i] for i in range(min(len(cols), len(row)))})
return out
def _format_date(value: Any) -> str:
"""Format SQL Server/SAMA date values into dd/mm/yyyy for operators."""
if value in (None, ""):
return ""
if isinstance(value, datetime):
return value.strftime("%d/%m/%Y")
if isinstance(value, date):
return value.strftime("%d/%m/%Y")
if isinstance(value, (int, float)):
try:
# SQL Server numeric datetime: CAST(datetime AS int), day 0 = 1900-01-01.
return (datetime(1900, 1, 1) + timedelta(days=int(value))).strftime("%d/%m/%Y")
except Exception:
return str(value)
text = str(value).strip()
if not text:
return ""
if text.isdigit() and len(text) == 8:
try:
return datetime.strptime(text, "%Y%m%d").strftime("%d/%m/%Y")
except ValueError:
pass
try:
return datetime.fromisoformat(text.replace("Z", "+00:00")).strftime("%d/%m/%Y")
except Exception:
return text
class StoricoPickingListWindow(ctk.CTkToplevel):
"""Window that shows historical picking-list status and details."""
def __init__(self, parent: tk.Widget, db_client, session=None):
super().__init__(parent)
self.db_client = db_client
self.session = session
self._theme = theme_section("history_picking_window", theme_section("pickinglist_window", {}))
self._locale_catalog = load_locale_catalog()
self._async = AsyncRunner(self)
self._busy = InlineBusyOverlay(self, self._theme)
self.var_documento = tk.StringVar()
self.title(loc_text("history.picking.title", catalog=self._locale_catalog, default="Storico Picking List"))
self.geometry(str(theme_value(self._theme, "window_geometry", "1200x720")))
minsize = theme_value(self._theme, "window_minsize", [980, 560])
self.minsize(int(minsize[0]), int(minsize[1]))
try:
self.configure(fg_color=theme_color(self._theme, "window_fg_color", ("#efefef", "#2f2f2f")))
except Exception:
pass
self._build_ui()
self.after(300, self._load_master)
def _build_ui(self) -> None:
self.grid_rowconfigure(1, weight=1)
self.grid_rowconfigure(3, weight=1)
self.grid_columnconfigure(0, weight=1)
top = ctk.CTkFrame(
self,
fg_color=theme_color(self._theme, "toolbar_frame_fg_color", ("#d7d7d7", "#3b3b3b")),
)
top.grid(row=0, column=0, sticky="ew", padx=8, pady=8)
top.grid_columnconfigure(3, weight=1)
label_font = theme_font(self._theme, "toolbar_label_font", ("Segoe UI", 10))
entry_font = theme_font(self._theme, "entry_font", ("Segoe UI", 10))
button_font = theme_font(self._theme, "toolbar_button_font", ("Segoe UI", 10, "bold"))
ctk.CTkLabel(top, text="Documento:", font=label_font).grid(row=0, column=0, sticky="w")
ctk.CTkEntry(top, textvariable=self.var_documento, width=140, font=entry_font).grid(
row=0, column=1, sticky="w", padx=(4, 12)
)
ctk.CTkButton(
top,
text=loc_text("history.picking.button.reload", catalog=self._locale_catalog, default="Ricarica"),
command=self._load_master,
font=button_font,
).grid(
row=0, column=2, sticky="w"
)
self.master_tree = self._make_tree(
row=1,
columns=("Documento", "Data", "StatoDoc", "NAZIONE", "TotUDC", "Residue", "Spedite", "Stato", "IDStato"),
widths={
"Documento": 100,
"Data": 110,
"StatoDoc": 75,
"NAZIONE": 260,
"TotUDC": 90,
"Residue": 90,
"Spedite": 90,
"Stato": 120,
"IDStato": 80,
},
)
self.master_tree.bind("<<TreeviewSelect>>", self._on_master_select)
ctk.CTkLabel(
self,
text=loc_text("history.picking.detail_title", catalog=self._locale_catalog, default="Dettaglio contenuto"),
anchor="w",
font=button_font,
).grid(
row=2, column=0, sticky="ew", padx=8, pady=(4, 2)
)
self.detail_tree = self._make_tree(
row=3,
columns=("Pallet", "Lotto", "Articolo", "Descrizione", "Qta", "Data", "StatoDoc", "Cella", "Ubicazione", "Ordine"),
widths={
"Pallet": 120,
"Lotto": 120,
"Articolo": 130,
"Descrizione": 320,
"Qta": 80,
"Data": 110,
"StatoDoc": 75,
"Cella": 80,
"Ubicazione": 180,
"Ordine": 80,
},
)
def _make_tree(self, *, row: int, columns: tuple[str, ...], widths: dict[str, int]) -> ttk.Treeview:
wrap = ctk.CTkFrame(self)
wrap.grid(row=row, column=0, sticky="nsew", padx=8, pady=(0, 8))
wrap.grid_rowconfigure(0, weight=1)
wrap.grid_columnconfigure(0, weight=1)
tree = ttk.Treeview(wrap, columns=columns, show="headings")
for col in columns:
tree.heading(col, text=col)
tree.column(col, width=widths.get(col, 100), anchor="w")
tree.tag_configure("done", background="#ECECEC")
tree.tag_configure("active", background="#EAF7EA")
sy = ttk.Scrollbar(wrap, orient="vertical", command=tree.yview)
sx = ttk.Scrollbar(wrap, orient="horizontal", command=tree.xview)
tree.configure(yscrollcommand=sy.set, xscrollcommand=sx.set)
tree.grid(row=0, column=0, sticky="nsew")
sy.grid(row=0, column=1, sticky="ns")
sx.grid(row=1, column=0, sticky="ew")
return tree
def _load_master(self) -> None:
params = {"documento": str(self.var_documento.get() or "").strip() or None}
async def _job():
return await self.db_client.query_json(SQL_STORICO_PL, params)
def _ok(res):
self._fill_master(_rows_to_dicts(res))
def _err(ex):
messagebox.showerror(
loc_text("history.picking.msg.title", catalog=self._locale_catalog, default="Storico Picking List"),
loc_text(
"history.picking.msg.load_error",
catalog=self._locale_catalog,
default="Errore caricamento:\n{error}",
).format(error=ex),
parent=self,
)
self._async.run(
_job(),
_ok,
_err,
busy=self._busy,
message=loc_text(
"history.picking.busy.master",
catalog=self._locale_catalog,
default="Carico storico picking list...",
),
)
def _fill_master(self, rows: list[dict[str, Any]]) -> None:
self.master_tree.delete(*self.master_tree.get_children(""))
self.detail_tree.delete(*self.detail_tree.get_children(""))
for index, row in enumerate(rows):
stato = str(row.get("StatoOperativo") or "")
tag = "done" if stato in {"Chiusa", "Esaurita"} else "active" if int(row.get("IDStato") or 0) == 1 else ""
self.master_tree.insert(
"",
"end",
iid=f"doc_{row.get('Documento')}_{index}",
values=(
row.get("Documento", ""),
_format_date(row.get("DataDocumento", "")),
row.get("StatoDocumento", ""),
row.get("NAZIONE", ""),
row.get("TotUDC", ""),
row.get("RigheResidue", ""),
row.get("RigheSpedite", ""),
stato,
row.get("IDStato", ""),
),
tags=(tag,) if tag else (),
)
def _on_master_select(self, _event=None) -> None:
selected = self.master_tree.selection()
if not selected:
return
values = self.master_tree.item(selected[0], "values")
if not values:
return
documento = values[0]
async def _job():
return await self.db_client.query_json(SQL_STORICO_PL_DETAILS, {"documento": documento})
def _ok(res):
self._fill_detail(_rows_to_dicts(res))
def _err(ex):
messagebox.showerror(
loc_text("history.picking.msg.title", catalog=self._locale_catalog, default="Storico Picking List"),
loc_text(
"history.picking.msg.detail_error",
catalog=self._locale_catalog,
default="Errore dettaglio:\n{error}",
).format(error=ex),
parent=self,
)
self._async.run(
_job(),
_ok,
_err,
busy=self._busy,
message=loc_text(
"history.picking.busy.detail",
catalog=self._locale_catalog,
default="Carico dettaglio picking list...",
),
)
def _fill_detail(self, rows: list[dict[str, Any]]) -> None:
self.detail_tree.delete(*self.detail_tree.get_children(""))
for row in rows:
done = str(row.get("StatoDocumento") or "") == "D" or int(row.get("Cella") or 0) == 9999
self.detail_tree.insert(
"",
"end",
values=(
row.get("Pallet", ""),
row.get("Lotto", ""),
row.get("Articolo", ""),
row.get("Descrizione", ""),
row.get("Qta", ""),
_format_date(row.get("DataDocumento", "")),
row.get("StatoDocumento", ""),
row.get("Cella", ""),
row.get("Ubicazione", ""),
row.get("Ordinamento", ""),
),
tags=("done",) if done else (),
)
def open_storico_pickinglist_window(parent: tk.Misc, db_client, session=None) -> tk.Misc:
"""Open the picking-list history window."""
win = StoricoPickingListWindow(parent, db_client, session=session)
place_window_fullsize_below_parent_later(parent, win)
win.bind("<Escape>", lambda _e: win.destroy())
return win

312
storico_udc.py Normal file
View File

@@ -0,0 +1,312 @@
"""Read-only UDC movement history window."""
from __future__ import annotations
import tkinter as tk
from tkinter import messagebox, ttk
from typing import Any
import customtkinter as ctk
from busy_overlay import InlineBusyOverlay
from gestione_aree import AsyncRunner
from locale_text import load_locale_catalog, text as loc_text
from ui_theme import theme_color, theme_font, theme_section, theme_value
from window_placement import place_window_fullsize_below_parent_later
SQL_STORICO_UDC = """
WITH direct AS (
SELECT
ID,
IDRiferimento
FROM dbo.MagazziniPallet
WHERE (:udc IS NULL OR Attributo COLLATE Latin1_General_CI_AS LIKE CONCAT('%', :udc, '%'))
),
shipped AS (
SELECT
shipped.BarcodePallet,
shipped.NumeroPallet,
shipped.IDMagazzino,
shipped.IDArea,
shipped.IDCella
FROM dbo.XMag_GiacenzaPalletPlistChiuse shipped
WHERE (:udc IS NULL OR shipped.BarcodePallet COLLATE Latin1_General_CI_AS LIKE CONCAT('%', :udc, '%'))
),
has_physical_p AS (
SELECT DISTINCT
s.BarcodePallet
FROM shipped s
JOIN dbo.MagazziniPallet seed
ON seed.Attributo COLLATE Latin1_General_CI_AS =
s.BarcodePallet COLLATE Latin1_General_CI_AS
JOIN dbo.MagazziniPallet mp
ON mp.Tipo = 'P'
AND (
mp.Attributo COLLATE Latin1_General_CI_AS =
s.BarcodePallet COLLATE Latin1_General_CI_AS
OR mp.ID = seed.ID
OR mp.IDRiferimento = seed.ID
OR (seed.IDRiferimento IS NOT NULL AND seed.IDRiferimento > 0 AND mp.ID = seed.IDRiferimento)
OR (seed.IDRiferimento IS NOT NULL AND seed.IDRiferimento > 0 AND mp.IDRiferimento = seed.IDRiferimento)
)
),
roots AS (
SELECT ID AS RootID
FROM direct
UNION
SELECT IDRiferimento AS RootID
FROM direct
WHERE IDRiferimento IS NOT NULL AND IDRiferimento > 0
UNION
SELECT mp.ID AS RootID
FROM dbo.MagazziniPallet mp
JOIN shipped s
ON s.BarcodePallet COLLATE Latin1_General_CI_AS =
mp.Attributo COLLATE Latin1_General_CI_AS
)
SELECT TOP (500) *
FROM (
SELECT
CAST(mp.ID AS int) AS ID,
CAST(mp.Tipo AS varchar(8)) AS Tipo,
CAST(mp.IDRiferimento AS int) AS IDRiferimento,
CAST(mp.NumeroPallet AS int) AS NumeroPallet,
CAST(mp.Attributo AS varchar(16)) AS UDC,
CAST(mp.IDMagazzino AS int) AS IDMagazzino,
CAST(mp.IDArea AS int) AS IDArea,
CAST(mp.IDCella AS int) AS IDCella,
UPPER(
CONCAT(
COALESCE(LTRIM(RTRIM(c.Corsia)), 'NA'), '.',
COALESCE(LTRIM(RTRIM(CAST(c.Colonna AS varchar(32)))), 'NA'), '.',
COALESCE(LTRIM(RTRIM(CAST(c.Fila AS varchar(32)))), 'NA')
)
) AS Ubicazione,
CAST(mp.DataMagazzino AS datetime) AS DataMagazzino,
CAST(mp.InsUtente AS varchar(50)) AS InsUtente,
CAST(mp.InsDataOra AS datetime) AS InsDataOra,
CAST(mp.ModUtente AS varchar(50)) AS ModUtente,
CAST(mp.ModDataOra AS datetime) AS ModDataOra
FROM dbo.MagazziniPallet mp
LEFT JOIN dbo.Celle c ON c.ID = mp.IDCella
WHERE
:udc IS NULL
OR mp.Attributo COLLATE Latin1_General_CI_AS LIKE CONCAT('%', :udc, '%')
OR mp.ID IN (SELECT RootID FROM roots)
OR mp.IDRiferimento IN (SELECT RootID FROM roots)
UNION ALL
SELECT
CAST(NULL AS int) AS ID,
CAST('SPED' AS varchar(8)) AS Tipo,
CAST(NULL AS int) AS IDRiferimento,
CAST(s.NumeroPallet AS int) AS NumeroPallet,
CAST(s.BarcodePallet AS varchar(16)) AS UDC,
CAST(s.IDMagazzino AS int) AS IDMagazzino,
CAST(s.IDArea AS int) AS IDArea,
CAST(s.IDCella AS int) AS IDCella,
UPPER(
CONCAT(
COALESCE(LTRIM(RTRIM(c.Corsia)), 'NA'), '.',
COALESCE(LTRIM(RTRIM(CAST(c.Colonna AS varchar(32)))), 'NA'), '.',
COALESCE(LTRIM(RTRIM(CAST(c.Fila AS varchar(32)))), 'NA')
)
) AS Ubicazione,
CAST(NULL AS datetime) AS DataMagazzino,
CAST('Picking list chiusa' AS varchar(50)) AS InsUtente,
CAST(NULL AS datetime) AS InsDataOra,
CAST(NULL AS varchar(50)) AS ModUtente,
CAST(NULL AS datetime) AS ModDataOra
FROM shipped s
LEFT JOIN dbo.Celle c ON c.ID = s.IDCella
LEFT JOIN has_physical_p hp
ON hp.BarcodePallet COLLATE Latin1_General_CI_AS =
s.BarcodePallet COLLATE Latin1_General_CI_AS
WHERE hp.BarcodePallet IS NULL
) rows
ORDER BY UDC, CASE WHEN ID IS NULL THEN 0 ELSE 1 END DESC, ID DESC;
"""
def _rows_to_dicts(res: dict[str, Any] | None) -> list[dict[str, Any]]:
if not isinstance(res, dict):
return []
rows = res.get("rows") or []
cols = res.get("columns") or []
if rows and isinstance(rows[0], dict):
return [row for row in rows if isinstance(row, dict)]
out: list[dict[str, Any]] = []
for row in rows:
if isinstance(row, (list, tuple)) and cols:
out.append({str(cols[i]): row[i] for i in range(min(len(cols), len(row)))})
return out
class StoricoUDCWindow(ctk.CTkToplevel):
"""Window that shows the P/V movement timeline of one or more UDCs."""
def __init__(self, parent: tk.Widget, db_client, session=None, initial_udc: str | None = None):
super().__init__(parent)
self.db_client = db_client
self.session = session
self._theme = theme_section("history_udc_window", theme_section("search_window", {}))
self._locale_catalog = load_locale_catalog()
self._async = AsyncRunner(self)
self._busy = InlineBusyOverlay(self, self._theme)
self.var_udc = tk.StringVar(value=str(initial_udc or ""))
self.title(loc_text("history.udc.title", catalog=self._locale_catalog, default="Storico movimenti UDC"))
self.geometry(str(theme_value(self._theme, "window_geometry", "1100x720")))
minsize = theme_value(self._theme, "window_minsize", [900, 560])
self.minsize(int(minsize[0]), int(minsize[1]))
try:
self.configure(fg_color=theme_color(self._theme, "window_fg_color", ("#efefef", "#2f2f2f")))
except Exception:
pass
self._build_ui()
if initial_udc:
self.after(250, self._do_search)
def _build_ui(self) -> None:
self.grid_rowconfigure(1, weight=1)
self.grid_columnconfigure(0, weight=1)
top = ctk.CTkFrame(
self,
fg_color=theme_color(self._theme, "toolbar_frame_fg_color", ("#d7d7d7", "#3b3b3b")),
)
top.grid(row=0, column=0, sticky="ew", padx=8, pady=8)
top.grid_columnconfigure(3, weight=1)
label_font = theme_font(self._theme, "toolbar_label_font", ("Segoe UI", 10))
entry_font = theme_font(self._theme, "entry_font", ("Segoe UI", 10))
button_font = theme_font(self._theme, "toolbar_button_font", ("Segoe UI", 10, "bold"))
ctk.CTkLabel(top, text="UDC:", font=label_font).grid(row=0, column=0, sticky="w")
ctk.CTkEntry(top, textvariable=self.var_udc, width=160, font=entry_font).grid(
row=0, column=1, sticky="w", padx=(4, 12)
)
ctk.CTkButton(
top,
text=loc_text("history.udc.button.search", catalog=self._locale_catalog, default="Cerca"),
command=self._do_search,
font=button_font,
).grid(
row=0, column=2, sticky="w"
)
wrap = ctk.CTkFrame(self)
wrap.grid(row=1, column=0, sticky="nsew", padx=8, pady=(0, 8))
wrap.grid_rowconfigure(0, weight=1)
wrap.grid_columnconfigure(0, weight=1)
cols = (
"ID",
"Tipo",
"Rif",
"UDC",
"Cella",
"Ubicazione",
"Data",
"InsUtente",
"InsDataOra",
"ModUtente",
"ModDataOra",
)
self.tree = ttk.Treeview(wrap, columns=cols, show="headings")
for col in cols:
self.tree.heading(col, text=col)
self.tree.column(col, width=90, anchor="w")
self.tree.column("ID", width=70, anchor="e")
self.tree.column("Tipo", width=55, anchor="center")
self.tree.column("Rif", width=70, anchor="e")
self.tree.column("UDC", width=110)
self.tree.column("Cella", width=70, anchor="e")
self.tree.column("Ubicazione", width=130)
self.tree.column("Data", width=150)
self.tree.column("InsDataOra", width=150)
self.tree.column("ModDataOra", width=150)
self.tree.tag_configure("versamento", background="#EAF7EA")
self.tree.tag_configure("prelievo", background="#FFF0E6")
self.tree.tag_configure("spedita", background="#FFECEC", foreground="#B00020")
sy = ttk.Scrollbar(wrap, orient="vertical", command=self.tree.yview)
sx = ttk.Scrollbar(wrap, orient="horizontal", command=self.tree.xview)
self.tree.configure(yscrollcommand=sy.set, xscrollcommand=sx.set)
self.tree.grid(row=0, column=0, sticky="nsew")
sy.grid(row=0, column=1, sticky="ns")
sx.grid(row=1, column=0, sticky="ew")
def _do_search(self) -> None:
udc = str(self.var_udc.get() or "").strip()
params = {"udc": udc or None}
async def _job():
return await self.db_client.query_json(SQL_STORICO_UDC, params)
def _ok(res):
rows = _rows_to_dicts(res)
self._fill(rows)
if not rows:
messagebox.showinfo(
loc_text("history.udc.msg.title", catalog=self._locale_catalog, default="Storico UDC"),
loc_text("history.udc.msg.empty", catalog=self._locale_catalog, default="Nessun movimento trovato."),
parent=self,
)
def _err(ex):
messagebox.showerror(
loc_text("history.udc.msg.title", catalog=self._locale_catalog, default="Storico UDC"),
loc_text(
"history.udc.msg.error",
catalog=self._locale_catalog,
default="Errore ricerca:\n{error}",
).format(error=ex),
parent=self,
)
self._async.run(
_job(),
_ok,
_err,
busy=self._busy,
message=loc_text("history.udc.busy", catalog=self._locale_catalog, default="Carico storico UDC..."),
)
def _fill(self, rows: list[dict[str, Any]]) -> None:
self.tree.delete(*self.tree.get_children(""))
def _value(row: dict[str, Any], name: str) -> Any:
value = row.get(name, "")
return "" if value is None else value
for row in rows:
tipo = str(row.get("Tipo") or "")
tag = "versamento" if tipo == "V" else "prelievo" if tipo == "P" else "spedita" if tipo == "SPED" else ""
self.tree.insert(
"",
"end",
values=(
_value(row, "ID"),
tipo,
_value(row, "IDRiferimento"),
_value(row, "UDC"),
_value(row, "IDCella"),
_value(row, "Ubicazione"),
_value(row, "DataMagazzino"),
_value(row, "InsUtente"),
_value(row, "InsDataOra"),
_value(row, "ModUtente"),
_value(row, "ModDataOra"),
),
tags=(tag,) if tag else (),
)
def open_storico_udc_window(parent: tk.Misc, db_client, session=None, initial_udc: str | None = None) -> tk.Misc:
"""Open the UDC history window."""
win = StoricoUDCWindow(parent, db_client, session=session, initial_udc=initial_udc)
place_window_fullsize_below_parent_later(parent, win)
win.bind("<Escape>", lambda _e: win.destroy())
return win

71
tooltip.json Normal file
View File

@@ -0,0 +1,71 @@
{
"default_language": "IT",
"IT": {
"launcher.open_reset_corsie": "Apre la finestra di gestione corsie per visualizzare il contenuto di una corsia e svuotarla in modo controllato.",
"launcher.open_layout": "Apre la vista layout delle corsie con celle, UDC presenti e menu operativo contestuale.",
"launcher.open_multi_udc": "Apre la vista UDC fantasma per analizzare celle con piu' pallet e bonificare i candidati fantasma.",
"launcher.open_search": "Apre la ricerca UDC per trovare rapidamente una unita' di carico e verificarne la posizione.",
"launcher.open_history_udc": "Apre lo storico movimenti UDC per ricostruire carichi, scarichi, celle e utenti coinvolti.",
"launcher.open_pickinglist": "Apre la gestione delle picking list per prenotare, controllare e aggiornare le liste di prelievo.",
"launcher.open_history_pickinglist": "Apre lo storico picking list per consultare liste, stato operativo e dettaglio UDC.",
"launcher.arrange_windows": "Dispone in cascata le finestre aperte seguendo l'ordine dei pulsanti del launcher.",
"launcher.exit": "Chiude l'applicazione in modo pulito terminando la sessione utente e rilasciando la connessione condivisa al database.",
"dbconfig.heading": "Spiega che qui si inseriscono i dati minimi per permettere al programma di collegarsi al database del magazzino al primo avvio.",
"dbconfig.field.server": "Nome server o indirizzo IP dell'istanza SQL Server che ospita il database del magazzino.",
"dbconfig.field.database": "Nome del database applicativo da usare per il WMS.",
"dbconfig.field.user": "Utente SQL Server da usare per l'accesso al database.",
"dbconfig.field.password": "Password dell'utente SQL Server configurato per il collegamento.",
"dbconfig.field.driver": "Driver ODBC installato sul PC che verra' usato da Python per collegarsi a SQL Server.",
"dbconfig.field.encrypt": "Valore opzionale del parametro Encrypt. Lascialo vuoto se non serve una configurazione specifica.",
"dbconfig.field.trust_server_certificate": "Attiva la fiducia sul certificato del server SQL quando l'ambiente usa certificati locali o autofirmati.",
"dbconfig.info": "Il file di configurazione viene salvato una sola volta sul PC e riutilizzato ai successivi avvii del programma.",
"dbconfig.button.cancel": "Chiude la configurazione iniziale senza salvare. In questo caso il programma non prosegue.",
"dbconfig.button.test": "Prova subito la connessione con i dati inseriti senza ancora salvarli definitivamente.",
"dbconfig.button.save": "Verifica i dati, salva il file di configurazione e permette al programma di continuare l'avvio.",
"reset_corsie.refresh": "Ricarica il riepilogo e l'elenco delle celle occupate per la corsia selezionata.",
"reset_corsie.empty_aisle": "Scarica logicamente tutte le UDC attive della corsia selezionata verso l'ubicazione di uscita.",
"layout.search_udc": "Cerca una UDC per barcode, cambia automaticamente corsia e porta in evidenza la cella trovata.",
"layout.refresh": "Ricarica la corsia selezionata e aggiorna matrice, colori e statistiche.",
"layout.export_xlsx": "Esporta la vista corrente del layout corsia in un file Excel.",
"multi_udc.refresh": "Ricarica l'albero delle celle con UDC multiple e il riepilogo percentuale per corsia.",
"multi_udc.expand_all": "Espande tutti i nodi gia' caricati nell'albero.",
"multi_udc.collapse_all": "Comprime tutti i nodi dell'albero.",
"multi_udc.preselect": "Espande la corsia selezionata e preseleziona automaticamente le UDC con causale fantasma.",
"multi_udc.remove_ghosts": "Scarica logicamente le UDC selezionate della corsia attiva verso l'ubicazione di uscita.",
"multi_udc.export_xlsx": "Esporta in Excel il contenuto corrente della vista UDC fantasma."
},
"ENG": {
"launcher.open_reset_corsie": "Open the aisle management window to inspect an aisle and empty it in a controlled way.",
"launcher.open_layout": "Open the aisle layout view with cells, present UDCs and the operational context menu.",
"launcher.open_multi_udc": "Open the ghost UDC view to inspect cells with multiple pallets and clean ghost candidates.",
"launcher.open_search": "Open the UDC search window to quickly locate a load unit and verify its position.",
"launcher.open_history_udc": "Open UDC movement history to review loads, unloads, cells and users involved.",
"launcher.open_pickinglist": "Open picking list management to reserve, inspect and update picking lists.",
"launcher.open_history_pickinglist": "Open picking-list history to inspect lists, operational status and UDC detail.",
"launcher.arrange_windows": "Arrange open windows in cascade order following the launcher buttons.",
"launcher.exit": "Close the application cleanly by ending the user session and releasing the shared database connection.",
"dbconfig.heading": "Explain that this form collects the minimum data needed to connect the program to the warehouse database on first startup.",
"dbconfig.field.server": "SQL Server instance name or IP address hosting the warehouse database.",
"dbconfig.field.database": "Application database name used by the WMS.",
"dbconfig.field.user": "SQL Server user used to access the database.",
"dbconfig.field.password": "Password for the configured SQL Server user.",
"dbconfig.field.driver": "ODBC driver installed on the PC that Python will use to connect to SQL Server.",
"dbconfig.field.encrypt": "Optional Encrypt parameter value. Leave it blank if no specific encryption setting is required.",
"dbconfig.field.trust_server_certificate": "Enable trust for the SQL Server certificate when the environment uses local or self-signed certificates.",
"dbconfig.info": "The configuration file is saved once on the PC and reused on the next application startups.",
"dbconfig.button.cancel": "Close the first-run configuration without saving. In this case the program will not continue.",
"dbconfig.button.test": "Try the connection immediately with the entered values without saving them yet.",
"dbconfig.button.save": "Validate the connection, save the configuration file and let the program continue startup.",
"reset_corsie.refresh": "Reload the summary and the list of occupied cells for the selected aisle.",
"reset_corsie.empty_aisle": "Logically unload all active UDCs in the selected aisle to the outbound location.",
"layout.search_udc": "Search a UDC by barcode, switch aisle automatically and highlight the matching cell.",
"layout.refresh": "Reload the selected aisle and refresh matrix, colors and statistics.",
"layout.export_xlsx": "Export the current aisle layout view to an Excel file.",
"multi_udc.refresh": "Reload the tree of cells with multiple UDCs and the percentage summary by aisle.",
"multi_udc.expand_all": "Expand all nodes currently loaded in the tree.",
"multi_udc.collapse_all": "Collapse all tree nodes.",
"multi_udc.preselect": "Expand the selected aisle and automatically preselect UDCs classified as ghost candidates.",
"multi_udc.remove_ghosts": "Logically unload the selected UDCs of the active aisle to the outbound location.",
"multi_udc.export_xlsx": "Export the current ghost UDC view to Excel."
}
}

101
tooltips.py Normal file
View File

@@ -0,0 +1,101 @@
"""Tooltip catalog and widget helper utilities."""
from __future__ import annotations
import json
from pathlib import Path
import tkinter as tk
_TOOLTIP_FILE = Path(__file__).with_name("tooltip.json")
def load_tooltip_catalog() -> dict:
"""Load the tooltip catalog from JSON, returning a safe default on errors."""
try:
return json.loads(_TOOLTIP_FILE.read_text(encoding="utf-8"))
except Exception:
return {"default_language": "IT", "IT": {}, "ENG": {}}
def tooltip_text(key: str, *, language: str | None = None, catalog: dict | None = None) -> str:
"""Return the localized tooltip text for ``key``."""
data = catalog or load_tooltip_catalog()
lang = str(language or data.get("default_language") or "IT").upper()
texts = data.get(lang, {}) or {}
if key in texts:
return str(texts[key])
fallback = data.get("IT", {}) or {}
return str(fallback.get(key, ""))
class WidgetToolTip:
"""Simple delayed tooltip for Tk/customtkinter widgets."""
def __init__(self, widget: tk.Misc, text: str, *, delay_ms: int = 400, wraplength: int = 320):
self.widget = widget
self.text = text.strip()
self.delay_ms = int(delay_ms)
self.wraplength = int(wraplength)
self._after_id: str | None = None
self._tip: tk.Toplevel | None = None
if self.text:
self.widget.bind("<Enter>", self._schedule_show, add="+")
self.widget.bind("<Leave>", self._hide, add="+")
self.widget.bind("<ButtonPress>", self._hide, add="+")
def _schedule_show(self, _event=None):
self._cancel_schedule()
self._after_id = self.widget.after(self.delay_ms, self._show)
def _cancel_schedule(self):
if self._after_id is not None:
try:
self.widget.after_cancel(self._after_id)
except Exception:
pass
self._after_id = None
def _show(self):
self._after_id = None
if self._tip is not None or not self.text:
return
try:
x = self.widget.winfo_rootx() + 18
y = self.widget.winfo_rooty() + self.widget.winfo_height() + 8
tip = tk.Toplevel(self.widget)
tip.withdraw()
tip.overrideredirect(True)
tip.attributes("-topmost", True)
frame = tk.Frame(tip, bg="#fff7c7", bd=1, relief="solid")
frame.pack(fill="both", expand=True)
label = tk.Label(
frame,
text=self.text,
justify="left",
anchor="w",
wraplength=self.wraplength,
bg="#fff7c7",
fg="#1f1f1f",
font=("Segoe UI", 9),
padx=8,
pady=6,
)
label.pack(fill="both", expand=True)
tip.geometry(f"+{x}+{y}")
tip.deiconify()
self._tip = tip
except Exception:
self._tip = None
def _hide(self, _event=None):
self._cancel_schedule()
tip = self._tip
self._tip = None
if tip is not None:
try:
tip.destroy()
except Exception:
pass

336
ui_theme.json Normal file
View File

@@ -0,0 +1,336 @@
{
"global": {
"window_bg": ["#f1f1f1", "#2b2b2b"],
"panel_bg": ["#d9d9d9", "#3a3a3a"],
"panel_alt_bg": ["#cfcfcf", "#454545"],
"text_primary": "#1f1f1f",
"text_secondary": "#4b4b4b",
"accent": "#2ebf74",
"accent_hover": "#28a766",
"danger": "#ca3d3d",
"danger_hover": "#aa2f2f",
"border": "#bdbdbd"
},
"launcher": {
"window_width": 1280,
"window_min_width": 960,
"window_top_x": 0,
"window_top_y": 0,
"outer_pady": 10,
"outer_padx": 0,
"max_buttons_per_row": 7,
"button_padx": 6,
"button_pady": 6,
"info_padx": 6,
"info_pady": [4, 2],
"exit_icon_color": "#ca3d3d",
"info_font": {
"family": "Segoe UI",
"size": 12,
"weight": "bold"
},
"cascade_x_offset": 42,
"cascade_y_offset": 34,
"cascade_margin_left": 0,
"cascade_margin_top": 0,
"button_font": {
"family": "Segoe UI",
"size": 11,
"weight": "bold"
}
},
"reset_corsie": {
"window_geometry": "1000x680",
"window_minsize": [880, 560],
"window_fg_color": ["#efefef", "#2f2f2f"],
"top_frame_fg_color": ["#d7d7d7", "#3b3b3b"],
"mid_frame_fg_color": ["#e5e5e5", "#383838"],
"bottom_frame_fg_color": ["#dcdcdc", "#363636"],
"inner_summary_frame_fg_color": ["#d4d4d4", "#404040"],
"frame_padx": 8,
"frame_pady": 8,
"toolbar_button_width": 140,
"toolbar_button_height": 28,
"toolbar_button_corner_radius": 6,
"toolbar_button_font": {
"family": "Segoe UI",
"size": 10,
"weight": "bold"
},
"toolbar_label_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"combobox_width": 140,
"combobox_height": 28,
"combobox_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"summary_title_font": {
"family": "Segoe UI",
"size": 12,
"weight": "bold"
},
"summary_label_font": {
"family": "Segoe UI",
"size": 9,
"weight": "bold"
},
"summary_value_font": {
"family": "Segoe UI",
"size": 9,
"weight": "normal"
},
"tree_heading_font": {
"family": "Segoe UI",
"size": 10,
"weight": "bold"
},
"tree_body_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"tree_row_height": 30,
"tree_heading_bg": "#9fb2cb",
"tree_heading_bg_active": "#90a5c0",
"tree_heading_fg": "#10243e",
"tree_heading_padding": [8, 6],
"tree_body_bg": "#ffffff",
"tree_body_fg": "#1f1f1f",
"tree_row_odd_bg": "#ffffff",
"tree_row_even_bg": "#edf3fb",
"tree_selected_bg": "#cfe4ff",
"tree_selected_fg": "#10243e",
"tree_col_ubicazione_width": 360,
"tree_col_ubicazione_anchor": "center",
"tree_col_num_udc_width": 180,
"tree_col_num_udc_anchor": "center",
"tree_show_grid_hint": true,
"overlay_cover_fg_color": ["#d9d9d9", "#4a4a4a"],
"overlay_panel_fg_color": ["#f2f2f2", "#353535"],
"overlay_panel_corner_radius": 10,
"overlay_label_font": {
"family": "Segoe UI",
"size": 11,
"weight": "bold"
},
"overlay_progress_width": 220,
"overlay_label_padding": [18, 14, 18, 8],
"overlay_progress_padding": [18, 0, 18, 14]
},
"layout_window": {
"window_geometry": "1200x740",
"window_minsize": [980, 560],
"window_fg_color": ["#efefef", "#2f2f2f"],
"top_frame_fg_color": ["#d7d7d7", "#3b3b3b"],
"panel_frame_fg_color": ["#dcdcdc", "#363636"],
"toolbar_button_font": {
"family": "Segoe UI",
"size": 10,
"weight": "bold"
},
"toolbar_label_font": {
"family": "Segoe UI",
"size": 12,
"weight": "bold"
},
"entry_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
}
},
"multi_udc": {
"window_geometry": "1100x700",
"window_minsize": [900, 550],
"window_fg_color": ["#efefef", "#2f2f2f"],
"toolbar_frame_fg_color": ["#d7d7d7", "#3b3b3b"],
"content_frame_fg_color": ["#e5e5e5", "#383838"],
"summary_frame_fg_color": ["#dcdcdc", "#363636"],
"inner_summary_frame_fg_color": ["#d4d4d4", "#404040"],
"toolbar_button_font": {
"family": "Segoe UI",
"size": 10,
"weight": "bold"
},
"summary_title_font": {
"family": "Segoe UI",
"size": 12,
"weight": "bold"
}
},
"login_window": {
"window_geometry": "165x155+0+0",
"overlay_cover_fg_color": ["#d9d9d9", "#4a4a4a"],
"overlay_panel_fg_color": ["#f2f2f2", "#353535"],
"overlay_panel_corner_radius": 10,
"overlay_label_font": {
"family": "Segoe UI",
"size": 11,
"weight": "bold"
},
"overlay_progress_width": 220,
"overlay_label_padding": [18, 14, 18, 8],
"overlay_progress_padding": [18, 0, 18, 14]
},
"search_window": {
"window_geometry": "1100x720",
"window_minsize": [900, 560],
"window_fg_color": ["#efefef", "#2f2f2f"],
"toolbar_frame_fg_color": ["#d7d7d7", "#3b3b3b"],
"toolbar_button_font": {
"family": "Segoe UI",
"size": 10,
"weight": "bold"
},
"toolbar_label_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"entry_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"overlay_cover_fg_color": ["#d9d9d9", "#4a4a4a"],
"overlay_panel_fg_color": ["#f2f2f2", "#353535"],
"overlay_panel_corner_radius": 10,
"overlay_label_font": {
"family": "Segoe UI",
"size": 11,
"weight": "bold"
},
"overlay_progress_width": 220,
"overlay_label_padding": [18, 14, 18, 8],
"overlay_progress_padding": [18, 0, 18, 14]
},
"history_udc_window": {
"window_geometry": "1100x720",
"window_minsize": [900, 560],
"window_fg_color": ["#efefef", "#2f2f2f"],
"toolbar_frame_fg_color": ["#d7d7d7", "#3b3b3b"],
"toolbar_button_font": {
"family": "Segoe UI",
"size": 10,
"weight": "bold"
},
"toolbar_label_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"entry_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"overlay_cover_fg_color": ["#d9d9d9", "#4a4a4a"],
"overlay_panel_fg_color": ["#f2f2f2", "#353535"],
"overlay_panel_corner_radius": 10,
"overlay_label_font": {
"family": "Segoe UI",
"size": 11,
"weight": "bold"
},
"overlay_progress_width": 220,
"overlay_label_padding": [18, 14, 18, 8],
"overlay_progress_padding": [18, 0, 18, 14]
},
"scarico_dialog": {
"header_font": {
"family": "Segoe UI",
"size": 13,
"weight": "bold"
},
"body_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"button_font": {
"family": "Segoe UI",
"size": 10,
"weight": "bold"
},
"tree_heading_font": {
"family": "Segoe UI",
"size": 10,
"weight": "bold"
},
"tree_body_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"overlay_cover_fg_color": ["#d9d9d9", "#4a4a4a"],
"overlay_panel_fg_color": ["#f2f2f2", "#353535"],
"overlay_panel_corner_radius": 10,
"overlay_label_font": {
"family": "Segoe UI",
"size": 11,
"weight": "bold"
},
"overlay_progress_width": 220,
"overlay_label_padding": [18, 14, 18, 8],
"overlay_progress_padding": [18, 0, 18, 14]
},
"pickinglist_window": {
"window_geometry": "1200x700",
"window_minsize": [1000, 560],
"window_fg_color": ["#efefef", "#2f2f2f"],
"toolbar_frame_fg_color": ["#d7d7d7", "#3b3b3b"],
"toolbar_button_font": {
"family": "Segoe UI",
"size": 10,
"weight": "bold"
},
"overlay_cover_fg_color": ["#d9d9d9", "#4a4a4a"],
"overlay_panel_fg_color": ["#f2f2f2", "#353535"],
"overlay_panel_corner_radius": 10,
"overlay_label_font": {
"family": "Segoe UI",
"size": 11,
"weight": "bold"
},
"overlay_progress_width": 220,
"overlay_label_padding": [18, 14, 18, 8],
"overlay_progress_padding": [18, 0, 18, 14]
},
"history_picking_window": {
"window_geometry": "1200x720",
"window_minsize": [980, 560],
"window_fg_color": ["#efefef", "#2f2f2f"],
"toolbar_frame_fg_color": ["#d7d7d7", "#3b3b3b"],
"toolbar_button_font": {
"family": "Segoe UI",
"size": 10,
"weight": "bold"
},
"toolbar_label_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"entry_font": {
"family": "Segoe UI",
"size": 10,
"weight": "normal"
},
"overlay_cover_fg_color": ["#d9d9d9", "#4a4a4a"],
"overlay_panel_fg_color": ["#f2f2f2", "#353535"],
"overlay_panel_corner_radius": 10,
"overlay_label_font": {
"family": "Segoe UI",
"size": 11,
"weight": "bold"
},
"overlay_progress_width": 220,
"overlay_label_padding": [18, 14, 18, 8],
"overlay_progress_padding": [18, 0, 18, 14]
}
}

97
ui_theme.py Normal file
View File

@@ -0,0 +1,97 @@
"""External UI theme loader for the warehouse desktop application.
The module reads ``ui_theme.json`` from the workspace root and exposes a few
helpers to resolve fonts, colors, paddings and section-specific configuration
without hardcoding presentation details inside each window module.
"""
from __future__ import annotations
import json
from functools import lru_cache
from pathlib import Path
from typing import Any
THEME_PATH = Path(__file__).with_name("ui_theme.json")
@lru_cache(maxsize=1)
def load_theme() -> dict[str, Any]:
"""Load the external JSON theme, returning an empty dict on failure."""
try:
return json.loads(THEME_PATH.read_text(encoding="utf-8"))
except Exception:
return {}
def reload_theme() -> dict[str, Any]:
"""Clear cache and reload the theme from disk."""
load_theme.cache_clear()
return load_theme()
def theme_section(name: str, default: dict[str, Any] | None = None) -> dict[str, Any]:
"""Return one top-level theme section as a dictionary."""
theme = load_theme()
value = theme.get(name)
if isinstance(value, dict):
return value
return dict(default or {})
def theme_value(section: dict[str, Any], key: str, default: Any = None) -> Any:
"""Return a scalar theme value from a section."""
return section.get(key, default)
def theme_color(section: dict[str, Any], key: str, default: Any = None) -> Any:
"""Return a CTk-compatible color value (string or light/dark tuple)."""
value = section.get(key, default)
if isinstance(value, list) and len(value) == 2:
return tuple(value)
return value
def theme_padding(section: dict[str, Any], key: str, default: tuple[int, ...]) -> tuple[int, ...]:
"""Return tuple-like padding values from a JSON list."""
value = section.get(key)
if isinstance(value, list):
try:
return tuple(int(v) for v in value)
except Exception:
return default
return default
def theme_font(section: dict[str, Any], key: str, default: tuple[Any, ...]) -> tuple[Any, ...]:
"""Resolve a Tk font tuple from JSON."""
spec = section.get(key)
if not isinstance(spec, dict):
return default
family = spec.get("family", default[0] if default else "Segoe UI")
size = int(spec.get("size", default[1] if len(default) > 1 else 10))
parts: list[Any] = [family, size]
weight = str(spec.get("weight", "")).strip().lower()
if weight in {"bold", "normal"} and weight != "normal":
parts.append(weight)
slant = str(spec.get("slant", "")).strip().lower()
if slant == "italic":
parts.append(slant)
if bool(spec.get("underline", False)):
parts.append("underline")
if bool(spec.get("overstrike", False)):
parts.append("overstrike")
return tuple(parts)

94
user_session.py Normal file
View File

@@ -0,0 +1,94 @@
"""Application user session and permission scaffolding for the warehouse app."""
from __future__ import annotations
from dataclasses import dataclass, field
from datetime import datetime
from typing import FrozenSet
ALL_ACTIONS: FrozenSet[str] = frozenset(
{
"launcher.open_reset_corsie",
"launcher.open_layout",
"launcher.open_multi_udc",
"launcher.open_search",
"launcher.open_history_udc",
"launcher.open_pickinglist",
"launcher.open_history_pickinglist",
"launcher.arrange_windows",
"launcher.exit",
"reset_corsie.view",
"search.view",
"history_udc.view",
"history_pickinglist.view",
"multi_udc.view",
"layout.view",
"layout.carico",
"layout.scarico",
"layout.prenota",
"layout.libera_prenotazione",
"layout.disabilita_cella",
"layout.abilita_cella",
"pickinglist.view",
"pickinglist.prenota",
"pickinglist.sprenota",
}
)
def build_allowed_actions(_privilegio: int | None) -> FrozenSet[str]:
"""Return the currently enabled action set for the given operator profile.
For this first iteration every authenticated operator can execute every
function, but the explicit action map already exists so that a future admin
UI can refine profiles without refactoring the whole application.
"""
return ALL_ACTIONS
@dataclass(frozen=True)
class UserSession:
"""Minimal in-memory representation of one authenticated application user."""
operator_id: int
login: str
nominativo: str
privilegio: int | None = None
codice_unita: str = ""
session_started_at: datetime = field(default_factory=datetime.now)
allowed_actions: FrozenSet[str] = field(default_factory=lambda: ALL_ACTIONS)
def can(self, action: str) -> bool:
"""Return whether the current user can execute one named action."""
return action in self.allowed_actions
@property
def display_name(self) -> str:
"""Return the best human-readable identity for the current session."""
if str(self.nominativo or "").strip():
return str(self.nominativo).strip()
return str(self.login or "").strip()
def create_user_session(
*,
operator_id: int,
login: str,
nominativo: str,
privilegio: int | None,
codice_unita: str,
) -> UserSession:
"""Create one user session with the current default action set."""
return UserSession(
operator_id=int(operator_id),
login=str(login or "").strip(),
nominativo=str(nominativo or "").strip(),
privilegio=int(privilegio) if privilegio is not None else None,
codice_unita=str(codice_unita or "").strip(),
allowed_actions=build_allowed_actions(privilegio),
)

1112
view_celle_multi_udc.py Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,431 +0,0 @@
"""Exploration window for cells containing more than one pallet."""
import json
import tkinter as tk
from datetime import datetime
from tkinter import filedialog, messagebox, ttk
import customtkinter as ctk
from openpyxl import Workbook
from openpyxl.styles import Alignment, Font
from gestione_aree_frame_async import AsyncRunner
def _json_obj(res):
"""Normalize raw DB responses into a dictionary with a ``rows`` key."""
if isinstance(res, str):
try:
res = json.loads(res)
except Exception as ex:
raise RuntimeError(f"Risposta non JSON: {ex}\nRaw: {res!r}")
if isinstance(res, dict) and "error" in res:
err = res.get("error") or "Errore sconosciuto"
detail = res.get("sql") or ""
raise RuntimeError(f"{err}\n{detail}")
return res if isinstance(res, dict) else {"rows": res}
UBI_B = (
"UPPER("
" CONCAT("
" RTRIM(b.Corsia), '.', RTRIM(CAST(b.Colonna AS varchar(32))), '.', RTRIM(CAST(b.Fila AS varchar(32)))"
" )"
")"
)
BASE_CTE = """
WITH base AS (
SELECT
g.IDCella,
g.BarcodePallet,
RTRIM(c.Corsia) AS Corsia,
c.Colonna,
c.Fila
FROM dbo.XMag_GiacenzaPallet AS g
JOIN dbo.Celle AS c ON c.ID = g.IDCella
WHERE g.IDCella <> 9999 AND RTRIM(c.Corsia) <> '7G'
)
"""
SQL_CORSIE = BASE_CTE + """
, dup_celle AS (
SELECT IDCCella = b.IDCella
FROM base b
GROUP BY b.IDCella
HAVING COUNT(DISTINCT b.BarcodePallet) > 1
)
SELECT DISTINCT b.Corsia
FROM base b
WHERE EXISTS (SELECT 1 FROM dup_celle d WHERE d.IDCCella = b.IDCella)
ORDER BY b.Corsia;
"""
SQL_CELLE_DUP_PER_CORSIA = BASE_CTE + f"""
, dup_celle AS (
SELECT b.IDCella, COUNT(DISTINCT b.BarcodePallet) AS NumUDC
FROM base b
GROUP BY b.IDCella
HAVING COUNT(DISTINCT b.BarcodePallet) > 1
)
SELECT dc.IDCella,
{UBI_B} AS Ubicazione,
b.Colonna, b.Fila, b.Corsia,
dc.NumUDC
FROM dup_celle dc
JOIN base b ON b.IDCella = dc.IDCella
WHERE b.Corsia = RTRIM(:corsia)
GROUP BY dc.IDCella, {UBI_B}, b.Colonna, b.Fila, b.Corsia, dc.NumUDC
ORDER BY b.Colonna, b.Fila;
"""
SQL_PALLET_IN_CELLA = BASE_CTE + """
SELECT
b.BarcodePallet AS Pallet,
ta.Descrizione,
ta.Lotto
FROM base b
OUTER APPLY (
SELECT TOP (1) t.Descrizione, t.Lotto
FROM dbo.vXTracciaProdotti AS t
WHERE t.Pallet = b.BarcodePallet COLLATE Latin1_General_CI_AS
ORDER BY t.Lotto
) AS ta
WHERE b.IDCella = :idcella
GROUP BY b.BarcodePallet, ta.Descrizione, ta.Lotto
ORDER BY b.BarcodePallet;
"""
SQL_RIEPILOGO_PERCENTUALI = BASE_CTE + """
, tot AS (
SELECT b.Corsia, COUNT(DISTINCT b.IDCella) AS TotCelle
FROM base b GROUP BY b.Corsia
),
dup_celle AS (
SELECT b.Corsia, b.IDCella
FROM base b
GROUP BY b.Corsia, b.IDCella
HAVING COUNT(DISTINCT b.BarcodePallet) > 1
),
per_corsia AS (
SELECT t.Corsia, t.TotCelle, COALESCE(d.CelleMultiple, 0) AS CelleMultiple
FROM tot t
LEFT JOIN (
SELECT Corsia, COUNT(IDCella) AS CelleMultiple
FROM dup_celle GROUP BY Corsia
) d ON d.Corsia = t.Corsia
),
unione AS (
SELECT Corsia, TotCelle, CelleMultiple,
CAST(100.0 * CelleMultiple / NULLIF(TotCelle, 0) AS decimal(5,2)) AS Percentuale,
CAST(0 AS int) AS Ord
FROM per_corsia
UNION ALL
SELECT 'TOTALE' AS Corsia,
SUM(TotCelle), SUM(CelleMultiple),
CAST(100.0 * SUM(CelleMultiple) / NULLIF(SUM(TotCelle), 0) AS decimal(5,2)),
CAST(1 AS int) AS Ord
FROM per_corsia
)
SELECT Corsia, TotCelle, CelleMultiple, Percentuale
FROM unione
ORDER BY Ord, Corsia;
"""
class CelleMultipleWindow(ctk.CTkToplevel):
"""Tree-based explorer for duplicated pallet allocations."""
def __init__(self, root, db_client, runner: AsyncRunner | None = None):
"""Bind the shared DB client and immediately load the tree summary."""
super().__init__(root)
self.title("Celle con piu' pallet")
self.geometry("1100x700")
self.minsize(900, 550)
self.resizable(True, True)
self.db = db_client
self.runner = runner or AsyncRunner(self)
self._build_layout()
self._bind_events()
self.refresh_all()
def _build_layout(self):
"""Create the toolbar, lazy-loaded tree and percentage summary table."""
self.grid_rowconfigure(0, weight=5)
self.grid_rowconfigure(1, weight=70)
self.grid_rowconfigure(2, weight=25, minsize=160)
self.grid_columnconfigure(0, weight=1)
toolbar = ctk.CTkFrame(self)
toolbar.grid(row=0, column=0, sticky="nsew")
ctk.CTkButton(toolbar, text="Aggiorna", command=self.refresh_all).pack(side="left", padx=6, pady=4)
ctk.CTkButton(toolbar, text="Espandi tutto", command=self.expand_all).pack(side="left", padx=6, pady=4)
ctk.CTkButton(toolbar, text="Comprimi tutto", command=self.collapse_all).pack(side="left", padx=6, pady=4)
ctk.CTkButton(toolbar, text="Esporta in XLSX", command=self.export_to_xlsx).pack(side="left", padx=6, pady=4)
frame = ctk.CTkFrame(self)
frame.grid(row=1, column=0, sticky="nsew", padx=6, pady=(0, 6))
frame.grid_rowconfigure(0, weight=1)
frame.grid_columnconfigure(0, weight=1)
self.tree = ttk.Treeview(frame, columns=("col2", "col3"), show="tree headings", selectmode="browse")
self.tree.heading("#0", text="Nodo")
self.tree.heading("col2", text="Descrizione")
self.tree.heading("col3", text="Lotto")
y = ttk.Scrollbar(frame, orient="vertical", command=self.tree.yview)
x = ttk.Scrollbar(frame, orient="horizontal", command=self.tree.xview)
self.tree.configure(yscrollcommand=y.set, xscrollcommand=x.set)
self.tree.grid(row=0, column=0, sticky="nsew")
y.grid(row=0, column=1, sticky="ns")
x.grid(row=1, column=0, sticky="ew")
sumf = ctk.CTkFrame(self)
sumf.grid(row=2, column=0, sticky="nsew", padx=6, pady=(0, 6))
ctk.CTkLabel(sumf, text="Riepilogo % celle multiple per corsia", font=("Segoe UI", 12, "bold")).pack(anchor="w", padx=8, pady=(8, 0))
inner = ctk.CTkFrame(sumf)
inner.pack(fill="both", expand=True, padx=6, pady=6)
inner.grid_rowconfigure(0, weight=1)
inner.grid_columnconfigure(0, weight=1)
self.sum_tbl = ttk.Treeview(inner, columns=("Corsia", "TotCelle", "CelleMultiple", "Percentuale"), show="headings")
for key, title, width, anchor in (
("Corsia", "Corsia", 100, "center"),
("TotCelle", "Totale celle", 120, "e"),
("CelleMultiple", ">1 UDC", 120, "e"),
("Percentuale", "%", 80, "e"),
):
self.sum_tbl.heading(key, text=title)
self.sum_tbl.column(key, width=width, anchor=anchor)
y2 = ttk.Scrollbar(inner, orient="vertical", command=self.sum_tbl.yview)
x2 = ttk.Scrollbar(inner, orient="horizontal", command=self.sum_tbl.xview)
self.sum_tbl.configure(yscrollcommand=y2.set, xscrollcommand=x2.set)
self.sum_tbl.grid(row=0, column=0, sticky="nsew")
y2.grid(row=0, column=1, sticky="ns")
x2.grid(row=1, column=0, sticky="ew")
def _bind_events(self):
"""Attach lazy-load behavior when nodes are expanded."""
self.tree.bind("<<TreeviewOpen>>", self._on_open_node)
def refresh_all(self):
"""Reload both the duplication tree and the summary percentage table."""
self._load_corsie()
self._load_riepilogo()
def _load_corsie(self):
"""Load root nodes representing aisles with duplicated cells."""
self.tree.delete(*self.tree.get_children())
async def _q(db):
return await db.query_json(SQL_CORSIE, as_dict_rows=True)
self.runner.run(_q(self.db), self._fill_corsie, lambda e: messagebox.showerror("Errore", str(e), parent=self))
def _fill_corsie(self, res):
"""Populate root tree nodes after the aisle query completes."""
rows = _json_obj(res).get("rows", [])
for row in rows:
corsia = row.get("Corsia")
if not corsia:
continue
node_id = f"corsia:{corsia}"
self.tree.insert("", "end", iid=node_id, text=f"Corsia {corsia}", values=("", ""), open=False, tags=("corsia",))
self.tree.insert(node_id, "end", iid=f"{node_id}::lazy", text="...", values=("", ""))
def _on_open_node(self, _evt):
"""Lazy-load children when a tree node is expanded."""
sel = self.tree.focus()
if not sel:
return
if sel.startswith("corsia:"):
lazy_id = f"{sel}::lazy"
if lazy_id in self.tree.get_children(sel):
self.tree.delete(lazy_id)
corsia = sel.split(":", 1)[1]
self._load_celle_for_corsia(sel, corsia)
elif sel.startswith("cella:"):
lazy_id = f"{sel}::lazy"
if lazy_id in self.tree.get_children(sel):
self.tree.delete(lazy_id)
idcella = int(sel.split(":", 1)[1])
for child in self.tree.get_children(sel):
self.tree.delete(child)
self._load_pallet_for_cella(sel, idcella)
def _load_celle_for_corsia(self, parent_iid, corsia):
"""Query duplicated cells for the selected aisle."""
async def _q(db):
return await db.query_json(SQL_CELLE_DUP_PER_CORSIA, params={"corsia": corsia}, as_dict_rows=True)
self.runner.run(_q(self.db), lambda res: self._fill_celle(parent_iid, res), lambda e: messagebox.showerror("Errore", str(e), parent=self))
def _fill_celle(self, parent_iid, res):
"""Populate duplicated-cell nodes under an aisle node."""
rows = _json_obj(res).get("rows", [])
if not rows:
self.tree.insert(parent_iid, "end", text="(nessuna cella con >1 UDC)", values=("", ""))
return
for row in rows:
idc = row["IDCella"]
ubi = row["Ubicazione"]
corsia = row.get("Corsia")
num = row.get("NumUDC", 0)
node_id = f"cella:{idc}"
label = f"{ubi} [x{num}]"
if self.tree.exists(node_id):
self.tree.item(node_id, text=label, values=(f"IDCella {idc}", ""))
else:
self.tree.insert(parent_iid, "end", iid=node_id, text=label, values=(f"IDCella {idc}", ""), open=False, tags=("cella", f"corsia:{corsia}"))
if not any(child.endswith("::lazy") for child in self.tree.get_children(node_id)):
self.tree.insert(node_id, "end", iid=f"{node_id}::lazy", text="...", values=("", ""))
def _load_pallet_for_cella(self, parent_iid, idcella: int):
"""Query pallet details for a duplicated cell."""
async def _q(db):
return await db.query_json(SQL_PALLET_IN_CELLA, params={"idcella": idcella}, as_dict_rows=True)
self.runner.run(_q(self.db), lambda res: self._fill_pallet(parent_iid, res), lambda e: messagebox.showerror("Errore", str(e), parent=self))
def _fill_pallet(self, parent_iid, res):
"""Add pallet leaves under the selected cell node."""
rows = _json_obj(res).get("rows", [])
if not rows:
self.tree.insert(parent_iid, "end", text="(nessun pallet)", values=("", ""))
return
parent_tags = self.tree.item(parent_iid, "tags") or ()
corsia_tag = next((tag for tag in parent_tags if tag.startswith("corsia:")), None)
corsia_val = corsia_tag.split(":", 1)[1] if corsia_tag else ""
cella_ubi = self.tree.item(parent_iid, "text")
idcella_txt = self.tree.item(parent_iid, "values")[0]
idcella_num = int(idcella_txt.split()[-1]) if idcella_txt else None
for row in rows:
pallet = row.get("Pallet", "")
desc = row.get("Descrizione", "")
lotto = row.get("Lotto", "")
leaf_id = f"pallet:{idcella_num}:{pallet}"
if self.tree.exists(leaf_id):
self.tree.item(leaf_id, text=str(pallet), values=(desc, lotto))
continue
self.tree.insert(
parent_iid,
"end",
iid=leaf_id,
text=str(pallet),
values=(desc, lotto),
tags=("pallet", f"corsia:{corsia_val}", f"ubicazione:{cella_ubi}", f"idcella:{idcella_num}"),
)
def _load_riepilogo(self):
"""Load the percentage summary by aisle."""
async def _q(db):
return await db.query_json(SQL_RIEPILOGO_PERCENTUALI, as_dict_rows=True)
self.runner.run(_q(self.db), self._fill_riepilogo, lambda e: messagebox.showerror("Errore", str(e), parent=self))
def _fill_riepilogo(self, res):
"""Refresh the bottom summary table."""
rows = _json_obj(res).get("rows", [])
for item in self.sum_tbl.get_children():
self.sum_tbl.delete(item)
for row in rows:
self.sum_tbl.insert(
"",
"end",
values=(row.get("Corsia"), row.get("TotCelle", 0), row.get("CelleMultiple", 0), f"{row.get('Percentuale', 0):.2f}"),
)
def expand_all(self):
"""Expand all aisle roots and trigger lazy loading where needed."""
for iid in self.tree.get_children(""):
self.tree.item(iid, open=True)
if f"{iid}::lazy" in self.tree.get_children(iid):
self.tree.delete(f"{iid}::lazy")
corsia = iid.split(":", 1)[1]
self._load_celle_for_corsia(iid, corsia)
def collapse_all(self):
"""Collapse all root nodes in the duplication tree."""
for iid in self.tree.get_children(""):
self.tree.item(iid, open=False)
def export_to_xlsx(self):
"""Export both the detailed tree and the summary table to Excel."""
ts = datetime.now().strftime("%d_%m_%Y_%H-%M")
default_name = f"esportazione_celle_udc_multiple_{ts}.xlsx"
fname = filedialog.asksaveasfilename(
parent=self,
title="Esporta in Excel",
defaultextension=".xlsx",
filetypes=[("Excel Workbook", "*.xlsx")],
initialfile=default_name,
)
if not fname:
return
try:
wb = Workbook()
ws_det = wb.active
ws_det.title = "Dettaglio"
ws_sum = wb.create_sheet("Riepilogo")
det_headers = ["Corsia", "Ubicazione", "IDCella", "Pallet", "Descrizione", "Lotto"]
sum_headers = ["Corsia", "TotCelle", "CelleMultiple", "Percentuale"]
def _hdr(ws, headers):
"""Write formatted headers into the given worksheet."""
for j, header in enumerate(headers, start=1):
cell = ws.cell(row=1, column=j, value=header)
cell.font = Font(bold=True)
cell.alignment = Alignment(horizontal="center", vertical="center")
_hdr(ws_det, det_headers)
_hdr(ws_sum, sum_headers)
row_idx = 2
for corsia_node in self.tree.get_children(""):
for cella_node in self.tree.get_children(corsia_node):
for pallet_node in self.tree.get_children(cella_node):
tags = self.tree.item(pallet_node, "tags") or ()
if "pallet" not in tags:
continue
corsia = next((tag.split(":", 1)[1] for tag in tags if tag.startswith("corsia:")), "")
ubi = next((tag.split(":", 1)[1] for tag in tags if tag.startswith("ubicazione:")), "")
idcella = next((tag.split(":", 1)[1] for tag in tags if tag.startswith("idcella:")), "")
pallet = self.tree.item(pallet_node, "text")
desc, lotto = self.tree.item(pallet_node, "values")
for j, value in enumerate([corsia, ubi, idcella, pallet, desc, lotto], start=1):
ws_det.cell(row=row_idx, column=j, value=value)
row_idx += 1
row_idx = 2
for iid in self.sum_tbl.get_children(""):
vals = self.sum_tbl.item(iid, "values")
for j, value in enumerate(vals, start=1):
ws_sum.cell(row=row_idx, column=j, value=value)
row_idx += 1
def _autosize(ws):
"""Resize worksheet columns based on their longest value."""
widths = {}
for row in ws.iter_rows(values_only=True):
for j, value in enumerate(row, start=1):
value_s = "" if value is None else str(value)
widths[j] = max(widths.get(j, 0), len(value_s))
from openpyxl.utils import get_column_letter
for j, width in widths.items():
ws.column_dimensions[get_column_letter(j)].width = min(max(width + 2, 10), 60)
_autosize(ws_det)
_autosize(ws_sum)
wb.save(fname)
messagebox.showinfo("Esportazione completata", f"File creato:\n{fname}", parent=self)
except Exception as ex:
messagebox.showerror("Errore esportazione", str(ex), parent=self)
def open_celle_multiple_window(root: tk.Tk, db_client, runner: AsyncRunner | None = None):
"""Create, focus and return the duplicated-cells explorer."""
win = CelleMultipleWindow(root, db_client, runner=runner)
win.lift()
win.focus_set()
return win

8
warehouse.pyw Normal file
View File

@@ -0,0 +1,8 @@
from runtime_support import ensure_stdio, run_with_fatal_log
ensure_stdio("warehouse_main")
from main import run_app
raise SystemExit(run_with_fatal_log("Warehouse Backoffice", run_app))

592
window_placement.py Normal file
View File

@@ -0,0 +1,592 @@
"""Helpers to place child windows consistently relative to the launcher."""
from __future__ import annotations
import ctypes
import logging
import math
import tkinter as tk
from pathlib import Path
MODULE_LOG_NAME = "window_placement"
MODULE_LOG_PATH = Path(__file__).with_name("window_placement.log")
_MODULE_LOGGER = logging.getLogger(MODULE_LOG_NAME)
if not _MODULE_LOGGER.handlers:
_MODULE_LOGGER.setLevel(logging.DEBUG)
_MODULE_LOGGER.propagate = False
_handler = logging.FileHandler(MODULE_LOG_PATH, encoding="utf-8")
_handler.setFormatter(logging.Formatter("%(asctime)s | %(levelname)s | %(message)s"))
_MODULE_LOGGER.addHandler(_handler)
def _safe_xy(window: tk.Misc) -> tuple[int | None, int | None]:
"""Return current window coordinates without raising."""
try:
return int(window.winfo_x()), int(window.winfo_y())
except Exception:
return None, None
def _safe_wh(window: tk.Misc) -> tuple[int | None, int | None]:
"""Return current window size without raising."""
try:
return int(window.winfo_width()), int(window.winfo_height())
except Exception:
return None, None
def _window_label(window: tk.Misc) -> str:
"""Return a readable label for log messages."""
try:
title = str(window.title()).strip()
if title:
return title
except Exception:
pass
try:
return str(window)
except Exception:
return "<window>"
def _work_area_bounds(window: tk.Misc) -> tuple[int, int, int, int]:
"""Return the desktop work area excluding the taskbar when available."""
try:
if hasattr(ctypes, "windll"):
class RECT(ctypes.Structure):
_fields_ = [
("left", ctypes.c_long),
("top", ctypes.c_long),
("right", ctypes.c_long),
("bottom", ctypes.c_long),
]
rect = RECT()
SPI_GETWORKAREA = 0x0030
if ctypes.windll.user32.SystemParametersInfoW(SPI_GETWORKAREA, 0, ctypes.byref(rect), 0):
return int(rect.left), int(rect.top), int(rect.right), int(rect.bottom)
except Exception:
pass
return 0, 0, int(window.winfo_screenwidth()), int(window.winfo_screenheight())
def _taskbar_thickness(window: tk.Misc) -> int:
"""Return the Windows taskbar thickness when it can be determined."""
try:
screen_h = int(window.winfo_screenheight())
_left, _top, _right, work_bottom = _work_area_bounds(window)
inferred = max(0, screen_h - int(work_bottom))
if inferred > 0:
return inferred
except Exception:
pass
try:
if hasattr(ctypes, "windll"):
class RECT(ctypes.Structure):
_fields_ = [
("left", ctypes.c_long),
("top", ctypes.c_long),
("right", ctypes.c_long),
("bottom", ctypes.c_long),
]
class APPBARDATA(ctypes.Structure):
_fields_ = [
("cbSize", ctypes.c_uint),
("hWnd", ctypes.c_void_p),
("uCallbackMessage", ctypes.c_uint),
("uEdge", ctypes.c_uint),
("rc", RECT),
("lParam", ctypes.c_long),
]
ABM_GETTASKBARPOS = 0x00000005
abd = APPBARDATA()
abd.cbSize = ctypes.sizeof(APPBARDATA)
if ctypes.windll.shell32.SHAppBarMessage(ABM_GETTASKBARPOS, ctypes.byref(abd)):
rect = abd.rc
width = max(0, int(rect.right) - int(rect.left))
height = max(0, int(rect.bottom) - int(rect.top))
return max(width, height)
except Exception:
pass
return 0
def _window_nonclient_extra(window: tk.Misc) -> tuple[int, int]:
"""Return extra outer frame size added by Windows around the client area."""
try:
if not hasattr(ctypes, "windll"):
return 0, 0
class RECT(ctypes.Structure):
_fields_ = [
("left", ctypes.c_long),
("top", ctypes.c_long),
("right", ctypes.c_long),
("bottom", ctypes.c_long),
]
class POINT(ctypes.Structure):
_fields_ = [
("x", ctypes.c_long),
("y", ctypes.c_long),
]
user32 = ctypes.windll.user32
hwnd = int(window.winfo_id())
outer = RECT()
client = RECT()
origin = POINT()
if not user32.GetWindowRect(hwnd, ctypes.byref(outer)):
return 0, 0
if not user32.GetClientRect(hwnd, ctypes.byref(client)):
return 0, 0
if not user32.ClientToScreen(hwnd, ctypes.byref(origin)):
return 0, 0
outer_w = max(0, int(outer.right) - int(outer.left))
outer_h = max(0, int(outer.bottom) - int(outer.top))
client_w = max(0, int(client.right) - int(client.left))
client_h = max(0, int(client.bottom) - int(client.top))
extra_w = max(0, outer_w - client_w)
extra_h = max(0, outer_h - client_h)
return extra_w, extra_h
except Exception:
return 0, 0
def _window_outer_bounds(window: tk.Misc) -> tuple[int, int, int, int] | None:
"""Return the actual outer window rect in screen coordinates."""
try:
if not hasattr(ctypes, "windll"):
return None
class RECT(ctypes.Structure):
_fields_ = [
("left", ctypes.c_long),
("top", ctypes.c_long),
("right", ctypes.c_long),
("bottom", ctypes.c_long),
]
rect = RECT()
hwnd = int(window.winfo_id())
if not ctypes.windll.user32.GetWindowRect(hwnd, ctypes.byref(rect)):
return None
return int(rect.left), int(rect.top), int(rect.right), int(rect.bottom)
except Exception:
return None
def _set_window_alpha(window: tk.Misc, alpha: float) -> None:
"""Best-effort helper to change a window opacity."""
try:
window.attributes("-alpha", float(alpha))
except Exception:
pass
def _set_window_bounds(child: tk.Misc, x: int, y: int, width: int | None = None, height: int | None = None) -> None:
"""Move a toplevel to the requested bounds, resizing it when dimensions are provided."""
before_x, before_y = _safe_xy(child)
before_w, before_h = _safe_wh(child)
_MODULE_LOGGER.debug(
"set_bounds.start window=%s from=(%s,%s,%s,%s) target=(%s,%s,%s,%s)",
_window_label(child),
before_x,
before_y,
before_w,
before_h,
x,
y,
width,
height,
)
try:
child.state("normal")
except Exception:
pass
try:
child.deiconify()
except Exception:
pass
try:
if hasattr(ctypes, "windll"):
hwnd = int(child.winfo_id())
SWP_NOZORDER = 0x0004
SWP_NOACTIVATE = 0x0010
flags = SWP_NOZORDER | SWP_NOACTIVATE
move_w = 0 if width is None else int(width)
move_h = 0 if height is None else int(height)
if width is None or height is None:
flags |= 0x0001 # SWP_NOSIZE
ctypes.windll.user32.SetWindowPos(hwnd, 0, int(x), int(y), move_w, move_h, flags)
if width is None or height is None:
child.geometry(f"+{x}+{y}")
else:
child.geometry(f"{int(width)}x{int(height)}+{x}+{y}")
except Exception:
fallback_w = max(child.winfo_width(), child.winfo_reqwidth()) if width is None else int(width)
fallback_h = max(child.winfo_height(), child.winfo_reqheight()) if height is None else int(height)
child.geometry(f"{fallback_w}x{fallback_h}+{x}+{y}")
try:
child.update_idletasks()
except Exception:
pass
after_x, after_y = _safe_xy(child)
after_w, after_h = _safe_wh(child)
_MODULE_LOGGER.debug(
"set_bounds.end window=%s final=(%s,%s,%s,%s) target=(%s,%s,%s,%s)",
_window_label(child),
after_x,
after_y,
after_w,
after_h,
x,
y,
width,
height,
)
def _set_window_position(child: tk.Misc, x: int, y: int) -> None:
"""Move a toplevel to the requested screen coordinates without resizing it."""
_set_window_bounds(child, x, y, None, None)
def _ensure_window_position(child: tk.Misc, x: int, y: int, *, tolerance: int = 2) -> None:
"""Only correct the window position when it really drifted from the target."""
try:
current_x, current_y = _safe_xy(child)
if current_x is None or current_y is None:
_set_window_position(child, x, y)
return
if abs(current_x - int(x)) <= tolerance and abs(current_y - int(y)) <= tolerance:
return
except Exception:
pass
_set_window_position(child, x, y)
def _batch_set_window_positions(windows: list[tk.Misc], positions: list[tuple[int, int]]) -> bool:
"""Try to reposition multiple windows in one Win32 batch to reduce flicker."""
if not hasattr(ctypes, "windll"):
return False
if len(windows) != len(positions) or not windows:
return False
try:
user32 = ctypes.windll.user32
WM_SETREDRAW = 0x000B
RDW_INVALIDATE = 0x0001
RDW_ALLCHILDREN = 0x0080
RDW_FRAME = 0x0400
redraw_hwnds: list[int] = []
hdwp = user32.BeginDeferWindowPos(len(windows))
if not hdwp:
return False
SWP_NOSIZE = 0x0001
SWP_NOZORDER = 0x0004
SWP_NOACTIVATE = 0x0010
SWP_NOREDRAW = 0x0008
SWP_DEFERERASE = 0x2000
flags = SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOREDRAW | SWP_DEFERERASE
for child, (x, y) in zip(windows, positions):
try:
child.state("normal")
except Exception:
pass
try:
child.deiconify()
except Exception:
pass
hwnd = int(child.winfo_id())
redraw_hwnds.append(hwnd)
try:
user32.SendMessageW(hwnd, WM_SETREDRAW, 0, 0)
except Exception:
pass
hdwp = user32.DeferWindowPos(hdwp, hwnd, 0, int(x), int(y), 0, 0, flags)
if not hdwp:
for redraw_hwnd in redraw_hwnds:
try:
user32.SendMessageW(redraw_hwnd, WM_SETREDRAW, 1, 0)
user32.RedrawWindow(redraw_hwnd, None, None, RDW_INVALIDATE | RDW_ALLCHILDREN | RDW_FRAME)
except Exception:
pass
return False
ok = bool(user32.EndDeferWindowPos(hdwp))
for redraw_hwnd in redraw_hwnds:
try:
user32.SendMessageW(redraw_hwnd, WM_SETREDRAW, 1, 0)
user32.RedrawWindow(redraw_hwnd, None, None, RDW_INVALIDATE | RDW_ALLCHILDREN | RDW_FRAME)
except Exception:
pass
return ok
except Exception:
return False
def _restack_windows(windows: list[tk.Misc]) -> None:
"""Lift windows from back to front without mixing movement and z-order updates."""
for child in windows:
try:
child.lift()
except Exception:
pass
def place_window_below_parent(parent: tk.Misc, child: tk.Misc, *, x_offset: int = 0, y_gap: int = 0):
"""Place ``child`` so its outer top edge sits just below ``parent``.
The placement uses root-window coordinates and preserves the child's
computed width/height. Call it after the child has a geometry.
"""
try:
parent.update_idletasks()
child.update_idletasks()
# On Windows/Tk, ``winfo_rootx`` starts at the inner client area,
# while ``winfo_x`` tracks the outer window frame. Using ``winfo_x``
# keeps child windows flush with the launcher's external left border.
x = parent.winfo_x() + int(x_offset)
y = parent.winfo_rooty() + parent.winfo_height() + int(y_gap)
_set_window_position(child, x, y)
except Exception:
pass
def place_window_below_parent_later(parent: tk.Misc, child: tk.Misc, *, x_offset: int = 0, y_gap: int = 0):
"""Schedule child placement on the Tk queue after geometry settles."""
try:
child.after(0, lambda: place_window_below_parent(parent, child, x_offset=x_offset, y_gap=y_gap))
except Exception:
place_window_below_parent(parent, child, x_offset=x_offset, y_gap=y_gap)
def place_window_fullsize_below_parent(parent: tk.Misc, child: tk.Misc, *, x_offset: int = 0, y_gap: int = 0):
"""Place a child below the launcher and size it to the full remaining work area."""
try:
parent.update_idletasks()
child.update_idletasks()
work_left, _work_top, work_right, work_bottom = _work_area_bounds(parent)
screen_h = int(parent.winfo_screenheight())
x = parent.winfo_x() + int(x_offset)
y = parent.winfo_rooty() + parent.winfo_height() + int(y_gap)
taskbar_h = _taskbar_thickness(parent)
usable_bottom = int(work_bottom)
if taskbar_h > 0:
usable_bottom = min(usable_bottom, screen_h - int(taskbar_h))
extra_w, extra_h = _window_nonclient_extra(child)
width = max(320, int(work_right) - int(x) - int(extra_w))
height = max(240, int(usable_bottom) - int(y) - int(extra_h))
_MODULE_LOGGER.debug(
"fullsize.calc window=%s x=%s y=%s work_right=%s usable_bottom=%s taskbar=%s extra=(%s,%s) final=(%s,%s)",
_window_label(child),
x,
y,
work_right,
usable_bottom,
taskbar_h,
extra_w,
extra_h,
width,
height,
)
_set_window_bounds(child, x, y, width, height)
except Exception:
pass
def _fit_window_to_work_area(parent: tk.Misc, child: tk.Misc, *, x_offset: int = 0, y_gap: int = 0) -> None:
"""Trim a rendered child window so its outer frame stays above the taskbar."""
try:
if not getattr(child, "winfo_exists", lambda: False)():
return
parent.update_idletasks()
child.update_idletasks()
_work_left, _work_top, _work_right, work_bottom = _work_area_bounds(parent)
screen_h = int(parent.winfo_screenheight())
taskbar_h = _taskbar_thickness(parent)
usable_bottom = int(work_bottom)
if taskbar_h > 0:
usable_bottom = min(usable_bottom, screen_h - int(taskbar_h))
outer = _window_outer_bounds(child)
if outer is None:
return
left, top, right, bottom = outer
overflow = int(bottom) - int(usable_bottom)
_MODULE_LOGGER.debug(
"fit_window.check window=%s outer=(%s,%s,%s,%s) usable_bottom=%s overflow=%s",
_window_label(child),
left,
top,
right,
bottom,
usable_bottom,
overflow,
)
if overflow <= 0:
return
current_w, current_h = _safe_wh(child)
if current_w is None or current_h is None:
return
new_h = max(240, int(current_h) - int(overflow) - 2)
x = parent.winfo_x() + int(x_offset)
y = parent.winfo_rooty() + parent.winfo_height() + int(y_gap)
_MODULE_LOGGER.debug(
"fit_window.apply window=%s current=(%s,%s) new_h=%s",
_window_label(child),
current_w,
current_h,
new_h,
)
_set_window_bounds(child, x, y, int(current_w), int(new_h))
except Exception:
_MODULE_LOGGER.exception("fit_window.error")
def place_window_fullsize_below_parent_later(parent: tk.Misc, child: tk.Misc, *, x_offset: int = 0, y_gap: int = 0):
"""Schedule full-size placement below the launcher after geometry settles."""
try:
try:
_set_window_alpha(child, 0.0)
except Exception:
pass
child.after(0, lambda: place_window_fullsize_below_parent(parent, child, x_offset=x_offset, y_gap=y_gap))
child.after(120, lambda: _fit_window_to_work_area(parent, child, x_offset=x_offset, y_gap=y_gap))
child.after(260, lambda: _fit_window_to_work_area(parent, child, x_offset=x_offset, y_gap=y_gap))
child.after(300, lambda: _set_window_alpha(child, 1.0) if getattr(child, "winfo_exists", lambda: False)() else None)
except Exception:
place_window_fullsize_below_parent(parent, child, x_offset=x_offset, y_gap=y_gap)
def tile_children_below_parent(parent: tk.Misc, children: list[tk.Misc], *, gap: int = 8, margin: int = 8):
"""Arrange open children in a compact grid below the launcher."""
windows = [w for w in children if w is not None and getattr(w, "winfo_exists", lambda: False)()]
if not windows:
return
try:
parent.update_idletasks()
start_x = parent.winfo_rootx() + int(margin)
start_y = parent.winfo_rooty() + parent.winfo_height() + int(margin)
screen_w = parent.winfo_screenwidth()
screen_h = parent.winfo_screenheight()
avail_w = max(320, screen_w - start_x - int(margin))
avail_h = max(240, screen_h - start_y - int(margin))
count = len(windows)
cols = max(1, math.ceil(math.sqrt(count)))
rows = max(1, math.ceil(count / cols))
cell_w = max(320, (avail_w - (cols - 1) * int(gap)) // cols)
cell_h = max(240, (avail_h - (rows - 1) * int(gap)) // rows)
for idx, child in enumerate(windows):
row = idx // cols
col = idx % cols
x = start_x + col * (cell_w + int(gap))
y = start_y + row * (cell_h + int(gap))
child.geometry(f"{cell_w}x{cell_h}+{x}+{y}")
try:
child.lift()
except Exception:
pass
except Exception:
pass
def cascade_children_below_parent(
parent: tk.Misc,
children: list[tk.Misc],
*,
x_offset_step: int = 20,
y_offset_step: int = 20,
margin_left: int = 0,
margin_top: int = 0,
):
"""Arrange open children in cascade order below the launcher."""
windows = [w for w in children if w is not None and getattr(w, "winfo_exists", lambda: False)()]
if not windows:
return
try:
parent.update_idletasks()
base_x = parent.winfo_x() + int(margin_left)
base_y = parent.winfo_rooty() + parent.winfo_height() + int(margin_top)
positions: list[tuple[int, int]] = []
_MODULE_LOGGER.info(
"cascade.start parent=%s base=(%s,%s) count=%s x_step=%s y_step=%s",
_window_label(parent),
base_x,
base_y,
len(windows),
x_offset_step,
y_offset_step,
)
for idx, child in enumerate(windows):
child.update_idletasks()
x = base_x + idx * int(x_offset_step)
y = base_y + idx * int(y_offset_step)
positions.append((x, y))
_MODULE_LOGGER.info(
"cascade.window index=%s window=%s target=(%s,%s)",
idx,
_window_label(child),
x,
y,
)
batched = _batch_set_window_positions(windows, positions)
_MODULE_LOGGER.info("cascade.batch_applied=%s", batched)
for child, (x, y) in zip(windows, positions):
try:
if not batched:
_set_window_position(child, x, y)
except Exception:
pass
try:
parent.after(10, lambda wins=list(windows): _restack_windows([w for w in wins if getattr(w, "winfo_exists", lambda: False)()]))
except Exception:
_restack_windows(windows)
for child, (x, y) in zip(windows, positions):
try:
child.after(
110,
lambda w=child, px=x, py=y: _ensure_window_position(w, px, py)
if getattr(w, "winfo_exists", lambda: False)()
else None,
)
except Exception:
pass
except Exception:
_MODULE_LOGGER.exception("cascade.error")