Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: iukhdh am 25.11.09 - 12:45:49

Titel: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: iukhdh am 25.11.09 - 12:45:49
Immer wieder neue Probleme für mich:

Ich habe eine Maske A, erstelle daraus mit Knopfdruck eine Dialogbox B und wenn ich dort beende soll eine Mail an einen Benutzer gesendet werden. Hab ich mit eurer Hilfe hinbekommen.

Nun soll in dieser Mail aber ein Doclink sein, der aber auf die Maske A verweist, damit die Benutzer den kompletten Vorgang anschauen können. Und da hänge ich.

Rein gedanklich gehe ich mal davon aus, dass ich irgendwie von der Maske A die UniqueID an Dialogbox B weitergeben muss, und dort dann irgendwie für den Link in meiner Mail verwende, aber wie?

Dank der Noteshilfe bekomme ich mit AppendDoclink schonmal einen Link auf die DB hin, aber das ist noch nicht das was ich will/brauche. Zumal dieser Doclink dann meinen vorher erstellten Text überschreibt. Wenn ich die Hilfe richtig verstehe, dann muss ich den zusätzlichen Text hinterher an die richtige Stelle einfügen. Auch hier steh ich gerade aufm Schlauch.


Ich wäre über ein paar Hinweise dankbar.
Titel: Re: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: Driri am 25.11.09 - 12:50:02
Schau Dir mal in der Hilfe das NotesRichTextItem an. Da kannst Du zumindest halbwegs vernünftig den Inhalt des Body steuern.
Titel: Re: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: iukhdh am 25.11.09 - 16:41:17
Hallo Driri,

Danke für den Hinweis, nun sieht die Sache tatsächlich schon etwas besser aus.

Auch der Link zur Maske A klappt nun, ich habe die UNID der Maske A an B in einem Feld übergeben, und den Doklink dort dann über GetdocumentbyUNID angepasst

 :D
Titel: Re: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: ascabg am 26.11.09 - 07:27:50
Hallo,

Was machst Du denn genau mit der UNID und GetDocumentByUNID?

Sollte dieses Stueckchen Code denn nicht einen Dok-Link in der zu versendenden Mail erzeugen.
Code
Dim docA As NotesDocument
Dim docB As NotesDocument
Dim rtBody As NotesRichTextItem

Set docA = ...
Set docB = New NotesDocument(db)

With docB
  .Form = "Memo"
  .SendTo = "Adressen"
  .Subject = "Hier das Subject"
End With

'Mailbody erstellen und mit Text und Dok-Link belegen
Set rtBody = New NotesRichTextItem(docB, "Body")
Call rtBody.AddNewline(1)
Call rtBody.AppendText("1. Zeile Text")
Call rtBody.AddNewline(1)
Call rtBody.AppendText("2. Zeile Text")
Call rtBody.AddNewline(1)
Call rtBody.AppendText("Hier der Doc-Link ==> ")
Call rtBody.AppendDocLink(docA, "Kommentar zu diesem Link") 'Hier wird der Link erstellt

Call docB.Send(False) 'Senden der Mail

Andreas
Titel: Re: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: iukhdh am 26.11.09 - 10:23:45
Wahrscheinlich schon, aber wenn ich das richtig verstehe, dann doch einen Link zum Dokument B, oder?

Ich brauch aber den Link zur Dokument A, daher übergebe ich die UNID von A an B, und erstelle dort die Mail mit dem Link nach A.
Titel: Re: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: ascabg am 26.11.09 - 10:33:44
Nein.

Fuer noch naehere Informationen siehe Designer-Hilfe.
(Klasse NotesRichTextItem)

RichTextItem.AppendDocLink(<zu welchem Dok soll verlinkt werden>, <Kommentar zum Link>)

RichtTextItem => Item, in welches der Doc-Link eingefuegt werden soll
(wurde ja im docB angelegt mit Set rtBody = New NotesRichTextItem(<Dokument wo angelegt werden soll>, <Name des Items>)


Andreas
Titel: Re: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: iukhdh am 26.11.09 - 17:12:22
Hallo Andreas,

hab den Code tatsächlich falsch gelesen, aber trotzdem kapier ichs noch nicht ganz.

Es wird ganz unten beim erstellen des Links auf DokA verwiesen, welches in der vierten Zeile von oben ja definiert wird. Dieses muss ja letztlich mein Ausgangsdokument sein.

Ausgangsdokument ist A
daraus erstelle ich B
und von B aus erstelle ich eine Mail in der auf A verwiesen werden soll.

Wie soll ich dann deiner Meinung nach einen Link nach A erstellen? Ich muss doch irgendwie an das Dokument A rankommen, und das hole ich mir über die UNID von A, die ich beim erstellen von B dorthin in ein Feld übergeben habe.

So falsch kommt mir das nicht vor, es funktioniert ja auch. Aber über einen eleganteren Weg bin ich natürlich dankbar.
Titel: Re: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: ascabg am 27.11.09 - 07:31:47
Hallo Thomas,

Du brauchst lediglich ein Dokument (bei Dir docB), in dem ein RichTextItem erstellt wird bzw. ein vorhandenes verwendet wird.
Dann brauchst Du noch ein Dokument (beid Dir docA), zu dem der Link erstellt werden soll.

Den Rest erledigt dann die Methode "AppendDocLink" der Klasse "NotesRichTextItem" fuer Dich.

Du solltest nur dafuer sorgen, dass in Deiner Db eine "Vorgabeansicht" definiert ist.

Versucht es doch einfach mal. Und schau Dir unbedingt die Klasse "NotesRichTextItem" in der Hilfe an.


Andreas
Titel: Re: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: iukhdh am 27.11.09 - 09:16:54
Hallo Andreas,

Danke für deine Geduld mit mir.

OK, ich schaus mir wirklich genauer an, nur vielleicht nochmal eine Ergänzung:

Ich will den Link nicht im Dokument B, sondern in einem Dokument C erstellen, das aus B heraus erstellt wird (Mail)

Ciao
Thomas
Titel: Re: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: ascabg am 27.11.09 - 09:35:44
Hallo,

Das Schema ist dasselbe.
Du muss Dir nur genau vor Augen halten, in welchem Dok ist das RT-Feld, welches den Link aufnehmen soll und auf welches Dok soll verlinkt werden.


Andreas
Titel: Re: Doclink in Mail (an der richtigen Stelle) einfügen
Beitrag von: LN4ever am 28.11.09 - 00:12:12
Hallo Thomas,

kann es sein, daß docA ein neues und noch gar nicht gespeichertes Dokument ist ?

Gruß

Norbert