Domino 9 und frühere Versionen > ND8: Entwicklung
Anhang direkt in der Maske
mgeidl:
so, jetzt hab ich das ganze mal in einen agenten reingepackt. der agent wird mittels schaltfläche (neue anforderung - @ToolsRunMacro) aufgerufen und es funktioniert wunderbar.
allerdings steh ich jetz vor dem nächsten problem: in unserer mailschablone haben wir in der inbox sämtliche anträge drinnen. ich kann dort das @Toolsrunmacro aber net aufrufen, weil´s ja eine andere db is. für jede idee wär ich dankbar :-)
LG
Marietta
Peter Klett:
Es funktioniert wunderbar, aber Du kannst es nicht aufrufen. Hm, erklär' Dein Problem bitte nochmal
mgeidl:
in der Datenbank selbst funktioniert es wunderbar.
da gibt´s eine aktion "neue Personalanforderung" und die ruft den Agenten mit u.a. Script auf
Nun soll die aktion "neue Personalanforderung" aber als aktion in die Inbox der Mailschablone - dort kann ich das aber nicht so machen :-((
Hoffe, jetzt is es verständlicher ....
LG
Sub Initialize
Dim workspace As New notesuiworkspace
Dim anforderung As notesdocument
Dim anhang As notesdocument
Dim typ As Variant
Dim collection As notesdocumentcollection
Dim options(4) As Variant
options(0)="Mitarbeiter"
options(1)="Leiharbeiter"
options(2)="Ferienarbeiter"
options(3)="geringfügig beschäftigt"
typ = workspace.Prompt (PROMPT_OKCANCELLIST, "Type wählen", "Bitte wählen Sie den Type der Anforderung", options(0), options)
If Not typ="" Then
Set anforderung=workspace.currentdatabase.Database.CreateDocument
Call anforderung.ReplaceItemValue("Form","Personalanforderung")
Call anforderung.ReplaceItemValue("was",typ)
Set collection=workspace.currentdatabase.Database.Search("select form='Anhang' & Anhangart='"+typ+"'",Nothing,1)
If collection.count=1 Then
Set anhang=collection.GetFirstDocument
Dim data As NotesRichTextItem
Dim body As New NotesRichTextItem(anforderung,"Body_MA")
Set data=anhang.GetFirstItem("Anhang")
Set body=anforderung.getfirstitem("Body_MA")
Call body.AppendRTItem(data)
Call body.Update
End If
Call workspace.EditDocument(True,anforderung)
End If
End Sub
DerAndre:
Hi.
Wenn Du das Script 1:1 übernimmst versuchst Du, das neue Dokument in der Mailbatenbank anzulegen und nicht in der Personaldatenbank.
Peter Klett:
Wie Andre schon geschrieben hat, bist Du einfach nur in der falschen Datenbank.
1. Tipp
Definiere saubere Variablen. Anstelle von mehrfacher Verwendung von
workspace.currentdatabase.Database
setze die in eine eigene Variable
Dim db As NotesDatabase
Set db = workspace.currentdatabase.Database
Wenn Du dann die db mal ändern musst, brauchst Du das nur ein einziges mal im Script tun
2. Tipp
Verwende nicht die CurrentDatabase vom workspace, denn das ist bei der Aktion in der Maildatenbank eben diese und nicht die Anforderungsdatenbank.
Setze stattdessen die db in Abhängigkeit des Agenten (ohne nachzuschauen über CurrentAgent (wohl in NotesSession) und Parent des Agenten). Dann ist die Datenbank immer die, in der der Agent gespeichert ist.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln