Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: LisaS am 24.04.03 - 10:42:36
-
Hallo,
ich möchte gerne für einen Workflow in einer DB, ToDo's, aus dieser DB, in den Kalenden bestimmter Personen per Agent generieren. Der Agent soll einmal täglich laufen.
Mich interessiert jetzt der Script-Teil in dem ich das ToDo im Kalender der entsprechenden Personen anlege.
Im ToDo soll auch automatisch die Notify-Funktion aktiviert werden.
Vieleicht hat ja jemand von Euch sowas ähnliches schon gebastelt.
Gruß
Hitcher
-
man muss prinzipiell ein todo nachbasteln :
in etwa so, hier ein kleiner auszug :
Set mail = db.createdocument
Call mail.ReplaceItemValue( "Form", "task" )
Call mail.ReplaceItemValue("Subject", Subject)
Call mail.ReplaceItemValue("StartDate", Start)
Call mail.ReplaceItemValue("DueDate", Due)
Set rtitem = New NotesRichTextItem( mail , "Body" )
Call rtitem.appendtext("blabalaballbalblalblalb")
mail.~$AlarmUnit = "M"
mail.~$AlarmMemoOptions = ""
mail.~$Alarm = 1
mail.~$AlarmOffset = 0
mail.Alarms = "1"
mail.~_ViewIcon = 168
mail.~$KeepPrivate = ""
mail.~$ExpandGroups = "3"
mail.~$PublicAccess = "1"
mail.~$WebFlags = "J"
mail.OrgTable = "T0"
mail.WebDateTimeInit = "1"
mail.ExcludeFromView = "D"
mail.MailFirstPass = "1"
mail.SequenceNum = 1
Set Item = New NotesItem(mail, "Sign", "0")
item.IsSummary = True
Set Item = New NotesItem(mail, "Encrypt", "0")
item.IsSummary = True
mail.Typ = ""
mail.TaskType = "1"
mail.Repeats = ""
mail.OrgConfidential = ""
Call mail.Send( False, "Bill Gates")
du kannst den sourcecode nicht 1zu1 uebernehmen, musst ihn noch anpassen...
gruss
-
........danke Till_21
das Hat mir scon weiter geholfen
Gruß
Hitcher
-
Hallo Till_21,
ich hab jetzt noch ein Problem, und zwar wird das To Do nicht im Kalender angezeigt.
Vieleicht weißt Du oder jemand anderes ja Rat.
Gruß
Hitcher
-
Hi,
Du musst in Der MailDB unter Werkzeuge->Vorgaben->Kalender->Aufgabe ein Häkchen bei "Aktuelle Aufgabe immer im heutigen Kalender anzeigen" setzen.
Gruss JoFa
-
Hallo jofa,
das habe ich schon aktiviert........ :'(
Gruß
Hitcher
-
mail.ExcludeFromView = "D"
experimentiere mal mit diesem feld...
tip -> guck in die view selection der kalenderansicht...
gruss, till
-
@Till_21
irgendwie bringt mich das auch nicht weiter. :'(
Ich glaub ich mach jetzt erstmal Wochenende.
@all
Danke erstmal.
Ich melde mich am Montag wieder
Gruß
Hitcher
-
sorry, war auch mist, was ich da geschrieben habe...
du musst lediglich ein feld noch in dein Script hinzufuegen->
CalendarDateTime...
schoenes WE
-
Hallo,
ich hoffe Ihr hattet ein schönes Wochenende.... ;)
Mit neuem Elan habe ich mich heute ans Werk gemacht und ich dreh bald durch..
Das To Do erscheint zwar in der To Do-Ansicht, aber nicht im Kalender!
Ich weiß irgendwie nicht mehr weiter.
So sieht mein Code aus, vieleicht weiß ja jemand die Lösung
Sub Click(Source As Button)
Dim session As New notessession
Dim diesedb As notesdatabase
Dim mail As notesdocument ' ToDo-Dokument
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim dateTime As New NotesDateTime( "28.04.2003 12:01:00" )
Dim Start As String
Dim Due As String
Dim Subject As String
Dim Status As String
Set uidoc = workspace.CurrentDocument
Set doc = uidoc
'Call dateTime.SetNow
Set diesedb = session.currentdatabase
'Werte aus uidoc holen
Adr_Name$ = uidoc.fieldgettext("AdrName")
Adr_Ort$ = uidoc.fieldgettext("AdrOrt")
Adr_Plz$ = uidoc.fieldgettext("AdrPlz")
Adr_Land$ = uidoc.fieldgettext("AdrLand")
aTitel$ = uidoc.fieldgettext("aTitel")
aTXT$ = uidoc.fieldgettext("aTXT")
'.... und ggf. weitere ----
' ToDo generieren
Subject="Bitte Bearbeiten - "+aTXT$+aTitel$+" "+Adr_Name$+" "+Adr_LAnd$+Adr_Plz$+" "+Adr_Ort$
Set mail = diesedb.CreateDocument
Call mail.ReplaceItemValue( "Form", "Task" )
Call mail.ReplaceItemValue("Subject", Subject)
Call mail.ReplaceItemValue("StartDate", dateTime)
Call mail.ReplaceItemValue("DueDate", dateTime)
Set rtitem = New NotesRichTextItem( mail , "Body" )
Call rtitem.appendtext("blabalaballbalblalblalb")
mail.~$AlarmUnit = "D"
mail.~$AlarmMemoOptions = ""
mail.~$Alarm = 1
mail.~$AlarmOffset = 1440
mail.~$CSVersion = "2"
'mail.~$AlarmDescription = Subject
mail.~$Alarms = "1"
mail.~_ViewIcon = 168
mail.~$KeepPrivate = ""
mail.~$ExpandGroups = "3"
mail.~$PublicAccess = "1"
mail.~$WebFlags = "J"
mail.OrgTable = "T0"
mail.WebDateTimeInit = "1"
Set item= New Notesitem(mail,"CalendarDateTime",dateTime)
item.IsSummary = True
Set item= New Notesitem(mail,"DueDateTime",dateTime)
item.IsSummary = True
Set item= New Notesitem(mail,"StartDateTime",dateTime)
item.IsSummary = True
mail.ExcludeFromView = "D"
mail.MailFirstPass = "1"
mail.MailOptions = "0"
mail.DueState = 1
mail.AppointmentType = ""
mail.Importance = "2"
mail.SequenceNum = 1
Set Item = New NotesItem(mail, "Sign", "0")
item.IsSummary = True
Set Item = New NotesItem(mail, "Encrypt", "0")
item.IsSummary = True
mail.TaskType = "1"
mail.Repeats = ""
mail.OrgConfidential = ""
Call mail.Send( False, "snoopy@beagle.de")
End Sub
Gruß
Hitcher
-
Hallo,
dieses Script Funktioniert jetzt in soweit, daß das ToDo in der Kalender Ansicht erscheint.
Jetzt habe ich nur noch das Problem, daß ich das ToDo nicht auf den Status Completed setzten kann (im To Do selbst). Hier ich das Script, vieleicht weiß ja jemand Rat.
Sub Click(Source As Button)
Dim session As New notessession
Dim diesedb As notesdatabase
Dim mail As notesdocument ' ToDo-Dokument
Dim Konfig_doc As notesdocument 'Konfigurations-Doument
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim dateTime As New NotesDateTime( "28.04.2003 12:01:00" )
Dim styleMsg As NotesRichTextStyle
Dim Start As String
Dim Due As String
Dim Subject As String
Dim Status As String
Dim vprs As Variant
Dim askme As Variant
Const Profildokument ="5002"
Set uidoc = workspace.CurrentDocument
Set doc = uidoc
Set diesedb = session.currentdatabase
Set Konfig_doc = diesedb.GETPROFILEDOCUMENT("1" & Profildokument)
vprs = Konfig_doc.GetItemValue( "VPRS")
askme = workspace.Prompt(PROMPT_OKCANCELLIST, "Vertriebsprojekt vorlegen", "Bitte wählen Sie einen Mitarbeiter aus", PROMPT_LIST, vprs)
'Werte aus uidoc holen
Adr_Name$ = uidoc.fieldgettext("AdrName")
Adr_Ort$ = uidoc.fieldgettext("AdrOrt")
Adr_Plz$ = uidoc.fieldgettext("AdrPlz")
Adr_Land$ = uidoc.fieldgettext("AdrLand")
aTitel$ = uidoc.fieldgettext("aTitel")
aTXT$ = uidoc.fieldgettext("aTXT")
'.... und ggf. weitere ----
' ToDo generieren
Subject="V-Projekt: "+aTXT$+aTitel$+" bei "+Adr_Name$+" "+Adr_LAnd$+Adr_Plz$+" "+Adr_Ort$
Set mail = diesedb.CreateDocument
Call mail.ReplaceItemValue( "Form", "Task" )
Call mail.ReplaceItemValue("Subject", Subject)
Call mail.ReplaceItemValue("StartDate", dateTime)
Call mail.ReplaceItemValue("DueDate", dateTime)
Call mail.ReplaceItemValue("DueDateTime", dateTime)
Call mail.ReplaceItemValue("StartDateTime", dateTime)
Call mail.ReplaceItemValue("CalendarDateTime", dateTime)
Set rtitem = New NotesRichTextItem( mail , "Body" )
Call rtitem.appendtext("Dies ist ein Test ! Bitte löschen Sie diese Mail!")
Call rtitem.AddNewLine(1)
Call rtitem.Appenddoclink(workspace.CurrentDocument.document, session.currentDatabase.title)
Set styleMsg = session.createRichTextStyle()
styleMsg.bold = True
styleMsg.fontsize = 16
styleMsg.NotesColor = 10
Call rtitem.appendStyle(styleMsg)
mail.~$AlarmUnit = "D"
mail.~$AlarmMemoOptions = ""
mail.~$Alarm = 1
mail.~$AlarmOffset = 1440
mail.~$CSVersion = "2"
mail.~$Alarms = "1"
mail.~_ViewIcon = 168
mail.~$KeepPrivate = ""
mail.~$ExpandGroups = "3"
mail.~$PublicAccess = "1"
mail.~$WebFlags = "J"
mail.Chair = session.UserName
mail.WebDateTimeInit = "1"
mail.tmpOwnerHW = "1"
mail.Assignstate = 0
mail.DueState = 1
mail.TaskType = "1"
mail.Importance = "2"
mail.ExcludeFromView = "D"
mail.MailFirstPass = "1"
mail.MailOptions = "0"
mail.AppointmentType = ""
mail.Repeats = ""
mail.OrgConfidential = ""
mail.OrgTable = "T0"
mail.OrgTable = "T0"
mail.tmpNoActionBar = ""
mail.DefaultMailSaveOptions = ""
Set Item = New NotesItem(mail, "Sign", "0")
item.IsSummary = True
Set Item = New NotesItem(mail, "Encrypt", "0")
item.IsSummary = True
Call mail.Send( False, askme)
End Sub
Gruß
Hitcher