Autor Thema: Abfrage auf Doclinks?  (Gelesen 3513 mal)

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Abfrage auf Doclinks?
« am: 20.07.04 - 14:36:26 »
Hallo Zusammen!

In einer Helpdeskdb sollen User den Problemtyp in einer Dialogliste auswählen. Nach dem Auswählen soll eine Lookup auf eine Tabelle/Feld gamacht werden, ob es zum Problemtyp weitere Infos gibt.

Die Infos - Text und documentlink - sollen im Konfigurationsdokument stehen. Aufs Konfigurationsdokument - ein Feld davon - kann ich mit folgender Funktion zugreifen:
@GetProfileField( "Profildokument" ; "Feldname" )

Wie kann ich nun genau den entsprechenden Eintrag einer Dialogliste abfragen, welche Funktionen gibt es dazu?

Beispiel:
Der User wählt das Thema "Antrag CD Brennen". Nach dem Auswählen in der Dialogliste soll eine automatische Abfrage auf das Profildoc gemacht werden. Der entsprechende Wert in einer Dialogliste voller Einträge soll selektiert werden. Es soll also nach "Antrag CD Brennen" gesucht werden.

Wenn dies im Feld enthalten ist, sollte der Wert rechts vom Pipe angezeigt werden; Antrag CD Brennen|Bitte Prozess XXX beachten!

Eigentlich ist das ganze ja nur ein select auf eine Tabelle mit zwei Attributen, wobei der Problemtyp die ID ist... Naja

Habt ihr noch andere Lösungsvorschläge?

Greez
Manuel
« Letzte Änderung: 21.07.04 - 16:56:07 von immanuel »
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Abrage auf Doclinks?
« Antwort #1 am: 20.07.04 - 15:30:51 »
Hi,

Profildokumente sind nicht sichtbar und lassen sich somit auch nicht in Dialoglisten auswählen. Ich würde das nicht mit Profildokumenten lösen, sondern mit normalen sichtbaren Dokumenten.

Dann kannst du den User z.B. mit der Picklist-Funktion auswählen lassen. Da kannst du wählen, welche Spalte zugegeben wird.

z.B.: in der ersten Spalte steht "Antrag CD Brennen" und in der zweiten (ist versteckt) "Bitte Prozess XXX beachten!". Somit bekommt der User in der Pickliste nur "Antrag..." angezeigt. Wählt er diesen Eintrag aus, liefert Picklist "Bitte..."

Ich denke mal das ist das was du haben willst.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Abrage auf Doclinks?
« Antwort #2 am: 20.07.04 - 15:49:11 »
Hi und Danke!
Habe ich mir auch schon mal überlegt, scheint mir aber nicht so eine konfortable Lösung.

Die die Dialogloste in der Maske verwende ich schon den Befehl, um den Inhalt aus dem Konfigdoc zu lesen - das funktioniert gut. Im Konfigdoc erscheint die Dialogliste einfach als eine Feld mit Komma Trennzeichen...

Am liebsten hätte ich es schon, wenn ich die Hinweistexte mit DocLinks übers Konfigdoc managen könnte.

Greez
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Abrage auf Doclinks?
« Antwort #3 am: 20.07.04 - 15:54:11 »
Habe ich mir auch schon mal überlegt, scheint mir aber nicht so eine konfortable Lösung.

Warum, ist das eine nicht so komfortable Lösung?

Am liebsten hätte ich es schon, wenn ich die Hinweistexte mit DocLinks übers Konfigdoc managen könnte.

Das verstehe ich nicht so ganz. Was willst du denn mit den DocLinks anfangen?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Abrage auf Doclinks?
« Antwort #4 am: 21.07.04 - 08:27:28 »
Hi!

In der DB gibsts User und Admin. Ein User soll nicht die Möglichkeit haben Konfigurationen, wie z.B. Inhalte eines Dialogfelds, zu bestimmen. Admins hingegen können viele Konfigurationen im Profildokument vornehmen. Die machte ich so, wie die DB weltweit genutzt wird und einfach anpassbar sein sollte. Konfigurationen müssen ohne Designer verändert werden können.

