Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: nsm am 05.09.02 - 15:34:33
-
hallo leute,
ich habe ein kniffliges problem, da ich leider kein script kann.
ich habe ein feld in dem die DocumentUniqueID eines anderen doc´s errechnet wird.
nun würde ich gerne in ein rtf feld eine verknüpfung per script einfügen lassen.
wer hat einen (ausführlichen) tip für mich?
danke
nsm
-
Notes Help:
This script creates a new mail memo. In the Body item of the memo, the script places a link to each document in the Boots folder in the test.nsf database. Each link is followed by a tab, the Subject item of the document being linked to, and a carriage return.
Dim session As New NotesSession
Dim db As New NotesDatabase("", "test.nsf")
Dim view As NotesView
Dim newDoc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim doc As NotesDocument
Set view = db.GetView( "Boots" )
Set newDoc = New NotesDocument( db )
'hier macht Notes das neue Doc "auf"
Set rtitem = New NotesRichTextItem( newDoc, "Body" )
'es erstellt ein Feld namens Body,vom Typ RT
Set doc = view.GetFirstDocument
While Not ( doc Is Nothing )
Call rtitem.AppendDocLink( doc, db.Title )
'im Body Feld wird ein Doclink erzeugt zum fokussierten Doc (set doc=view.getfirst....), als Kommentar erscheint der Titel der DB, wenn der User später auf den Link gehen würde (schwebend)
Call rtitem.AddTab( 1 )
Call rtitem.AppendText( doc.Subject( 0 ) )
Call rtitem.AddNewLine( 1 )
Set doc = view.GetNextDocument( doc )
Wend
newDoc.Subject = _
"Here are links to all docs in the Boots folder"
newDoc.SendTo = "Lauri Nodwell"
Call newDoc.Send( False )
-
Hi,
hier eine Möglichkeit: Das ganze wird im QueryClose gemacht:
'Annahme: Feld mit DocumentUniqueID heisst DocID:
'(Declarations)
DocIsSaved as integer
'PostOpen
DocIsSaved = false
'QuerySave
DocIsSaved = true
'QueryCLose
dim session as NotesSession
dim db as NotesDatabase
dim doc as NotesDocument
dim linkdoc as NotesDocument
dim rtitem as NotesRichTextitem
set doc = Source.Document
set session = New NotesSession
set db = session.CurrentDatabase
if doc.InsertDocLink(0) <> "1" then
set linkdoc = db.GetDocumentByUNID(doc.DocID(0))
if not linkdoc is nothing then
Set rtitem = New NotesRichTextItem( doc, "Body" )
call rtitem.AppendDocLink(doc,"")
doc.InsertDocLink = "1"
call doc.Save(false,true,true)
end if
end if
####################
Du solltest dann noch das Feld InsertDocLink - Bearbeitbar, versteckt mit Vorgabewert "0" in die Maske bauen. Dieses Feld triggert dann, ob der Doklink eingesetzt werden soll.
Im QueryClose ist das sinnvoll, da Änderungen an RT Items erst nach dem Speichern und Neuladen sichtbar werden.
Gruß
Andreas
-
haoo rob green,
danke für den tip, nur will ich kein neues doc erstellen,
sondern das ganze in einem doc ausführen lassen.
genauer gesagt:
ich erstelle frm_auftrag mit einem rtf_link (masken funktion).
in dieser make wähle ich dann einen vertrag dazu aus.
nun wird in feld A die vertragsnummer und in feld B
die eindeutige id (berrechnet auf grundlage von A)
eingetragen.
nun erstelle ich einen einsatz auf grundlage des auftrags.
dem einsatz wird wieder ein link zum auftrag automatisch
über die maskenfunktion eingefügt.
ims feld C wird die vertragsnummerID aus frm_auftrag übergeben.
nun wollte ich einen link von einsatz zum vertrag.
danke nsm
-
hallo andreas,
ich habe das script eingebaut.
es wird mri auch ein doclink erstellt, allerdings verweist
der auf das aktuelle doc und nicht auf den vertrag
dank nsm
-
Sorry,
da ist mir natürlich ein kleiner Fehler unterlaufen. Es muss korrekt lauten:
if not linkdoc is nothing then
Set rtitem = New NotesRichTextItem( doc, "Body" )
call rtitem.AppendDocLink(linkdoc,"")
doc.InsertDocLink = "1"
call doc.Save(false,true,true)
end if
Gruß
Andreas
-
Hi,
wenn du nur einen link brauchst, kannst du auch einfach die DocUnId in ein berechnetes ZAHLENFELD füllen. Wenn du die Maske dann mi Klient öffnest mach notes daraus einen Link und zeigt nicht (wie man villeicht erwarten würde) die Zahl der DocUnId an.
Somit kannst du den Link auch später austauschen. Und das alles ohne script ;) . Ich hab mal durch zufall festgestellt, daß das funktioniert.
Gruß
HaPe
-
Hallo HaPe,
prima Tipp - das kann ich gut gebrauchen ...
Danke für den Hinweis ..
Zimmi
-
hallp HaPe,
ich habe das versucht, nur bei mir wird die id angezeigt.
kann das daran liegen, daß ich die id in diesem feld
bereits vom +bergeordneten doc übernehme?
nsm