Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: bernino1 am 21.10.11 - 14:58:10
-
Wir haben für die User draußen noch Basic-Clients.
Ich sollte aus einem Browser raus Links generieren können, die im
Notes-Client in einer
bestimmten Datenbank eine
bestimmte View öffnet und dann auch gleich auf ein
bestimmtes Dokument springt.
Bis zum letzten Punkt ist das da mal alles kein Problem.
Notes://server/pfad/dbname/viewname?Openview
Aber gibt es eine Möglichkeit, das ich dann via z.B. einer Art Query_String auf ein bestimmtes Dokument komme?
Habt ihr da ne Idee?
DANKE
-
Öhm, geht das nicht mit:
Notes://server/pfad/dbname/viewname/MeinEindeutigerEintrag?OpenDocument
Wobei MeinEindeutigerEintrag dann in der ersten sortierten Spalte ein Feld aus den Dokumenten ist?
-
@TimDom, dein Link öffnet das Dokument direkt, ohne die View zu öffnen (wobei MeinEindeutigerEintrag auch die UNID sein kann)
Ich habe das so verstanden, dass er die View im Web öffnen will (mit ViewApplet) und hier den Cursor auf ein bestimmtes Dokument setzen will (warum auch immer)
Das geht leider nicht, da es in der ViewApplet-Api keine (zumindest keine dokumentierte) Funktion dafür gibt:
http://www-10.lotus.com/ldd/46dom.nsf/all/f46c40f1cf5f6df9852567850053d011
Gruß
Roland
-
bestimmtes Dokument springt.
Jo, mag sein, dass ich das falsch interpretiert habe.
Eventuell meldet sich bernino1 ja noch :)
-
Hi Leute,
danke mal für die Antworten.
Ich will das sogar im NOTES-CLIENT öffnen! :-)
(Hintergrund: Aus einem Fremdprogramm sollen direkt zu bestimmten Kundendaten in einer bestehenden Notes-Datenbank verlinkt werden!)
Hab aber schon befürchtet das sich dies so NICHT realisieren lässt.
Das mit dem eindeutigem Key zum Dokument war mir klar. Das wär aber auch zu einfach gewesen.
Wobei ich jetzt wohl diese Variante vorschlagen werde.
Danke für Eure Mühen - eine schöne Woche wünsch ich Euch!
-
Das war doch bei dieser Fragestellung, "(Hintergrund: Aus einem Fremdprogramm sollen direkt zu bestimmten Kundendaten in einer bestehenden Notes-Datenbank verlinkt werden!)", ohnehin die einzige sinnvolle Lösung?
Und je nachdem um welche Dokumente es sich handelt und welche Daten ihr anzeigen wollt müsst ihr doch im aufrufenden Programm einen bis mehrere Keys haben die euch das gestatten sollten.
-
Du könntest einen Notes-Link (notes://.../viewid/docid *) auf das Dokument in deiner HTML-Seite integrieren und im QueryOpen des jeweiligen Dokuments die eigentliche View öffnen und das Dokument markieren und anschließend wieder schließen.
Ggf muss man noch etwas Logik/Technik einbauen, damit man fest stellen kann, ob man über einen solchen Link geöffnet wurde (spezielle View mit Maskenauswahlformel)
*) Soweit ich weiß versteht der Client hier nur IDs, ein notes://..../viewalias/suchschlüssel funktioniert nicht. Eine Maskenauswahlformel der View wird aber beachtet. d.h. die Keys musst du schon im Vorfeld auflösen, könnte man evtl über einen HTTP-Redirect machen:
Deine Seite verlinkt auf http://.../lookupview/<kundenname>,
Lookupview hat einen eigenen Maskentyp, der verlinkt auf notes://.../viewunid/docunid
Die View im Link hat ebenfalls einen eigenen Maskentyp, welcher im Client-QueryOpen zur View springt. (hoffe es einigermaßen verständlich rüber gebracht zu haben)
Gruß
Roland
-
Wau Roland,
na das klingt doch mal spannend.
Schau mir das mal an und meld mich wenn ich was rausgefunden habe.
Das ich aufs Notes-Dokument im Client zu komme brauch ich auf jeden Fall eine Unid - das geht in der Tat nicht mit nem Key aus erster Spalte!
Ich hab da auch noch so ne *Murcks*Kontruktion mit nem Batch-File.
Wär aber froh wenn ich das anders lösen könnte.
Mal sehen.
Ich melde mich
DANKE
-
Hallo zusammen,
ich mische mal unters bunte Volk ...
Wie wäre der folgende Ansatz:
Man hat eine View und hat im Web z.B. eine Kundennummer oder sonst was eindeutiges, ok gut soweit.
Dann probiers mal mit folgenden Notes-Link
Notes://SERVER/REPLIKID/ANSICHT?SearchView&Query=[NOTES-FELD]=Wert aus dem Web
Habe das bei mir in einer Applikation eingebaut und es funktioniert auch sauber... du musst dich nur noch drum kümmern, dass das Dokument aufgeht.
Es dürfte bei richtiger Wahl des Schlüssels aus dem Web, das einzige Dokument in der Ansicht sein, dass noch da ist oder es ist keines mehr da, weil nix gefunden wurde.
Einzige Sache, die noch zu tun ist, um das Dokument zu öffnen, ist folgendes:
In der Zielansicht muss folgender LotusScript-Code rein in den PostOpen => damit wirst du leider eine neue Ansicht brauchen, die sonst niemand benutzen darf (also eine versteckte Ansicht).
Sub Postopen(Source As Notesuiview)
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim docFound As notesDocument
Set db= source.View.Parent
On Error Resume Next
Set docFound = db.GetDocumentByID ( source.CaretNoteID )
On Error Goto 0
Call source.Close
If Not docFound Is Nothing Then
Call ws.EditDocument ( False, docFound )
Else
Messagebox "Das gesuchte Dokumente wurde nicht gefunden." , 16 , "Dokument nicht gefunden"
End If
End Sub
Das funktioniert auch sauber ... auch ohne Volltextindex (!). Leider mit der Einschränkung, dass die Zielviews modifiziert werden müssen bzw. neue erstellt werden müssen.
-
hi ghostmw,
super Sache - funktioniert einwandfrei.
DANKE
-
... gerne.
-
Was evtl noch wichtig ist, der Query-String
Notes://SERVER/REPLIKID/ANSICHT?SearchView&Query=[NOTES-FELD]=Wert aus dem Web
funktioniert erst ab Notes 8
Ansonsten wirklich guter Ansatz (und bei wenigen Dokumenten sollte es auch ohne FT-Index ausreichend schnell sein)