Die Doclinks weisen auf eine Knowledge Datanbank oder Prozesse. Stellt jemand per Helpdesk den Antrag eine CD zu brennen, soll automatisch, der Link zum Prozess angezeigt werden.

Für diese Doclinks und Texte, wäre es sinnvoll eine neue Maske mit Ansicht zu erstellen, wo alleine Name, also ID, und Link mit Text steht? Mit welcher Funktion könnte ich ein bestimmtes Dokument nach einem Feld suchen, z.B. das Dokument mit dem Feldinhalt = "CD Brennen"? Gibt es einen konfortablen Select Befehl, Dokumente zu durchsuchen, oder muss ich dies über eine Ansicht und dann Select lösen oder so?

Grüessli
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Abrage auf Doclinks?
« Antwort #5 am: 21.07.04 - 08:37:09 »
Für diese Doclinks und Texte, wäre es sinnvoll eine neue Maske mit Ansicht zu erstellen, wo alleine Name, also ID, und Link mit Text steht? Mit welcher Funktion könnte ich ein bestimmtes Dokument nach einem Feld suchen, z.B. das Dokument mit dem Feldinhalt = "CD Brennen"? Gibt es einen konfortablen Select Befehl, Dokumente zu durchsuchen, oder muss ich dies über eine Ansicht und dann Select lösen oder so?

Hi,

du kannst z.B. mit @DbLookup nach dem Feldinhalt suchen. Vorraussetzung ist dafür eine Ansicht, die in ersten Spalte dieses Feld enthält und die Spalte muß sortiert oder kategorisiert sein. Außerdem kannst du angeben welchen Feldinhalt des gefundenen Doks du zurückgegeben haben willst. Du kannst auch eine Spalte der Ansicht angeben.

Du kannst den Zugriff auf die Konfigurationen über eine Rolle regeln. Die Administratoren bekommen z.B. die Rolle Administrator und dürfen somit die Konfig.-Doks pflegen. Der "normale" Anwender ohne diese Rolle darf nur lesenderweise darauf zugreifen.


Axel


Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Abrage auf Doclinks?
« Antwort #6 am: 21.07.04 - 08:55:06 »
Hallo Axel!

Danke für deine Antwort!

Ich werde bald eine neue Maske mir Ansicht erstellen, wo ich die Doclinks speichern werde...

Grüessli aus der Schweiz!
Manuel
« Letzte Änderung: 21.07.04 - 08:55:28 von immanuel »
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Abrage auf Doclinks?
« Antwort #7 am: 21.07.04 - 13:41:22 »
Hallo!

Hm, jetzt habe ich gerade gelesen und nachvollzogen, dass @DBlookup nur für Text Funktioniert... :o
Zitat
Mit @DbLookup können Sie Daten eines Rich-Text-Feldes nicht abrufen.
Autsch, denn ich wollte ja doclinks abrufen... Was für Tipps habt ihr, dmair ich trotzdem Doclinks verwenden kann? Gibt es Möglichkeiten dies zu umgehen, z.B: indem ein Doclink als Text "serialisiert" wird?

Greez
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Driri

  • Gast
Re:Abrage auf Doclinks?
« Antwort #8 am: 21.07.04 - 14:05:18 »
Hi,

das mit dem @DBLookup != RTF hat sich, auch zu meinem Erstaunen, vor kurzem als falsch erwiesen. Siehe hier

Trotzdem würde ich mir das noch mal überlegen, man kann doch genauso gut die UNID speichern und diese dann abfragen. Über die UNID holt man sich dann das Dokument und erzeugt damit einen DocLink über "Call notesRichTextItem.AppendDocLink".

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Abrage auf Doclinks?
« Antwort #9 am: 21.07.04 - 15:56:29 »
Danke!
Weisst du wie ich aus einem Doclink die UNID herausfinde. Ich möchte, dass User einen Doclink in ein RTF Feld posten können und dann automatisch die UNID ebgefragt wird, damit ich diese mit DBlookup übermitteln kann?

Ich möchte also einen Doclink als Text serialieren und dann wieder einen Doclink herstellen...

Danke!

Greez
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Driri

  • Gast
