diff --git a/GMW/Web.config b/GMW/Web.config
index 70fb38ce..0cf3d3b7 100644
--- a/GMW/Web.config
+++ b/GMW/Web.config
@@ -61,7 +61,7 @@
-
+
diff --git a/GMW/bin/GMW.dll b/GMW/bin/GMW.dll
index 8a6b0c00..38122879 100644
Binary files a/GMW/bin/GMW.dll and b/GMW/bin/GMW.dll differ
diff --git a/GMW/bin/GMW_data.dll b/GMW/bin/GMW_data.dll
index 58e22c33..b0331e83 100644
Binary files a/GMW/bin/GMW_data.dll and b/GMW/bin/GMW_data.dll differ
diff --git a/GMW/bin/SteamWare.dll b/GMW/bin/SteamWare.dll
index 8dd19b12..008081e6 100644
Binary files a/GMW/bin/SteamWare.dll and b/GMW/bin/SteamWare.dll differ
diff --git a/GMW_data/GMW_data.csproj b/GMW_data/GMW_data.csproj
index e33723d4..80250862 100644
--- a/GMW_data/GMW_data.csproj
+++ b/GMW_data/GMW_data.csproj
@@ -423,7 +423,9 @@
+
+
diff --git a/GMW_data/SqlScripts/V2.2_TK/GMW_00562.sql b/GMW_data/SqlScripts/V2.2_TK/GMW_00562.sql
new file mode 100644
index 00000000..7010f061
--- /dev/null
+++ b/GMW_data/SqlScripts/V2.2_TK/GMW_00562.sql
@@ -0,0 +1,612 @@
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+create VIEW v_selTipoPart
+AS
+SELECT val AS value, CASE WHEN val = 'A' THEN 'Anime' WHEN val = 'P' THEN 'Produzione' ELSE val + ' (n.d.)' END AS label
+FROM (SELECT DISTINCT ClassifArticolo AS val
+ FROM RilPro.AnagParticolari) AS derivedtbl_1
+go
+
+exec sp_addextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
+Begin DesignProperties =
+ Begin PaneConfigurations =
+ Begin PaneConfiguration = 0
+ NumPanes = 4
+ Configuration = "(H (1[40] 4[20] 2[20] 3) )"
+ End
+ Begin PaneConfiguration = 1
+ NumPanes = 3
+ Configuration = "(H (1 [50] 4 [25] 3))"
+ End
+ Begin PaneConfiguration = 2
+ NumPanes = 3
+ Configuration = "(H (1 [50] 2 [25] 3))"
+ End
+ Begin PaneConfiguration = 3
+ NumPanes = 3
+ Configuration = "(H (4 [30] 2 [40] 3))"
+ End
+ Begin PaneConfiguration = 4
+ NumPanes = 2
+ Configuration = "(H (1 [56] 3))"
+ End
+ Begin PaneConfiguration = 5
+ NumPanes = 2
+ Configuration = "(H (2 [66] 3))"
+ End
+ Begin PaneConfiguration = 6
+ NumPanes = 2
+ Configuration = "(H (4 [50] 3))"
+ End
+ Begin PaneConfiguration = 7
+ NumPanes = 1
+ Configuration = "(V (3))"
+ End
+ Begin PaneConfiguration = 8
+ NumPanes = 3
+ Configuration = "(H (1[56] 4[18] 2) )"
+ End
+ Begin PaneConfiguration = 9
+ NumPanes = 2
+ Configuration = "(H (1 [75] 4))"
+ End
+ Begin PaneConfiguration = 10
+ NumPanes = 2
+ Configuration = "(H (1[66] 2) )"
+ End
+ Begin PaneConfiguration = 11
+ NumPanes = 2
+ Configuration = "(H (4 [60] 2))"
+ End
+ Begin PaneConfiguration = 12
+ NumPanes = 1
+ Configuration = "(H (1) )"
+ End
+ Begin PaneConfiguration = 13
+ NumPanes = 1
+ Configuration = "(V (4))"
+ End
+ Begin PaneConfiguration = 14
+ NumPanes = 1
+ Configuration = "(V (2))"
+ End
+ ActivePaneConfig = 0
+ End
+ Begin DiagramPane =
+ Begin Origin =
+ Top = 0
+ Left = 0
+ End
+ Begin Tables =
+ Begin Table = "derivedtbl_1"
+ Begin Extent =
+ Top = 6
+ Left = 38
+ Bottom = 85
+ Right = 208
+ End
+ DisplayFlags = 280
+ TopColumn = 0
+ End
+ End
+ End
+ Begin SQLPane =
+ End
+ Begin DataPane =
+ Begin ParameterDefaults = ""
+ End
+ Begin ColumnWidths = 9
+ Width = 284
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ Width = 1500
+ End
+ End
+ Begin CriteriaPane =
+ Begin ColumnWidths = 11
+ Column = 1440
+ Alias = 900
+ Table = 1170
+ Output = 720
+ Append = 1400
+ NewValue = 1170
+ SortType = 1350
+ SortOrder = 1410
+ GroupBy = 1350
+ Filter = 1350
+ Or = 1350
+ Or = 1350
+ Or = 1350
+ End
+ End
+End
+', 'SCHEMA', 'dbo', 'VIEW', 'v_selTipoPart';
+go
+
+exec sp_addextendedproperty 'MS_DiagramPaneCount', 1, 'SCHEMA', 'dbo', 'VIEW', 'v_selTipoPart';
+go
+
+commit;
+go
+
+
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+/***************************************
+* STORED stp_elencoListePrelievoFilt
+*
+* restituisce l'elenco delle liste di prelievo secondo criteri di filtraggio
+*
+* Steamware, S.E.L.
+* mod: 2010.07.06
+*
+****************************************/
+alter PROCEDURE stp_elencoListePrelievoFilt
+(
+ @DataFrom DATETIME,
+ @DataTo DATETIME,
+ @classifArticolo NCHAR(1) = '*'
+)
+AS
+-- utilizza la vista righe lista prelievo e quindi solo le prelevate ...
+
+ SELECT velp.*
+ FROM V_elencoListePrelievo velp INNER JOIN RilPro.AnagParticolari ap ON velp.Particolare = ap.Particolare
+ WHERE (velp.DataCreaz BETWEEN @DataFrom AND @DataTo)
+ AND ap.classifArticolo = CASE WHEN ISNULL(@classifArticolo,'*') = '*' THEN ap.classifArticolo ELSE @classifArticolo END
+ ORDER BY velp.DataCreaz DESC
+
+RETURN
+go
+
+commit;
+go
+
+
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+/***************************************
+* STORED stp_LP_updateDestTipo
+*
+* aggiorna destinatario e tipo per una lista di prelievo
+*
+* Steamware, S.E.L.
+* mod: 2012.03.06
+*
+************************************/
+alter PROCEDURE stp_LP_updateDestTipo
+(
+ @Original_CodLista NVARCHAR(12),
+ @CodTipoLista VARCHAR(10),
+ @CodCliente NVARCHAR(6),
+ @RagSociale NVARCHAR(50),
+ @CodSoggetto VARCHAR(17),
+ @DataMod DATETIME
+)
+AS
+
+--SET XACT_ABORT ON;
+
+--BEGIN TRY
+-- BEGIN TRANSACTION;
+
+-- aggiorno lista prelievo con nuovo UDC
+ UPDATE dbo.ElencoListePrelievo
+ SET CodTipoLista = @CodTipoLista,
+ Destinatario = @CodCliente,
+ DestinatarioDescrizione = @RagSociale,
+ CodSoggetto = @CodSoggetto,
+ DataModStato = @DataMod
+ WHERE CodLista = @Original_CodLista
+ AND CodStatoLista = 3
+
+-- memorizzo errore
+-- IF ( SELECT CodStatoLista FROM ElencoListePrelievo WHERE CodLista = @Original_CodLista ) <> 3
+-- INSERT TK_AS400.dbo.TabErrori
+-- SELECT GETDATE(), 'STORED stp_LP_updateDestTipo Modifica Tipo Lista non Corretto ' + @Original_CodLista + ' New Tipo ' + @CodTipoLista + ' New Cliente ' + @CodCliente
+
+-- COMMIT TRANSACTION;
+--END TRY
+--BEGIN CATCH
+
+-- SELECT
+-- ERROR_NUMBER() AS ErrorNumber,
+-- ERROR_MESSAGE() AS ErrorMessage;
+
+-- -- Test XACT_STATE for 1 or -1.
+-- -- XACT_STATE = 0 means there is no transaction and
+-- -- a commit or rollback operation would generate an error.
+
+-- -- Test whether the transaction is uncommittable.
+-- IF (XACT_STATE()) = -1
+-- BEGIN
+-- PRINT
+-- N'The transaction is in an uncommittable state. ' +
+-- 'Rolling back transaction.'
+-- ROLLBACK TRANSACTION;
+-- END;
+
+-- -- Test whether the transaction is active and valid.
+-- IF (XACT_STATE()) = 1
+-- BEGIN
+-- PRINT
+-- N'The transaction is committable. ' +
+-- 'Committing transaction.'
+-- COMMIT TRANSACTION;
+-- END;
+
+-- DECLARE @ErrorMessage NVARCHAR(4000);
+-- DECLARE @ErrorSeverity INT;
+-- DECLARE @ErrorState INT;
+
+-- SELECT
+-- @ErrorMessage = ERROR_MESSAGE(),
+-- @ErrorSeverity = ERROR_SEVERITY(),
+-- @ErrorState = ERROR_STATE();
+
+-- -- Use RAISERROR inside the CATCH block to return error
+-- -- information about the original error that caused
+-- -- execution to jump to the CATCH block.
+-- RAISERROR (@ErrorMessage, -- Message text.
+-- @ErrorSeverity, -- Severity.
+-- @ErrorState -- State.
+-- ) ; -- WITH LOG;
+--END CATCH;
+
+
+--
+
+/* 18-06-2013 messo blocco anche qui dopo aver trovati liste di prelievo già scaricate con tipo e destinatario
+ modificati
+ UPDATE ElencoListePrelievo
+ SET CodTipoLista = @CodTipoLista,
+ Destinatario = @CodCliente,
+ DestinatarioDescrizione = @RagSociale
+ WHERE CodLista = @Original_CodLista
+*/
+
+
+RETURN
+go
+
+commit;
+go
+
+
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+/***************************************
+* STORED stp_ParticolariOverview
+*
+* elenco di overview sullo stato dei magazzini (dettaglio a "maglie larghe")
+*
+* Steamware, S.E.L.
+* mod: 2013.06.17 x Cella Terra Bloccata non visibile
+* procedura vecchia in fondo
+****************************************/
+alter PROCEDURE stp_magazzinoOverview
+(
+ @CodCS VARCHAR(2),
+ @particolare NVARCHAR(15) = ''
+)
+AS
+
+-- controllo se particolare vuoto o '*' mostro tutto...
+IF(@particolare = '' OR @particolare='*' OR @particolare IS NULL)
+ BEGIN
+
+ SELECT
+ AnagMag.CodCS ,
+ AnagMag.CodMag ,
+ AnagMag.DescMag ,
+ Blocchi.IdxBlocco ,
+ Blocchi.CodBlocco ,
+ Blocchi.DescBlocco ,
+ TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle,
+ TipoCella.Capienza * COUNT( DISTINCT ( CASE WHEN Celle.Attiva = 1 THEN Celle.IdxCella
+ ELSE NULL END ) ) AS CelleAttive,
+ COUNT( PosizioneUdcCorrente.UDC )AS CelleOccupate,
+ -- COUNT( CASE WHEN Celle.Attiva = 1 THEN PosizioneUdcCorrente.UDC ELSE NULL END ) AS CelleAttiveOccupate,
+ -- CelleLibere = CelleAttive - CelleOccupate ( solo se attive )
+ ( TipoCella.Capienza * COUNT( DISTINCT ( CASE WHEN Celle.Attiva = 1
+ THEN Celle.IdxCella ELSE NULL END )) )
+ - ( COUNT( CASE WHEN Celle.Attiva = 1 THEN PosizioneUdcCorrente.UDC ELSE NULL END ) ) AS CelleLibere,
+
+ ISNULL( MIN( PosizioneUdcCorrente.DataRif ) , GETDATE( ))AS Oldest ,
+ ISNULL( MAX( PosizioneUdcCorrente.DataRif ) , GETDATE( ))AS Newest
+ FROM AnagMag
+ INNER JOIN Blocchi
+ ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS
+ INNER JOIN TipoCella
+ ON AnagMag.CodMag = TipoCella.CodMag AND AnagMag.CodCS = TipoCella.CodCS
+ INNER JOIN Celle
+ ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco
+ LEFT OUTER JOIN PosizioneUdcCorrente
+ ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+
+ WHERE AnagMag.CodCS = @CodCS AND ISNULL( AnagMag.Nascosto , 0 ) = 0 -- escludo mag. nascosti
+ GROUP BY AnagMag.CodCS ,
+ AnagMag.CodMag ,
+ AnagMag.DescMag ,
+ Blocchi.IdxBlocco ,
+ Blocchi.CodBlocco ,
+ Blocchi.DescBlocco ,
+ Blocchi.NumX ,
+ Blocchi.NumY ,
+ Blocchi.NumZ ,
+ TipoCella.Capienza
+ ORDER BY AnagMag.CodMag , Blocchi.CodBlocco;
+ END
+ELSE
+ BEGIN
+
+ SELECT
+ AnagMag.CodCS ,
+ AnagMag.CodMag ,
+ AnagMag.DescMag ,
+ Blocchi.IdxBlocco ,
+ Blocchi.CodBlocco ,
+ Blocchi.DescBlocco ,
+ TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle,
+ -- CelleLibere e CelleAttive = 0 altrimenti grafico videata non corretto con selezione particolare
+ CONVERT(INT, 0 ) AS CelleAttive,
+ COUNT( CASE WHEN ec.particolare = @particolare THEN PosizioneUdcCorrente.UDC ELSE NULL END ) AS CelleOccupate,
+ CONVERT(INT, 0 ) AS CelleLibere,
+
+ -- Calcoli normali x CelleLibere e CelleAttive ( verificare grafico videata - calcoli corretti )
+ --TipoCella.Capienza * COUNT( DISTINCT ( CASE WHEN Celle.Attiva = 1 THEN Celle.IdxCella
+ -- ELSE NULL END ) ) AS CelleAttive,
+ --COUNT( CASE WHEN ec.particolare = @particolare THEN PosizioneUdcCorrente.UDC ELSE NULL END ) AS CelleOccupate,
+ --( TipoCella.Capienza * COUNT( DISTINCT ( CASE WHEN Celle.Attiva = 1 THEN Celle.IdxCella ELSE NULL END )) )
+ -- - ( COUNT( CASE WHEN Celle.Attiva = 1 THEN PosizioneUdcCorrente.UDC ELSE NULL END ) ) AS CelleLibere,
+
+ ISNULL( MIN( CASE WHEN ec.particolare = @particolare THEN PosizioneUdcCorrente.DataRif ELSE NULL END ) , GETDATE( ))AS Oldest ,
+ ISNULL( MAX( CASE WHEN ec.particolare = @particolare THEN PosizioneUdcCorrente.DataRif ELSE NULL END ) , GETDATE( ))AS Newest
+ FROM AnagMag
+ INNER JOIN Blocchi
+ ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS
+ INNER JOIN TipoCella
+ ON AnagMag.CodMag = TipoCella.CodMag AND AnagMag.CodCS = TipoCella.CodCS
+ INNER JOIN Celle
+ ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco
+ LEFT OUTER JOIN PosizioneUdcCorrente
+ ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+ LEFT OUTER JOIN ElencoCartellini ec ON PosizioneUdcCorrente.UDC = ec.UDC
+
+ WHERE AnagMag.CodCS = @CodCS AND ISNULL( AnagMag.Nascosto , 0 ) = 0 -- escludo mag. nascosti
+ GROUP BY AnagMag.CodCS ,
+ AnagMag.CodMag ,
+ AnagMag.DescMag ,
+ Blocchi.IdxBlocco ,
+ Blocchi.CodBlocco ,
+ Blocchi.DescBlocco ,
+ Blocchi.NumX ,
+ Blocchi.NumY ,
+ Blocchi.NumZ ,
+ TipoCella.Capienza
+ -- filtro solo i magazzini con il particolare richiesto
+ HAVING COUNT( CASE WHEN ec.particolare = @particolare THEN PosizioneUdcCorrente.UDC ELSE NULL END ) > 0
+ ORDER BY AnagMag.CodMag , Blocchi.CodBlocco;
+
+ END
+
+/* OLD 17/06/2013 Problema della cella terra bloccata non più visibile e delle celle bloccate piene
+ SELECT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco,
+ TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle,
+ TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) AS CelleAttive,
+ COUNT(PosizioneUdcCorrente.UDC) AS CelleOccupate,
+ TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) - COUNT(PosizioneUdcCorrente.UDC) AS CelleLibere,
+ ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest
+ FROM TipoCella INNER JOIN
+ AnagMag INNER JOIN
+ Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS ON TipoCella.CodMag = AnagMag.CodMag AND
+ TipoCella.CodCS = AnagMag.CodCS LEFT OUTER JOIN
+ Celle ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco LEFT OUTER JOIN
+ PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+ WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0)
+ GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco,
+ Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ,
+ TipoCella.Capienza
+ ORDER BY AnagMag.CodMag, Blocchi.CodBlocco
+ END
+ELSE
+ BEGIN
+ SELECT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco,
+ TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle,
+ TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) AS CelleAttive,
+ COUNT(PosizioneUdcCorrente.UDC) AS CelleOccupate,
+ TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) - COUNT(PosizioneUdcCorrente.UDC) AS CelleLibere,
+ ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest
+ FROM TipoCella INNER JOIN
+ AnagMag INNER JOIN
+ Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS ON TipoCella.CodMag = AnagMag.CodMag AND
+ TipoCella.CodCS = AnagMag.CodCS LEFT OUTER JOIN
+ Celle ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco LEFT OUTER JOIN
+ PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella
+ INNER JOIN ElencoCartellini ec ON PosizioneUdcCorrente.UDC = ec.UDC
+ WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0) AND ec.particolare = @particolare
+ GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco,
+ Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ,
+ TipoCella.Capienza
+ ORDER BY AnagMag.CodMag, Blocchi.CodBlocco
+ END
+*/
+
+RETURN
+go
+
+commit;
+go
+
+
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+/***************************************
+* STORED stp_paretoPartByMagBlocco
+*
+* restituisce elenco particolari in logica pareto (quantità) per un dato blocco di magazzino, aggregati (no stato)
+*
+* Steamware, S.E.L.
+* mod: 2010.06.03
+*
+****************************************/
+alter PROCEDURE stp_paretoPartByMagBlocco
+(
+ @CodCS VARCHAR(2),
+ @CodMag VARCHAR(50),
+ @IdxBlocco INT
+)
+AS
+
+ SELECT TOP (100) PERCENT
+ dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco,
+ dbo.ElencoCartellini.Particolare, '' as Esponente, COUNT(dbo.PosizioneUdcCorrente.UDC) AS NumUDC, ISNULL(MIN(dbo.PosizioneUdcCorrente.DataRif),
+ GETDATE()) AS Oldest, ISNULL(MAX(dbo.PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest, SUM(dbo.ElencoCartellini.Qta) AS QtaTotPz,
+ '' AS DescStato
+ FROM dbo.AnagMag INNER JOIN
+ dbo.Blocchi ON dbo.AnagMag.CodMag = dbo.Blocchi.CodMag AND dbo.AnagMag.CodCS = dbo.Blocchi.CodCS INNER JOIN
+ dbo.Celle INNER JOIN
+ dbo.ElencoCartellini INNER JOIN
+ dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
+ ON dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella
+ ON dbo.Blocchi.IdxBlocco = dbo.Celle.IdxBlocco INNER JOIN
+ dbo.AnagStatiProdotto ON dbo.ElencoCartellini.CodStato = dbo.AnagStatiProdotto.CodStato
+WHERE --(dbo.Celle.Attiva = 1) AND -- disattivata Redmine #46
+ (AnagMag.CodCS = @CodCS) AND AnagMag.CodMag = @CodMag AND Blocchi.IdxBlocco = @IdxBlocco
+GROUP BY dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco,
+ dbo.Blocchi.NumX, dbo.Blocchi.NumY, dbo.Blocchi.NumZ, dbo.ElencoCartellini.Particolare
+ORDER BY QtaTotPz DESC
+
+
+RETURN
+go
+
+/***************************************
+* STORED stp_paretoPartByMagBloccoCodMagLog
+*
+* restituisce elenco particolari in logica pareto (quantità) per un dato blocco di magazzino ed un dato magazzino logico, aggregati (no stato)
+*
+* Steamware, S.E.L.
+* mod: 2010.09.15
+*
+****************************************/
+alter PROCEDURE stp_paretoPartByMagBloccoCodMagLog
+(
+ @CodCS VARCHAR(2),
+ @CodMag VARCHAR(50),
+ @IdxBlocco INT,
+ @CodMagLog INT
+)
+AS
+
+ SELECT TOP (100) PERCENT
+ dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco,
+ dbo.ElencoCartellini.Particolare, '' as Esponente, COUNT(dbo.PosizioneUdcCorrente.UDC) AS NumUDC, ISNULL(MIN(dbo.PosizioneUdcCorrente.DataRif),
+ GETDATE()) AS Oldest, ISNULL(MAX(dbo.PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest, SUM(dbo.ElencoCartellini.Qta) AS QtaTotPz,
+ '' AS DescStato
+ FROM dbo.AnagMag INNER JOIN
+ dbo.Blocchi ON dbo.AnagMag.CodMag = dbo.Blocchi.CodMag AND dbo.AnagMag.CodCS = dbo.Blocchi.CodCS INNER JOIN
+ dbo.Celle INNER JOIN
+ dbo.ElencoCartellini INNER JOIN
+ dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC
+ ON dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella
+ ON dbo.Blocchi.IdxBlocco = dbo.Celle.IdxBlocco INNER JOIN
+ dbo.AnagStatiProdotto ON dbo.ElencoCartellini.CodStato = dbo.AnagStatiProdotto.CodStato
+WHERE --(dbo.Celle.Attiva = 1) AND -- disattivata Redmine #46
+ (AnagMag.CodCS = @CodCS) AND AnagMag.CodMag = @CodMag AND Blocchi.IdxBlocco = @IdxBlocco
+ AND ElencoCartellini.IdxPosizione = @CodMagLog
+GROUP BY dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco,
+ dbo.Blocchi.NumX, dbo.Blocchi.NumY, dbo.Blocchi.NumZ, dbo.ElencoCartellini.Particolare
+ORDER BY QtaTotPz DESC
+
+
+RETURN
+go
+
+commit;
+go
+
+
+set xact_abort on;
+go
+
+begin transaction;
+go
+
+set ANSI_NULLS on;
+go
+
+/***************************************
+* STORED stp_RLP_eliminaUdc
+*
+* elimina eventuali righe dato cod UDC (x scarico diretto)
+*
+* Steamware, S.E.L.
+* mod: 2013.05.07
+*
+****************************************/
+create PROCEDURE stp_RLP_eliminaUdc
+(
+ @UDC NVARCHAR(50)
+)
+AS
+
+DELETE FROM RigheListePrelievo
+WHERE UDC = @UDC
+
+RETURN
+go
+
+commit;
+go
+
+
+
+
+
+
+-- registro versione...
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(562, GETDATE())
+GO
+SELECT TOP 5 * FROM LogUpdateDb ORDER BY Versione DESC
+GO
diff --git a/GMW_data/SqlScripts/Vocabolario/vocab_562.sql b/GMW_data/SqlScripts/Vocabolario/vocab_562.sql
new file mode 100644
index 00000000..ce0e2ea3
--- /dev/null
+++ b/GMW_data/SqlScripts/Vocabolario/vocab_562.sql
@@ -0,0 +1,50 @@
+set xact_abort on
+go
+
+begin transaction
+go
+
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnForzaCons_inLDP', N'FORZA cons. UDC in LDP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'btnForzaCons_NoPosVLP', N'FORZA cons. UDC non prel.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'Consumo AnimeExpl', N'Gestione Consumo UDC Anime')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'ConsumoAnime', N'Consumo Anime')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'filtraTipoPart', N'Filtra per Tipo Particolare')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'UDC_impegnatoLDP', N'Attenzione, UDC impegnato in LDP, confermare')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'UDC_nonPrel', N'Attenzione: UDC non in locazione corretta (LPA/LPX)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'EN', N'UDC_posizErrataAnime', N'Tipo cartellino/posizione errati: permesso solo scaricamento ANIME')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnForzaCons_inLDP', N'FORZA cons. UDC in LDP')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'btnForzaCons_NoPosVLP', N'FORZA cons. UDC non prel.')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'Consumo AnimeExpl', N'Gestione Consumo UDC Anime')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'ConsumoAnime', N'Consumo Anime')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'filtraTipoPart', N'Filtra per Tipo Particolare')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'UDC_impegnatoLDP', N'Attenzione, UDC impegnato in LDP, confermare')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'UDC_nonPrel', N'Attenzione: UDC non in locazione corretta (LPA/LPX)')
+INSERT INTO dbo.Vocabolario
+ VALUES (N'IT', N'UDC_posizErrataAnime', N'Tipo cartellino/posizione errati: permesso solo scaricamento ANIME')
+go
+
+commit transaction
+go
+
+
+
+
+INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(562, GETDATE())
+GO
+
+SELECT TOP 10 * FROM LogUpdateDb ORDER BY Versione DESC
diff --git a/GMW_data/bin/TK_prod/GMW_data.dll b/GMW_data/bin/TK_prod/GMW_data.dll
index 0f423348..12a76696 100644
Binary files a/GMW_data/bin/TK_prod/GMW_data.dll and b/GMW_data/bin/TK_prod/GMW_data.dll differ
diff --git a/GMW_data/bin/TK_prod/SteamWare.dll b/GMW_data/bin/TK_prod/SteamWare.dll
index a6de61ff..fce6454e 100644
Binary files a/GMW_data/bin/TK_prod/SteamWare.dll and b/GMW_data/bin/TK_prod/SteamWare.dll differ