Třídová akce

Popis:
Vrátí celkové skóre hodnocení na jednotlivých příjemkách. Parametry: :DateFrom - Doklady od data :DateTo - Doklady do data :EvaluationCriterion_ID - Hodnotící kritérium :Firm_ID - Firma pro omezení příjemek :FirmOffice_ID - Provozovna pro omezení příjemek :SelStoreCards - OID do tabulky SelDat omezení za skladové karty. :SelStoreMenus - OID do tabulky SelDat omezení za skladová menu skladových karet. Výstup: Celková suma hodnocení a počet hodnocení, ze kterých byla suma vypočtena.
Kód:
10
Tělo:
SELECT SUM(EvaluationScore), COUNT(*) FROM 
(
SELECT DISTINCT SD.ID AS ID, SDE.EvaluationScore AS EvaluationScore
FROM StoreDocuments SD
JOIN StoreDocumentEvaluations SDE ON SDE.Parent_ID = SD.ID
LEFT JOIN StoreDocuments2 SD2 ON SD.ID = SD2.Parent_ID
LEFT JOIN StoreCards SC ON SD2.StoreCard_ID = SC.ID
WHERE 
  SD.DocumentType = '20' AND
  SDE.EvaluationCriterion_ID = :EvaluationCriterion_ID AND
  SDE.EvaluationScore >= 0 AND
  (SD.Firm_ID IN (SELECT ID FROM Firms WHERE ID=:Firm_ID OR Firm_ID=:Firm_ID))  AND
  (
    (COALESCE(:FirmOffice_ID1, '0000000000') = '0000000000') OR
    SD.FirmOffice_ID IN (SELECT ID FROM FirmOffices WHERE ID = :FirmOffice_ID2 OR OfficeUnique_ID IN (SELECT OfficeUnique_ID FROM FirmOffices WHERE ID = :FirmOffice_ID3))
  ) AND  
  SD.DocDate$DATE >= :DateFrom AND SD.DocDate$DATE <= :DateTo AND
  ( 
    (COALESCE(:SelStoreCards_ID1, '0000000000') = '0000000000') OR
    ( (SD2.ID IS NOT NULL) AND SD2.StoreCard_ID IN (SELECT OBJ_ID FROM SelDat WHERE SEL_ID = :SelStoreCards_ID2) )
  ) AND
  ( 
    (COALESCE(:SelStoreMenus_ID1, '0000000000') = '0000000000') OR
    ( (SD2.ID IS NOT NULL) AND SC.StoreMenuItem_ID IN (SELECT OBJ_ID FROM SelDat WHERE SEL_ID = :SelStoreMenus_ID2) )
  )
) A

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