Domino 9 und frühere Versionen > Entwicklung

Email-Auswahl

(1/2) > >>

taheri:
Hallo liebe Entwickler,
Ich habe ein Problem und wie Ihr weiß bin Ich keine Entwickler vor allem wenn es um Scrip geht. Aber der Chef will das.

Hier sieht Ihr ein Agent. Was er macht ist euch sicherlich uninteressant. Auf jedenfalls bringt er Information in einer Maske.und die Maske wird als Email an eine feste Adresse geschickt.
Feste Adresse wird in Zeile 30 geschrieben (Send to.)  Jetzt genau in dieser stelle soll kein feste Adresse mehr sein, sondern so eine Art Auswahl Adresse von mir Aus entweder persönliche Adressbuch. Oder Anstichauswahl in Datenbank selber (Datenbank hat seine eigene Maskenadresse mit Email und Ansichten) oder so was ähnliches.
.ist das möglich?

danke

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 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")
     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", "entwicklung@domäne.de")   ]]]]]  
     
     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

manuel:
Hi Taheri!

Nur mal so eine Frage, weil ich die Angabe nicht richtig kapiert habe. Soll WÄHREND dieser Agent ausgeführt werden, ein Adressauswahldialog erscheinen, oder sollte diese Adresse schon im VORHINEIN irgendwo angegeben und später nur noch ausgelesen werden?

taheri:
Beim Erzeugen einen Auftrag wird eine Maske gestartet. Diese Agent fühlt diese Maske mit Informationen. Was ist bestellt wurde, Anzahl und usw. es gibt eine Klickfunktion in Maske (auftrag senden)  und Auftrag wird  an Adresse  in Agent geschickt.  Das heißt der Anwender wählt keine Adresse, sondern der Auftrag  wird an je nachdem welche Adresse in Agent ist gesendet.

Nachteil ist , die Aufträge landen immer nur bei einem ,desen  Adresse in Agent ist.

Jetzt soll es so sein. , Bei Klickfunktion in der Maske  (auftarg senden)  soll  der Anwender in der Lage sein eine Auswahl zu treffen. An wem soll es gesendet werden.

Woher er auswählen soll. Habe ich zwei Möglichkeit entweder soll er die Auswahl aus seinem persönliche Adressbuch treffen. Oder gibt es in Datenbank auch die Möglichkeit der Name mit Email eingebn

danke

manuel:
Ok, kapiert! Du könntest es folgendermaßen versuchen.

Mache in deiner Maske noch ein zusätzliches Feld, das du 'SendTo' nennst. Nun machst du eine zusätzliche Aktion oder Schaltfläche, die du mit folgender Formel belegst:

@Command([MailAddress])

Durch diese Formel erscheint der Adressauswahldialog, und die ausgewählte/n Adresse/n wird/werden automatisch in das Feld SendTo geschrieben.

Die Zeile im Scriptcode schreibst du so:

Call newdoc.ReplaceItemValue("SendTo", ws.CurrentDocument.FieldGetText("SendTo"))


lg
Manuel

taheri:
ich werde sofort testen.

noch eine frage
@Command([MailAddress])

was wird hier aktiv?

danke

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln