Domino 9 und frühere Versionen > Entwicklung
Email-Auswahl
manuel:
Durch @Command([MailAddress]) öffnet sich der Adressauswahldialog, so wie du ihn gewöhnt bist, wenn du eine Mail schreibst.
--- Zitat ---MailAddress
Öffnet das Fenster "Mail-Adresse", aus dem Sie die Namen von Personen und Arbeitsgruppen für die Aufnahme in ein Adreßfeld eines Mail-Dokuments wählen können.
Syntax
@Command([MailAddress])
--- Ende Zitat ---
taheri:
Danke ersmal
mit Command hat es sehr gut geklappt. ich kann jetzt ein auswahl treffen. mit Agent nicht. kommt felhler Meldung.
für Anfang ist klasse. der Anwender soll nur den erste Emfänger entfernen . es ist automatische in auswahl eingetragen
mfg
manuel:
Ups, hab ich nicht mitgedacht, ist eh klar. Mit ws.CurrentDocument greift man auf das aktuelle Frontend-Dokument zu, nur im Agenten kann das nicht funktionieren. Du könntest die Adresse in ein Profildokument schreiben und dann auslesen. Weißt wie das funktioniert?
taheri:
so was habe ich mir auch gedacht. so ein art profil.weil die Emfänger maximal 3 personen sind.Leider weiss ich nicht wie . abgesehen von maske erstellen und Ansichten
mfg
manuel:
Erstelle eine neue Maske, Name könnte lauten "MailAddress". Diese Maske enthält ein Feld mit dem Namen "SendTo". Das Feld "SendTo" in der anderen Maske bleibt aber dennoch erhalten.
Die Aktion "Adresse" muss nun so aussehen:
@Command([MailAddress]);
@SetProfileField("MailAddress"; "SendTo"; SendTo; @UserName)
In das Profildokument "MailAddress", das einem bestimmten User zugeordnet ist, wird in das Feld SentTo der Inhalt des Feldes SentTo der Auftragsmaske geschrieben.
Im Script musst du natürlich auch noch ein paar Zeilen ergänzen:
Sub Initialize
Dim session As New Notessession
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim db As NotesDatabase
Dim newdoc As NotesDocument 'neuer Reproauftrag in DB
Dim doc As NotesDocument 'Plandokument in DB
Dim vdoc As NotesDocument 'Verteilerdokument in DB
Dim profile As notesdocument
Dim profileMail As NotesDocument
Dim rtitem As NotesrichtextItem
Dim plitem As NotesItem
Dim profitem As Notesitem
Dim view As NotesView
Dim user As String
Set db = session.Currentdatabase
Set View = db.GetView("ReproAuswahl")
Set profile = db.GetProfileDocument("DBProfil")
Set profileMail = db.GetProfileDocument("MailAddress", session.UserName)
Nummern = profile.GetItemValue("Nummern")
Set newdoc = New NotesDocument(db)
newdoc.Form = "ReproAuftrag"
user=session.CommonUserName
Call newdoc.ReplaceItemValue("Autor",user)
Call newdoc.ReplaceItemValue("Ersteller",user)
'als Autorenfeld setzen:
Set plitem=newdoc.GetFirstItem("Autor")
plitem.IsAuthors=True
plitem.IsSummary=True
'SendTo-Feld erzeugen:
Call newdoc.ReplaceItemValue("SendTo", profileMail.SendTo(0))
For i = 0 To Ubound(Nummern)
zw = ""
Set doc = view.GetDocumentByKey(Nummern(i))
%REM
Die Plan-Dateien werden nicht mehr mit dem Auftrag verschickt...
Set rtitem = doc.GetFirstItem("Plot")
Call newdoc.CopyItem(rtitem,"Anlage_" & i)
%END REM
'... dafür wird jetzt die Doc-ID des Plandocumentes mitverschickt...
Call newdoc.replaceitemvalue( "PlanUnid_" & Cstr(i), doc.universalid)
'... und der Name des Attachments
Set rtitem = doc.getfirstitem("Plot")
If Isarray( rtitem.embeddedObjects) Then
Forall att In rtitem.embeddedObjects
If att.type = Embed_Attachment Then
zw = zw + att.name
End If
End Forall
End If
If zw <> "" Then
Call newdoc.replaceitemvalue( "AttName_" & Cstr(i), zw)
Else
Call newdoc.replaceitemvalue( "AttName_" & Cstr(i), "Kein Attachment vorhanden!")
End If
Set plitem=doc.GetFirstItem("PlanFormat")
Call newdoc.CopyItem(plitem, "Größe_" & i)
Set plitem=doc.GetFirstItem("Verteilerschluessel")
Call newdoc.CopyItem(plitem,"VS_" & i)
Set plitem=doc.GetFirstItem("PlanID")
Call newdoc.CopyItem(plitem,"PlanID_" & i)
Anz=0
For j=0 To 9
zw=doc.GetItemValue("Farbe_" & Cstr(j))
Anz= Anz+Cint(zw(0))
Next j
Call newdoc.ReplaceItemValue("pafa_" & i, Anz)
Anz=0
For j=0 To 9
zw=doc.GetItemValue("sw_" & Cstr(j))
Anz= Anz+Cint(zw(0))
Next j
Call newdoc.ReplaceItemValue("pasw_" & i, Anz)
Next i
Call newdoc.save(True,True)
Call view.Refresh
Set uidoc = ws.EditDocument(True,newdoc)
End Sub
Ich hoffe es funktioniert!
lg
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln