Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Scotty67 am 28.04.10 - 05:53:57

Titel: einen DocLink hinterlegen
Beitrag von: Scotty67 am 28.04.10 - 05:53:57
schönen guten morgen !

ich hab schon wieder ein aufgabe zu lösen - da ich eher von der admin seite komme hoffe ich das ihr mir helfen könnt
Von einem Dokument im Read-Modus ausgehend wird ein neues erzeugt - jetzt hätte ich gerne in dem neuen dokument einen
link auf das zuvor geöffnete dokument gelegt. Damit später der Zusammenhang der beiden Doc's gewährleistet ist.

es würden mir schon ein paar schlagwörter reichen wie ich an die sache scriptmäßig rangehen soll

ich hab mich schon daran versucht - hat aber alles nicht gefruchtet - jetzt wochen später wird es wieder notwendig darüber
nachzudenken


danke/hannes
Titel: Re: einen DocLink hinterlegen
Beitrag von: DerAndre am 28.04.10 - 06:30:03
Da bietet sich die NotesRichtextItem Klasse an.
Titel: Re: einen DocLink hinterlegen
Beitrag von: dirk_2909 am 28.04.10 - 07:32:08
Hallo,

Außer in einem RTF ein DocLink zu erzeugen, genügt es auch, wenn Du in einem berechneten Textfeld (bei Neuanlage) die UniversalID des Ausgangsdokumentes speicherst. Die UNID darf aber nicht als Text formatiert werden.

Am besten speicherst Du in allen Dokumenten die UNID in einem berechnten Textfeld (Name z.B. "OrgID" ) mit der Formel @DocumentUniversalID. In den Antwortdokumenten erstellt Du ein Feld (berechnet bei Neuanlage) mit der Formel "OrgID" (ohne Anführungszeichen). Das Feld sollte als ersten in der Maske vorkommen, falls im Antwortdokument auch das feld "OrgID" vorhanden ist.

Du kannst die Felder verbergen und zur Anzeige des DocLinks berechnete Felder zur Anzeige verwenden.


Titel: Re: einen DocLink hinterlegen
Beitrag von: Scotty67 am 28.04.10 - 07:47:10
hallo dirk !

das klingt ja schon vielversprechend...
beide forms von denen ich spreche habe eine subform als basis
ich hab jetzt auf dieses Subform ein berechnetes Textfeld mit der Funktion @DocumentUniqueID   hinterlegt

OK die ID wird jetzt dort reingeschrieben
das Feld für den DocLink - wie muss das jetzt aussehen ? nehme an RT
die Formel für diese Feld ist mir leider ned klar - sorry - ich steh wahrscheinlich voll am schlauch
(wie gesagt das Feld "OrdID" gibt es auf beiden Forms

danke vielmals  :) :) - das hilft mir mörderisch weiter !!!
Titel: Re: einen DocLink hinterlegen
Beitrag von: BigWim am 28.04.10 - 08:13:10
Zitat
das Feld für den DocLink - wie muss das jetzt aussehen ? nehme an RT

Zitat
Am besten speicherst Du in allen Dokumenten die UNID in einem berechnten Textfeld (Name z.B. "OrgID" ) mit der Formel @DocumentUniversalID


Wenn Du Script umgehen willst:

Schritt 1
Ich habe ein zusätzliches Feld mit @Text(@DocumentUniversalID) (damit ich das nicht in der Ansicht tun muß).

Schritt 2
Eine Hilfsansicht: Alle Dokumente, 1. Spalte das zusätzliche Feld, aufsteigend sortiert.

Schritt 3
Dann kannst Du mit einem "einfachen" @DBLookup zugreifen, wenn die Dokumente sich in der gleichen Datenbank befinden. Die Formel steckt bei mir auch in einem Textfeld, berechnet zur Anzeige.

Code
@DbLookup("":"NoCache";"":"";"KeyList\\AllDokID";<Feldname mit der DokID als Text>;<Feldname mit der DokID>;[FailSilent])



