Publikováno 15. 12. 2015
Dotazy
Dokument popisuje jak vytvořit a najít existující dotazy.
Obsah:
Princip
Dotaz reprezentuje filtr, který předepisuje vlastnosti, které musí splňovat hledané příspěvky, aby byly nalezeny. Hledat dotazem lze tedy pouze příspěvky.
Dotaz může být parametrizován a vracet různá data na základě kontextu, ve kterém je spuštěn:
    - 
    Je-li ve složce, může být parametrizován údaji uživatele, který jej spouští.
    
 
    - 
    Je-li použit v příspěvku, může být parametrizován daty tohoto příspěvku.
    
 
V případě dotazu, který je použit složkou dále platí, že:
    - 
    Dotaz může obsahovat i předpis toho, jak mají být uživateli data publikována, jestliže na složku klikne.
    
 
    - 
    Dotaz může využívat i formulář, který se v případě kliknutí na složku zobrazí a umožní dodavateli vložit ručně nějaké parametry, které se pro
    spuštění dotazu využijí.
    
 
    - 
    Výsledek dotazu, byl-li již uživatelem proveden, je automaticky aktualizován a obsahuje změny, které provádí jiní uživatelé.
    
 
    
    Vytváření nového dotazu
    
    
    V galerii Nový příspěvek v pásu karet na záložce Pracoviště klikněte na ikonu Dotaz.
    
    
    
    
    Zobrazí se následující formulář.
    
    
    
    Význam kolonek
    
    
    Jedinečné jméno
    
    
    Nepřekládané, jedinečné v rámci týmu a dotazů.
    
    
    Překládané jméno
    
    
    Uživatelský název příspěvku.
    
    
    Definice
    
    
    Obsahuje xml, které definuje zejména:
    
    
        - 
        nuggetTypes – Obsahuje jeden či více id typů příspěvků (šablony), kterého mají být hledané příspěvky.
        
 
        - 
        attributes – Popisuje způsob, jak mají být nalezeny atributy, zobrazené u vyhovujících příspěvků. Možnosti jsou:
        
 
        
            - 
            * - všechny,
            
 
            - 
            onlyDefined,
            
 
            - 
            simple.
            
 
            - 
            sqlVariables – Inicializace dotazu. Zde mohou být různé výpočty, definice proměnných apod., které dotaz následně použije.
            
 
            - 
            sql – Vlastní dotaz. Dotaz může používat proměnnou @nug_id, která obsahuje id příspěvku primárního kontextu, je-li dotaz použit ve formuláři.
            
 
            - 
            presentation – Obsahuje xaml předpis typu kontrolu, který může vizualizovat data v případě, že je dotaz použit například ve složce publikující data
            v pravém horním rámečku.
            
 
            - 
            sqlParameters – Parametry. Používá se pouze v případě, že je dotaz použit v kontextu typu formuláře. Parametr získává svoji hodnotu z kolonky
            formuláře respektive z atributu, který kolonka používá.
            
 
        
        
        Formulář s parametry
        
        
        [DOPSAT]
        
        
        Pouze s úkolem
        
        
        Typ přiřazení (přímo, skupinový, zástup) nehraje roli.
        
        
        Jak psát dotazy
        
        
        Obrázek databázového schématu.
        
        
        
        
        Význam tabulek je:
        
        
            - 
            Nuggets – Centrální tabulka příspěvků. Každý příspěvek je zde.
            
 
            - 
            Values_nuget_keys – Cizí klič příspěvku.
            
 
        
        
        Příklady
        
        
        select
        
        
        *
        
        
        from
        
        
        nuggets
        
        
        where
        
        
        nug_typ_id = 100695
        
        
        and deleted = 0
        
        
        <query version="1" type="sql">
        
        
         <nuggetTypes>
        
        
         <nuggetTypeId value="100698" />
        
        
         </nuggetTypes>
        
        
         <attributes value="*" />
        
        
         <sqlVariables>
        
        
        -- initialization goes here
        
        
        </sqlVariables>
        
        
         <sql>
        
        
         select * from nuggets where nug_typ_id = 100698 and deleted = 0 
        
        
         </sql>
        
        
         <sqlParameters />
        
        
        Publikování dotazu do katalogu rolí, týmů a osob
        
        
        Publikování dotazu je stejné ve všech třech případech. Detail publikování dotazu naleznete v následujícím odkazu.
        
        
        [Zde vložit link na dokument Role kapitola formuláře]
        
        
        Použití dotazu při návrhu formuláře
        
        
        [DOPSAT]
        
        
        Hledání dotazů
        
        
        Pomocí složky Dle typu příspěvku a zvolit XCR – template Query
        
        
        
        
        V pravém horním panelu se zobrazí všechny příspěvky hledaného typu Dotaz.