Třídová akce

Popis:
Kontrola importu DL do kasy. DL je importovaný správně, pokud množství na řádcích odpovídá sumě množství na účtence, fakturách, pokladních příjmech minus vrácené zboží. Dále se kontroluje čerpané množství, zda není překročeno.
Kód:
73
Tělo:
SELECT 1
FROM
  (
   SELECT 
     SD2.StoreCard_ID,
     SD2.Store_ID, 
     /* Quantity */
     (-SD2.Quantity  +
       ( /* Odpocitani vratky DL */
         SELECT
           SUM(SD2A.Quantity) AS Quantity
         FROM
           StoreDocuments2 SD2A
         WHERE
           SD2A.RDocumentRow_ID = SD2.ID
       ) +
       ( /* Cerpani UC */
         SELECT
          SUM(PD2.Quantity) AS Quantity
         FROM
           POSDocuments2 PD2
         WHERE
           PD2.StoreDocumentRow_ID = SD2.ID
       ) +
       ( /* Cerpani FV */
         SELECT
           COALESCE(SUM(II2.Quantity),0) AS II2Quantity
         FROM
           IssuedInvoices2 II2
         WHERE
           II2.Provide_ID = SD2.Parent_ID AND
           II2.ProvideRow_ID = SD2.ID
       ) +
       ( /* Cerpani PP */
         SELECT
           COALESCE(SUM(CR2.Quantity),0) AS CR2Quantity
         FROM
           CashReceived2 CR2
         WHERE
           CR2.Provide_ID = SD2.Parent_ID AND
           CR2.ProvideRow_ID = SD2.ID
       )
     ) Quantity,
     /* DeliveredQuantity */
     (-SD2.DeliveredQuantity  +
       ( /* Cerpani UC */
         SELECT
          SUM(PD2.Quantity) AS PDDeliveredQuantity
         FROM
           POSDocuments2 PD2
         WHERE
           PD2.StoreDocumentRow_ID = SD2.ID
       ) +
       ( /* Cerpani FV */
         SELECT
           COALESCE(SUM(II2.Quantity),0) AS II2DeliveredQuantity
         FROM
           IssuedInvoices2 II2
         WHERE
           II2.Provide_ID = SD2.Parent_ID AND
           II2.ProvideRow_ID = SD2.ID
       ) +
       ( /* Cerpani PP */
         SELECT
           COALESCE(SUM(CR2.Quantity),0) AS CR2DeliveredQuantity
         FROM
           CashReceived2 CR2
         WHERE
           CR2.Provide_ID = SD2.Parent_ID AND
           CR2.ProvideRow_ID = SD2.ID
       )
     ) DeliveredQuantity
   FROM
     StoreDocuments2 SD2 
   WHERE 
     SD2.Parent_ID = :BillOfDelivery_ID
  ) A
WHERE
  A.Quantity <> 0 OR A.DeliveredQuantity > 0

Generated by ABRA Software a.s. 27.10.2021 16:34:30