Prohledat tento blog

pátek 13. srpna 2010

Outlook 2010 – Filtry DASL

Filtry DASL slouží něco jako databázové podmínky pro filtrování v pohledech Outlooku. Filtry se buď dají "naklikat" v dialogovém okně a nebo zapsat právě pomocí dotazů DASL. Výhodou je, že se zde dají (oproti "klikání") použít závorky a různé kombinace podmínek AND či OR. Problém je, že všechny položky dotazu se musí zadávat v poněkud komplikovaném a nezapamatovatelném tvaru.

Často mnou používané "objekty" uvádím na dalších řádcích

Objekty DASL

Datum dokončení "http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/810f0040"
Termín splnění "http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81050040"
Stav "http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81010003"
Klíčová slova "urn:schemas-microsoft-com:office:office#Keywords"
Důležitost (Priorita) "urn:schemas:httpmail:importance"
Datum zahájení "http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81040040"

Pro určení datového rozsahu se dají použít modifikátory typu "včera", "zítra", atp. Podle dále uvedeného vzoru:

%yesterday("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81040040")%

%yesterday
%today
%tomorrow
%last7days
%next7days
%lastweek
%thisweek
%nextweek
%lastmonth
%thismonth
%nextmonth

Je možné používat i vlastní vytvoření "Pole" (Properties), a to podle následujícího vzoru:

http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/PropertyName

Některé objekty DASL mají své specifické hodnoty. Příkladem může být například pole Stav nebo Priorita.

Stav


stav priorita
Nezahájeno 0
Probíhá 1
Dokončeno 2
Čeká se na někoho dalšího 3
Odloženo 4

Priorita


Nízká 0
Střední 1
Vysoká 2

Klíčová slova

Pokud chcete používat test na více klíčových slov, pak je musíte spojit odpovídajícím logickým operátorem, zpravidla OR. Například takto:

"urn:schemas-microsoft-com:office:office#Keywords" = '!MIT' OR 
"urn:schemas-microsoft-com:office:office#Keywords" = '$TELEFON')

 

Podmínky a operátory

V dotazech lze používat klasické logické operátory jako jsou NOT, AND či OR, ">", ">", "=", nebo také porovnávací operátor LIKE (s použitím žolíkových znaků "%"). Pokud chcete provést test na existenci hodnoty, použijte test IS NULL, případně NOT IS NULL.

Moje oblíbené dotazy

 

Dotaz pro panel úkolů

V panelu úkolů si zobrazuji jen ty úkoly, které jsou zařazeny do kategorie "!MIT! (tedy "Most Important Task" - to co mám udělat v nejbliší době, čemu se mám aktuálně věnovat). Současně se tam zobrazují jen ty úkoly, které mají být zahájeny v nejbližších dvou dnech a nebo v nejbližších sedmi dnech nastane termín splnění (resp. včetně těch úkolů, jejichž termín zahájení či splnění už "prošel"). Také se musí jednat o nedokončené úkoly.

A teď dotaz:

("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81010003" <> 2 AND 
("urn:schemas:httpmail:importance" = 2 OR 
"urn:schemas-microsoft-com:office:office#Keywords" = '!MIT') AND 
("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81040040" <= 'Dnes+2dny' OR 
"http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81050040" <= 'Dnes+7dny'))

Aktivní úkoly

V zobrazení Aktivní úkoly používám podobný filtr, ale neomezuji jej jen na úkoly z kategorie '!MIT'. Opět se tedy zobrazují i červené úkoly “v prodlení”.

Dotaz:

("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81010003" <> 2 AND 
("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81040040" <= 'Dnes+2dny' OR 
"http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81050040" <= 'Dnes+7dny'))

Úkoly “dnes”

Úkoly “dnes” opět mírně osekávají množinu aktivních úkolů. Zobrazuji pouze úkoly, jejichž datum zahájení nebo splnění nastane v nejbližších dvou dnech. Úkoly, které jsou “v prodlení” se tentokrát nezobrazují, aby mne neuváděly do stavu šílenství…

("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81010003" <> 2 
AND ("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81040040" <= 'Dnes+1dny' 
OR ("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81040040" IS NULL  
AND "http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81050040" <= 'Dnes+1dny'))
AND ("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81040040" >= 'Dnes'
OR ("http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81040040" IS NULL
AND "http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81050040" >= 'Dnes')))

Užitečné odkazy

http://msdn.microsoft.com/en-us/library/bb147591.aspx
http://www.dimastr.com/outspy/
http://blogs.msdn.com/b/andrewdelin/archive/2005/05/11/416312.aspx
http://blogs.msdn.com/b/andrewdelin/archive/2005/08/08/448882.aspx

Žádné komentáře:

Okomentovat