Markus
Titel: Re: einen DocLink hinterlegen
Beitrag von: DerAndre am 28.04.10 - 08:34:01
Arbeiten mit Haupt- und Antwortdokumeten (http://atnotes.de/index.php/topic,13984.0.html)
Vielleicht hilft Dir ja dieser Thread im Best Practices ja auch noch.
Titel: Re: einen DocLink hinterlegen
Beitrag von: Scotty67 am 28.04.10 - 09:45:12
Zitat
das Feld für den DocLink - wie muss das jetzt aussehen ? nehme an RT

Zitat
Am besten speicherst Du in allen Dokumenten die UNID in einem berechnten Textfeld (Name z.B. "OrgID" ) mit der Formel @DocumentUniversalID


Wenn Du Script umgehen willst:

Schritt 1
Ich habe ein zusätzliches Feld mit @Text(@DocumentUniversalID) (damit ich das nicht in der Ansicht tun muß).

Schritt 2
Eine Hilfsansicht: Alle Dokumente, 1. Spalte das zusätzliche Feld, aufsteigend sortiert.

Schritt 3
Dann kannst Du mit einem "einfachen" @DBLookup zugreifen, wenn die Dokumente sich in der gleichen Datenbank befinden. Die Formel steckt bei mir auch in einem Textfeld, berechnet zur Anzeige.

Code
@DbLookup("":"NoCache";"":"";"KeyList\\AllDokID";<Feldname mit der DokID als Text>;<Feldname mit der DokID>;[FailSilent])



Markus

@Markus !

Ich hab jetzt so einen Hilfsview gebastelt in der ersten spalte aufsteigend sortiert liegt die Formel -->  @Text(@DocumentUniqueID )
Es werden dort auch alles richtig angezeigt.

Wenn ich jetzt in dem 2ten Dokument (welches auf Basis des ersten erstellt wird) einen Button hinterlege der das Öffnen des ersten
Dokuments übernehmen soll - warum brauch ich da eine DBlookup Funktion - ich will ja eigentlich nur ein OpenDocument ausführen - aber
auch das bekomme ich nicht hin ! 

Titel: Re: einen DocLink hinterlegen
Beitrag von: dirk_2909 am 28.04.10 - 10:06:19
Wenn Du einen DocLink zu einem Ausgangsdokument anzeigen möchtest, genügt ein normales Textfeld.

keep it simple
Titel: Re: einen DocLink hinterlegen
Beitrag von: BigWim am 28.04.10 - 10:32:52
Hallo Hannes,

Zitat
warum brauch ich da eine DBlookup Funktion - ich will ja eigentlich nur ein OpenDocument ausführen - aber
auch das bekomme ich nicht hin ! 
Mein Fehler. Ich hatte überlesen, dass Du mit Antwortdokumenten arbeitest.

Ich habe mir das abgewöhnt, weil ich es in den Ansichten nicht immer so hinbekomme, wie ich mir das vorstelle. Irgendwie bin ich dafür nicht schlau genug.

Deshalb habe ich zwei Dokumente, die sich erst einmal gar nicht kennen. Der @DBLookup holt sich nun aus dem ersten Dokument die DocID als Referenz. Und diese wird im Textfeld schön mit dem Verknüpfungssymbol angezeigt. Halt wie eine "normale" Dokumentenverknüpfung.

Sorry für die Verwirrung


Zitat
Damit später der Zusammenhang der beiden Doc's gewährleistet ist.
Du mußt eigentlich nur noch dafür sorgen, dass das Textfeld mit der Formel @DocumentUniqueID im zweiten Dokument angezeigt wird. Dadurch, dass Du die DocID nicht als Text konvertierst, macht der Client daraus eine Dokumentenverknüpfung, auf die der Anwender klicken kann und sich das erste Dokument öffnet.


Markus
Titel: Re: einen DocLink hinterlegen
Beitrag von: dirk_2909 am 28.04.10 - 10:39:16
Zitat
Du mußt eigentlich nur noch dafür sorgen, dass das Textfeld mit der Formel @DocumentUniqueID im zweiten Dokument angezeigt wird. Dadurch, dass Du die DocID nicht als Text konvertierst, macht der Client daraus eine Dokumentenverknüpfung, auf die der Anwender klicken kann und sich das erste Dokument öffnet.

Das hatte ich ja schon ausgiebig beschrieben ...
Titel: Re: einen DocLink hinterlegen
Beitrag von: BigWim am 28.04.10 - 10:43:25
Zitat
Das hatte ich ja schon ausgiebig beschrieben ...
Ich weiß, ich wollts ja nur noch mal ausführlich bestätigen, weil ich ihn auf die falsche Fährte gelockt habe.

Markus