DISKUSE
Jak omezit vkládání textu do textového pole z kláv... 
04.04.2024 13:55

HCL Domino na NAS QNAP (1)
20.02.2024 10:34

Vložení přílohy do dokumentu MS Word (3)
14.02.2024 20:54

Problěmy s diakritikou. (4)
06.02.2024 17:34

AI pomocnici 
15.01.2024 10:16

Export do pdf souboru (1)
12.01.2024 23:11

Agent přestává fungovat (1)
18.11.2023 06:42

RTF - Computed (2)
19.10.2023 13:00


ŠKOLENÍ


REKLAMA


KOMENTÁŘE

Dynamické pohľady v Notes.

Vytisknout článek

Máte používateľov, ktorí si chcú "dynamicky" meniť výberové kritéria pre pohľady? Tento príklad vám ukáže smer...


Reporting nad "Notes Object Store" je široká téma, ktorá zahŕňa viace alternatívnych prístupov. Tento článok si vybral najklasickejšiu situáciu:

Forma reportu: natívny pohľad Notes
Rozsah reportu: preddefinovaná množina s možnosťou "ad-hoc" zmeny zo strany používateľa

Až do čias R6 to chcelo pomerne komplikované "workarounds". V R6 to však už ide (aj keď s istými limitami, viď nižšie). Ako na to?

Postup
1. Doplňte do databázy LS agenta (alebo akciu) [napr. "Change SELECT"] a začnite budovať kód.
2. Interaktívne načítajte podmienky pre novú selection formulu [buď cez .DialogBox() alebo .Prompt()].
3. Vybudujte novú selection formulu [typu String].
4. Sprístupnite pohľad [do triedy NotesView].
5. Zapíšte novú selection formulu pohľadu [do vlastnosti NotesView.SelectionFormula].
6. Prebudujte pohľad [NotesView.Rebuild].

Príklad
Tento jednoduchý script je vhodný pre pohľady so správami v poštovej databáze. Mení výberovú podmienku na základe užívateľom zadaného dátumového intervalu a následne zobrazí iba prijaté správy v tomto intervale. Vytvorte si v pohľade akciu a vložte tento script:
Dim uiwork As New NotesUIWorkspace
Dim beginDateString As String
Dim endDateString As String
beginDateString = uiwork.Prompt(Prompt_OKCANCELEDIT,"Začiatočný dátum","Chcem zobraziť dokumenty OD:","")
endDateString = uiwork.Prompt(Prompt_OKCANCELEDIT,"Koncový dátum","Chcem zobraziť dokumenty DO:","")

Dim povodnaSelectFormula As String
povodnaSelectFormula=|@IsNotMember("A"; ExcludeFromView) & IsMailStationery != 1 & Form != "Group" & Form != "Person" & Form != "(GroupCalendar)"|

Dim selectFormula As String
selectFormula = PovodnaSelectFormula + |& DeliveredDate > [| & beginDateString & |] & DeliveredDate < [| & endDateString & |]|

Dim uiview As NotesUIView, view As NotesView
Set uiview = uiwork.CurrentView
Set view = uiview.View
view.SelectionFormula = selectFormula
view.Name="View\"+beginDateString+" - "+endDateString
Call uiwork.ViewRebuild

Limity
Zmena selection formule sa zapíše do pohľadu, teda nejde o "dočasnú" operáciu.
Používateľ musí mať dostatočný prístup:
/1/ v prípade privátnych pohľadov mi to fungovalo pre prístup Author (iné som neskúšal - možno stačí i Reader...).
/2/ v prípade shared pohľadov je potrebný Designer (to zrejme súvisí s možnosťou konfliktov pri zmene pohľadu).


Autor: Miroslav Uhlár
Datum: 25.09.2003


Sdílet článek Seznam komentářů
 
Od
Téma
 Datum
Vít Zachodil
Dočasné operace pro shared views
25.09.2003 08:29
Miro Uhlar
Presne tak, dobrý postreh.
25.09.2003 08:59

Související články:
» 

Lotus Notes and Domino 6 Programming Bible

 (Notes/Domino R6, 30.04.2004)

» 

Proč Lotus dodnes nemá klienta pro Linux?

 (Notes/Domino R6, 24.10.2003)

» 

Co všechno dovolují licence Express?

 (Notes/Domino R6, 09.09.2003)

» 

Čo ma baví na klientovi Notes R6? (II.)

 (Jak funguje..., 22.08.2003)

» 

Přehled produktů IBM Lotus software

 (Notes/Domino R6, 19.08.2003)

»