SELECT MAX(ST.Code || ' ' || ST.Name) AS Store, MAX(SC.Code || ' ' || SC.Name) AS StoreCard, SUM(-A.Quantity) AS Quantity, MAX(SC.MainUnitCode) AS QUnit, SUM(SDQuantity) AS SDQuantity, SUM(PDQuantity) AS PDQuantity FROM( /* Napocteni dodaneho mnozstvi z radku skladovych dokladu - DeliveredQuantity na DL*/ SELECT MAX(SD2.StoreCard_ID) AS StoreCard_ID, MAX(SD2.Store_ID) AS Store_ID, MAX(-SD2.DeliveredQuantity) AS Quantity, MAX(SD2.DeliveredQuantity) AS SDQuantity, 0 AS PDQuantity FROM POSDocuments2 PD2 JOIN POSDocuments PD ON PD.ID = PD2.Parent_ID LEFT JOIN StoreDocuments2 SD2 ON SD2.ID = PD2.StoreDocumentRow_ID JOIN StoreDocuments SD ON SD.ID = SD2.Parent_ID WHERE PD.POSSummaredDocument_ID =:PSD_ID AND SD.DocumentType = '21' GROUP BY SD2.ID UNION ALL /* Odecteni dodaneho mnozstvi do jinych dokladu FV z radku skladovych dokladu*/ SELECT MAX(SD2.StoreCard_ID) AS StoreCard_ID, MAX(SD2.Store_ID) AS Store_ID, MAX(II2.Quantity) AS Quantity, MAX(-II2.Quantity) AS SDQuantity, 0 AS PDQuantity FROM POSDocuments2 PD2 JOIN POSDocuments PD ON PD.ID = PD2.Parent_ID LEFT JOIN StoreDocuments2 SD2 ON PD2.StoreDocumentRow_ID = SD2.ID JOIN StoreDocuments SD ON SD.ID = SD2.Parent_ID LEFT JOIN IssuedInvoices2 II2 ON SD2.ID = II2.ProvideRow_ID AND SD2.Parent_ID = II2.Provide_ID WHERE PD.POSSummaredDocument_ID =:PSD_ID AND SD.DocumentType = '21' GROUP BY SD2.ID UNION ALL /* Odecteni dodaneho mnozstvi do jinych dokladu PP z radku skladovych dokladu*/ SELECT MAX(SD2.StoreCard_ID) AS StoreCard_ID, MAX(SD2.Store_ID) AS Store_ID, MAX(CR2.Quantity) AS Quantity, MAX(-CR2.Quantity) AS SDQuantity, 0 AS PDQuantity FROM POSDocuments2 PD2 JOIN POSDocuments PD ON PD.ID = PD2.Parent_ID LEFT JOIN StoreDocuments2 SD2 ON PD2.StoreDocumentRow_ID = SD2.ID JOIN StoreDocuments SD ON SD.ID = SD2.Parent_ID LEFT JOIN CashReceived2 CR2 ON SD2.ID = CR2.ProvideRow_ID AND SD2.Parent_ID = CR2.Provide_ID WHERE PD.POSSummaredDocument_ID =:PSD_ID AND SD.DocumentType = '21' GROUP BY SD2.ID UNION ALL /* Odecteni vraceneho zbozi PR, VR*/ SELECT MAX(SD2.StoreCard_ID) AS StoreCard_ID, MAX(SD2.Store_ID) AS Store_ID, MAX(SD2.Quantity) AS Quantity, MAX(-SD2.Quantity) AS SDQuantity, 0 AS PDQuantity FROM POSDocuments2 PD2 JOIN POSDocuments PD ON PD.ID = PD2.Parent_ID LEFT JOIN StoreDocuments2 SD2 ON SD2.ID = PD2.StoreDocumentRow_ID JOIN StoreDocuments SD ON SD.ID = SD2.Parent_ID WHERE PD.POSSummaredDocument_ID =:PSD_ID AND SD.DocumentType <> '21' GROUP BY SD2.ID UNION ALL /* Odecteni prodaneho mnozstvi z radku uctenek */ SELECT PD2.StoreCard_ID, PD2.Store_ID, PD2.Quantity, 0 AS SDQuantity, PD2.Quantity AS PDQuantity FROM PosDocuments PD LEFT JOIN PosDocuments2 PD2 ON PD2.Parent_ID = PD.ID WHERE PD.PosSummaredDocument_ID =:PSD_ID AND PD.InventoryShortFall_ID IS NULL AND PD.InvOverPlus_ID IS NULL ) A JOIN Stores ST ON ST.ID = A.Store_ID JOIN StoreCards SC ON SC.ID = A.StoreCard_ID GROUP BY A.StoreCard_ID, A.Store_ID HAVING SUM(A.Quantity) <> 0
Generated by ABRA Software a.s. 27.10.2021 16:34:30