Re:Abrage auf Doclinks?
« Antwort #10 am: 21.07.04 - 16:11:57 »
Hi,

ich wüßte nicht, wie das funktionieren sollte. Das heißt allerdings nicht, daß es nicht geht.

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Abrage auf Doclinks?
« Antwort #11 am: 21.07.04 - 16:22:49 »
Hallo Zusammen

Auf die Schnelle habe ich mir überlegt, dass ich einen Link ala
Notes:///4125687B0031AF3F/BDEDFCA988B2DB3C85256207004F45A9/CEDCE3F236FE927EC1256D81002780F2
machen könnte und dann das Dokument per @URLOpen(link) öffne.

Dies hat geklappt. Die NotesURL habe ich von den Dokumenteigenschaften, und heisst dort Bezeichner. Ist dieser Bezeicher immer eindeutig und verändert sich nicht?

Grüsse
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Abrage auf Doclinks?
« Antwort #12 am: 21.07.04 - 16:55:16 »
Hallo!

Ich stehe nun vor einer weiteren Herausforderung.
Da die Auswahl im Dropdownfeld der Input für eine Abfrage mit DBLookup ist,soll direkt nach der Auswahl ein DBLookup gemacht werden. Leider schluckt Notes nur LS beim betreten/verlassen eines Feldes.
Ich möchte FIELD iqProblemTypeLink := @DbLookup("":"NoCache";""  ; "ProblemType Handler\\By Problem Type"  ; iq_ProblemType  ; "pthProblemTypeText" );
Nach dem Verlassen des Feldes betätigen.
Gibt es Umwege, oder kann ich wirklich nur LS verwenden? Wenn nur LS, wie heisst die DBLookup Funktion in LS?

Denke für euere Hilfe!

Greez
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Abfrage auf Doclinks?
« Antwort #13 am: 21.07.04 - 18:27:44 »
Hi,

bei den beiden Events Entering und Exiting ist nur Script möglich. Als einzigster "Umweg" kannst du die Evaluate - Anweisung einsetzen. Aber Achtung. Mit Evalute funktionieren nicht alle Formelbefehle, @Command z.B. geht nicht.

Such mal hier im Forum nach Evaluate. Du bekommst jede Menge Treffer. Und hier Iris Today findest du auch noch Infos.

Als Script-Alternative zu @DbLookup kann man GetDocumentByKeys aus der NotesView - Klasse ansehen.


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline immanuel

  • Senior Mitglied
  • ****
  • Beiträge: 461
  • Geschlecht: Männlich
    • Freshpixel Fotostudio
Re:Abfrage auf Doclinks?
« Antwort #14 am: 22.07.04 - 09:04:46 »
Hi Axel!
Danke, habs jetzt im LS zum Laufen gebracht. Hier der Code:
Code
Sub Exiting(Source As Field)
   ' This code has been written because it's not possible in Formula Language   
   
   Dim workspace As New NotesUIWorkspace
   Set doc1 = workspace.CurrentDocument
   Set doc1 = workspace.EditDocument( True )'go in Edit mode
   
   Dim ws As New NotesUIWorkspace
   Dim doc As NotesDocument
   Set doc = ws.CurrentDocument.Document 'Shortcut 
   
    ' Get the ProblemTypeText array. (0) ist the needed entry   
   aProblemTypeText = Evaluate ( {@DbLookup("":"NoCache";""  ; "ProblemType Handler\\By Problem Type"  ; iq_ProblemType  ; "pthProblemTypeText" )}, doc )
   sProblemTypeText = aProblemTypeText (0) ' get the value by accessing the array
   
   ' print out
   Call doc1.FieldSetText("Testfeld",sProblemTypeText ) 'assign to that person
   Msgbox sProblemTypeText
   
End Sub

Hier noch was interessantes aus der IBM Info:
Zitat
However, there is one example of where using an Evaluate statement can actually make your code run faster -- a lot faster: using an Evaluate ({@Dblookup...}) in place of the NotesDatabase method GetAllDocumentsByKey.

Greez
Manuel
IBM Certified System Administrator - Lotus Notes and Domino 6/6.5

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz