Třídová akce

Popis:
Vrátí řady dokladů, ve kterých existují skladové doklady pro zaúčtování.
Kód:
3
Tělo:
SELECT 
  A.DocQueue_ID, 
  Q.DocumentType,
  MIN(A.DocDate$DATE) AS FromDate, 
  MAX(A.DocDate$DATE) AS ToDate 
FROM StoreDocuments A 
JOIN SYS$StoreDocuments3 SD3 ON SD3.StoreDocument_ID=A.ID
LEFT JOIN DocQueues Q ON Q.ID = A.DocQueue_ID  
LEFT JOIN Periods P ON P.ID = A.Period_ID
WHERE 
  Q.ToAccount = 'A' AND 
  P.Closing = 'N' AND 
  (
    (:AFilterStores = 'N') OR
    EXISTS(SELECT 1 FROM StoreDocuments2 SD2 WHERE SD2.Parent_ID = A.ID AND SD2.RowType = 3 AND SD2.Store_ID IN {StoreSelFragment})  
  ) AND
  (
    /* Invalidní zaúčtování chceme vždy zpracovat (přeúčtovat/zrušit zaúčtování) */
    (A.InvalidAccounting = 'A') OR 
    /* Doklady bez zaúčtování, které chceme zaúčtovat */
    (
      
      (
        /* účtují se i oceněné neuzavřené - nesmí mít žádný neoceněný řádek} */
        ((:AAccValuated = 'A') AND NOT EXISTS(SELECT 1
                                         FROM StoreDocuments2 SD2
                                         WHERE 
                                           SD2.Parent_ID = A.ID AND
                                           SD2.RowType = 3 AND 
                                           SD2.Valuated = 'N'))
        OR 
        /* uzavřené je možné účtovat vždy */
        (SD3.Closed = 'A')
      ) 
    ) 
  )
GROUP BY 
  A.DocQueue_ID, Q.DocumentType

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