Avatar billede henrik_b_hager Nybegynder
03. august 2005 - 21:39 Der er 5 kommentarer og
1 løsning

Birthday fra Contacts til Calender

Jeg har ikke kunne finde det i hjælpen, så nu prøver jeg her.
Jeg vil gerne have oprettet en reminder i kaldeneren når folk har fødselsdag.
Det sker åbenbart ikke automatisk når der sættes en Birthday på en Contact.
Jeg kunne manuelt oprette den; men ville gerne gøre det smartere.
Kan Notes gøre det?

Alternativt har jeg kikket lidt på et script jeg vil have i en Agent.
Jeg er kommet frem til dette:

' Overfør fødselsdage fra contacts til kalender.
   
    Dim session     As New NotesSession
    Dim uiw        As New NotesUIWorkspace
    Dim uidoc         As NotesUIDocument
    Dim doc         As NotesDocument
    Dim namedb     As NotesDatabase
    Dim subject     As String
    Dim startdate     As String
    Dim birthday     As NotesDateTime
    Dim view         As NotesView
    Dim askme         As Integer
   
   
    askme = uiw.Prompt (PROMPT_YESNO,"Vælg venligst","Overfør fødselsdagefra contacts til kalender?")
    If askme = 1 Then
        Set namedb = session.GetDatabase("","names.nsf")
        Set view    = namedb.GetView("People")
        Set doc      = view.GetFirstDocument
        While Not doc Is Nothing
            If Not doc.Birthday(0)="" Then
                subject = doc.FirstName(0) + "'s fødselsdag."
                Set birthday = doc.GetItemValueDateTimeArray("Birthday")(0)
                startdate = Left(birthday.DateOnly,5)
                Call session.setEnvironmentVar("CSDocType","1")
                Set uidoc = uiw.ComposeDocument("","","Appointment",,,True)
                Call uidoc.FieldSetText("Subject",subject)
                Call uidoc.GotoField("StartDate")
                Call uidoc.FieldClear
                Call uidoc.InsertText(startdate)
                Call uidoc.GotoNextField
                Call uidoc.Save
                Call uidoc.Close(True)
            End If
   
            Set doc = view.GetNextDocument(doc)
        Wend
    End If
   

Dette virker fint.
Men der oprettes ukritisk, derfor vil jeg gerne tilføje et tjek ala: IF appointment exist then ignore.
Planen er, at jeg senere vil udvide med:
1.) Opsætte reminder, pt. default.
2.) Ligeledes lave dem Private.
3.) Lave det samme for anniversary.


Så alt i alt:
Kan Notes det selv eller skal jeg lave det?
Hvis jeg selv laver det - hvordan tjekker jeg om der allerede er en i kalenderen (tænker på en simpel test på teksten). Sætte Private burde være nemt. Har bare ikke lige haft tid til at prøve det.
Avatar billede jogii Nybegynder
05. august 2005 - 16:00 #1
Første: Nej, Notes gør det ikke automatisk.
Anden: Du kan gemme en UNID fra dit NAB-dokument med over på din kalender.
noget i stil med uidoc.Document.RefNABUNID=doc.UniversalID

Så kan du starte din løkke med at lave en søgning i din kalender om der allerede findes et dokument med den pågældende persondokument.

Du bør også sætte repeatingspå, f.eks. 30år frem, således at du ikke behøver at lave dette hver år.
Avatar billede henrik_b_hager Nybegynder
08. august 2005 - 12:23 #2
Det lyder somom du har styr på det jogii.
Det er mere end man kan sige om mig!
Kan du nemt ryste en sådanne søgning ud af ærmet?
Avatar billede henrik_b_hager Nybegynder
08. august 2005 - 12:28 #3
Hvis jeg kan se, at der allerede eksistere en i kalenderen bør jeg nok også nærmere opdatere...
Avatar billede jogii Nybegynder
08. august 2005 - 18:10 #4
vha NotesDatabase.Search( ) kan du søge databasen igennem og hvis du finder dokumenter der svarer til dit UNID så kan du opdatere/springe over.
Avatar billede henrik_b_hager Nybegynder
08. august 2005 - 23:10 #5
Ok - alene den hjælp du allerede har givet er pointene værd.
Jeg leger videre.
Avatar billede jogii Nybegynder
09. august 2005 - 11:47 #6
Velbekomme, spørg bare videre ved lejlighed
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester