Domino 9 und frühere Versionen > ND6: Entwicklung

Tipp zur Umsetzung eines Links zum Kontakt

(1/7) > >>

dabjoern:
Hallo liebe Forenmitglieder,
ich brauche mal wieder einen Denkanstoß. Und zwar möchte ich eine Dialogbox (o.ä.) verwenden, die aus einer View alle Namen der vorher angelegten Kontakte anzeigt. Mehrfachauswahl möglich.

Jetzt mein Problem: Wenn man jemanden (oder mehrere) Personen ausgewählt hat, möchte ich, dass ein Link für jede Person vorhanden ist. Betätigt man den Link, erhalte ich das Kontaktdokument der jeweiligen Person. Am Besten wäre es, wenn der Name der Person der Link wäre. Hat jemand Vorschläge zur Realisierung?

Gruß und Danke im Voraus
Björn

Axel:
Hi,

lass dir die Kontakte mit der Methode PicklistCollection (Klasse NotesUUIWorkspace) anzeigt. Die liefert dir eine DocumentCollection mit allen gewählten Dokumenten. Diese kannst du dann mit AppendDocLink (Klasse NotesRichTextItem) in ein RTF - Feld in deine Maske einfügen.

Das ist so ganz grob mal eine Idee.


Axel

dabjoern:
Hi Axel,
danke für deinen Beitrag. Was du da vorschlägst sind zwar alles unbekannte Sachen für mich, ich werde es aber dennoch mal austesten und in der Hilfe recherchieren.
Gruß
Björn

dabjoern:
Hallo,
ich habe mittlerweile folgenden Code zusammengestückelt:


--- Code: ---Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim coldoc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim doc2 As NotesDocument
Dim uidoc As NotesUIDocument
Dim unid As String

Set db = session.CurrentDatabase
Set uidoc = ws.CurrentDocument

Call uidoc.Save
Set Doc2 = uidoc.Document

Set collection = ws.PickListCollection(PICKLIST_CUSTOM,True,db.Server,"lehre\StrategicMarketingIS.nsf","Person","Contacts"," " )
Set coldoc = collection.GetFirstDocument

Set rtitem = New NotesRichTextItem(Doc2, "SO_EconomicBuyer")
Call rtitem.AppendDocLink(coldoc, "Dokument")
Doc2.Form = "Sales Opportunity"
Doc2.Saveoptions = "0"
Call Doc2.Save(True, False)
unid = Doc2.UniversalID

Set Doc2 = db.GetDocumentByUNID(unid)

Set uidoc = ws.EditDocument(Doc2)

uidoc.editmode = True

End Sub
--- Ende Code ---

Dieser Code funktioniert soweit, jedoch wird die Mehrfachauswahl nicht beachtet. D.h. es wird -auch wenn ich mehrere Personen auswähle - nur ein Link erzeugt. Hat jemand einen Tipp, wie die Schleife aussehen müsste? Und außerdem: ist das Skript effizient und sauber? Hat jemand Verbesserungsvorschläge?
Gruß
Björn

Axel:
Hi,

die Schleife müsste so aussehen:


--- Code: ---...
Set collection = ws.PickListCollection(PICKLIST_CUSTOM,True,db.Server,"lehre\StrategicMarketingIS.nsf","Person","Contacts"," " )
Set coldoc = collection.GetFirstDocument

Set rtitem = New NotesRichTextItem(Doc2, "SO_EconomicBuyer")

While Not (coldoc Is Nothing)
  Call rtitem.AppendDocLink(coldoc, "Dokument")
  Call rtitem.AddNewLine(1) 'Einfügen einer Zeilenschaltung
  Set coldoc = collection.GetNextDocument(coldoc)
Wend

Doc2.Form = "Sales Opportunity"
...

--- Ende Code ---


So auf den ersten Blick ist am Code nichts auszusetzen.

Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln