Jeg har en database hvor jeg holder styr på alle mine arbejdsopgaver. Men ofte glemmer man jo lige at der ligger en opgave man skal følge op påm på en bestemt dag.
Jeg vil derfor gerne kunne tilføje en huskeseddel i min kalender, ved et lille tryk på en kanp.
Der skal gerne laves et link til selve dokumentet i opgavedatabasen, og det er selvfølgelig nødvendigt at den spørger om en dato.
Nogen som lige har lidt kode der minder om dette ?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Koden fra den første agent "Calendar_CreateEntry" (som kaldes fra mine systemer)
_item := "Entry in Calendar"; _wintitle := ""+_item; REM { can not be created before this document is saved, should the document be saved?}; REM { kan ikke oprettes, før dette dokument er gemt. Skal det gemmes?}; _text := @ProperCase(_item)+ " kan ikke oprettes, før dette dokument er gemt. Skal det gemmes?"; @If(@IsNewDoc; @Command([FileSave]); @Success); _text1:= "Choose the type of entry you want to create."; _corr := "Calendar entry":"Task entry"; _formlist := "Appointment":"Task"; _default := @Subset(_corr;1); _choice:= @Prompt([OkCancelList]:[NoSort]; _wintitle;_text1; _default; _corr); _member := @Member(_choice;_corr); _form := @Subset(@Subset(_formlist;_member);-1); _mailserver := @Subset(@MailDbName;1); _maildatabase := @Subset(@MailDbName;-1); @Environment("FormType"; @Text(_form)); @Environment("MailServer"; _mailserver); @Environment("MailDatabase"; _mailDatabase); @Command([EditMakeDocLink]) ; @Command([ToolsRunMacro]; "(Calendar_CreateEntryStep2)")
Agent 2
Sub Initialize Dim workspace As New NotesUIWorkspace Dim session As New notessession Dim lookres As lookconftype form$ = session.getenvironmentstring("FormType") mailserver$ = session.getenvironmentstring("MailServer") maildatabase$ = session.getenvironmentstring("MailDatabase") Dim maildb As NotesDatabase ' Set maildb = session.getdatabase(mailserver$,Maildatabase$) Dim doc As NotesDocument Dim note As notesdocument Dim sourcedoc As notesdocument Set sourcedoc = workspace.currentdocument.document
Set maildoc = workspace.ComposeDocument( mailserver$ , maildatabase$, form$) Set note = maildoc.document
' ' Setting the appointmenttype according to the
' Select Case form$ ' Case "Appointment" : note.appointmenttype = "0" ' Case "Task" : note.appointmenttype = "0" ' Case Else ' End Select ' Copying referance-ID to make linking easy refitemlist$ = "CompanyID DepartmentID ContactID" refprefix$ = "Ref" Call copyItemsFromContactDB(sourcedoc, note, refitemlist$, refprefix$) ' Copying fields to make view-index easy itemlist$ = "Companyname CompanyShortName Departmentname Contactname" prefix$ = "" Call copyItemsFromContactDB(sourcedoc, note, itemlist$, prefix$) maildoc.Reload
' Fill document with information about submitting document Call maildoc.gotofield("body") ' Paste the DocLink from clipboard to the body field. The DocLink was copied to clipboad in the calling agent Call maildoc.paste() Call maildoc.fieldappendtext("body", getcomputedbody(sourcedoc, "")) Dim companyname$ If sourcedoc.CompanyShortName(0) = "" Then companyname$ = sourcedoc.CompanyName(0) Else companyname$ = sourcedoc.CompanyShortName(0) End If
Agenten indeholder også lidt integration via et ScriptBibliotek. Men det er udelukkende for at hente ekstra værdier fra kildesystemet. Jeg gemmer unikke felter, som peger på kildedokumenterne for senere at kunne referere til dem eller danne oversigter sorteret efter kunde/projekt/opgave.
Det burde være muligt at decifrere hvad der er specifik for min applikation og hvad der er standard. Spørg bare løs
En anden mulighed er den helt pragmatiske at sende dokumentet fra din opgavedatabase til din postkasse. I postkassen er der standard kode der kan lave en mail om til enten en 'To Do' eller en 'Calendar Entry'.
Det eneste det kræver er at felterne i din opgavebase hedder subject og body (af hensyn til mailintegrationen) - Hvis de ikke hedder det kan du dog benytte forward istedet for; men så er det hele dokumentet, der kommer over i et samlet rtf, hvilket jo ikke altid er kønt.
Hvis du sætter Form til Appointment og opretter et CalenderDateTime med en dato, kommer denne mail med som en kalender memo.
Du kan så studere andre felter, som sætter typen af dette kalender memo!
/Hans Holt
Synes godt om
Ny brugerNybegynder
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.