Třídová akce

Popis:
Pro zvolenou řadu vrátí skladové doklady k zaúčtování.
Kód:
4
Tělo:
SELECT 
  A.ID, 
  A.DocDate$DATE
FROM  StoreDocuments A 
JOIN SYS$StoreDocuments3 SD3 ON SD3.StoreDocument_ID=A.ID 
WHERE  
  A.DocQueue_ID = :ADocQueue AND 
  ((A.DocDate$DATE BETWEEN :AFromDate and :AToDate) OR (:AToDate = 0 AND A.DocDate$DATE >= :AFromDate)) 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 
    
    (
      (
        /* Pokud se přeúčtovává, bez ohledu na stav zaúčtování */
        (:AReaccount = 'A') OR
        /* Pokud ne, tak doklady bez zaúčtování, které chceme zaúčtovat */
        NOT EXISTS(SELECT 1 FROM Relations RL WHERE RL.LeftSide_ID = A.ID AND RL.Rel_Def IN ({REL_DEF}))
      ) AND 
      (
        /* úč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.RowType = 3 AND 
                                           SD2.Parent_ID = A.ID AND
                                           SD2.Valuated = 'N'))
        OR 
        /* uzavřené je možné účtovat vždy */
        (SD3.Closed = 'A')
      ) 
    ) 
  )
ORDER BY 
  A.DocDate$DATE,
  A.OrdNumber

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