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