Autor Thema: Auswahl Picklist und Doclink  (Gelesen 2540 mal)

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Auswahl Picklist und Doclink
« am: 30.03.04 - 08:37:11 »
Hi,

ich möchte in einer Picklist ein Dokument auswählen und dann für dieses Dokument einen Doclink in einer Maske speichern. Jed dat ?

Gruss

Andreas
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Glombi

  • Gast
Re:Auswahl Picklist und Doclink
« Antwort #1 am: 30.03.04 - 08:43:50 »
Ja, dat geht!

Du brauchst folgende Methode:
Call notesRichTextItem.AppendDocLink( linkTo, comment$ [, HotSpotText$ ])

Das Dokument für den Link holst Du Dir mit
Set notesDocumentCollection = notesUIWorkspace.PickListCollection(  PICKLIST_CUSTOM[,multipleSelection ] [, server$ ] [, databaseFileName$ ] [, viewName$ ] [, title$ ] [, prompt$ ] )

Andreas
« Letzte Änderung: 30.03.04 - 08:44:31 von Glombi »

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Re:Auswahl Picklist und Doclink
« Antwort #2 am: 30.03.04 - 10:47:21 »
Ja danke auch. Klasse ich probiere es so.

Super.

Andreas.
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Re:Auswahl Picklist und Doclink
« Antwort #3 am: 30.03.04 - 15:27:42 »
Ich habe es mal runterprogrammiert. Leider tut es nicht. Die Picklist läuft gut und auch die Collection funktioniert. Nur der Doclink taucht nicht auf.

gucks du hier for Fehlersuche.

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument   
   Set uidoc = ws.currentdocument
   
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim col As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim backdoc As NotesDocument
   Dim rtitem As NotesRichTextItem
   Set db = s.CurrentDatabase
   Set backdoc = uidoc.document
   
   
   Set col = ws.PickListCollection(1,True,"SPSRV1","Parchiv","Presentations","Info","select a document")
   Set doc = col.getfirstdocument
   If col.Count = 0 Then
      Msgbox ("Sie haben kein Dokument ausgewählt")
      Exit Sub
   End If
   
   Set rtitem = New NotesRichTextItem( backdoc, "Presentationsdoclink" )
   Call rtitem.AppendDocLink( doc, db.title)
   Call backdoc.Save(True, True)
   Call uidoc.Reload
   
   
End Sub


Sieht jemand den Fehler ?

Gruss

Andreas
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Auswahl Picklist und Doclink
« Antwort #4 am: 30.03.04 - 15:29:42 »
auch nicht nach nochmal schließen und öffnen?
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Auswahl Picklist und Doclink
« Antwort #5 am: 30.03.04 - 15:30:54 »
Der Reload bringt Dir bei dieser Kombination nichts - das übliche Problem bei RTFs.
Du musst Dein NotesUIDocument wirklich schliessen und erneut laden.

Bernhard

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Auswahl Picklist und Doclink
« Antwort #6 am: 30.03.04 - 15:33:18 »
Code
Set doc = col.getfirstdocument
   If col.Count = 0 Then
      Msgbox ("Sie haben kein Dokument ausgewählt")
      Exit Sub
   End If
Das ist übrigens Dummfug: Erst auf col.Count = 0 prüfen und erst dann versuchen, das erste Dokument zu instantiieren.
Das hat natürlich nichts mit Deinem eigentlichen Problem zu tun.

Bernhard

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Re:Auswahl Picklist und Doclink
« Antwort #7 am: 30.03.04 - 16:02:18 »
Den reload habe ich rausgenommen. Wenn er eh nicht funktioniert. Aber der Doclink taucht nicht auf. Ich schliesse das Dokument und öffne es wieder. "LEER"

Einen Fehler seht Ihr also auch nicht ? hmmmmmm. Dann ist das mal wieder notzig ? Benutze 6.5  ich hoffe doch nicht, das hier ein Bug vorliegt.

Aja:

was ist denn daran falsch:

Set doc = col.getfirstdocument
  If col.Count = 0 Then
      Msgbox ("Sie haben kein Dokument ausgewählt")
      Exit Sub
  End If

Die picklist bringt doch die collection zurück. Sie besteht aus den Dokumenten, die markiert sind. Dann frage ich nach 0 (also nix ausgewählt) oder verstehe ich das jetzt hier falsch ?

Interessant.
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Glombi

  • Gast
Re:Auswahl Picklist und Doclink
« Antwort #8 am: 30.03.04 - 16:06:58 »
Das UI-Dokument darf nicht geöffnet sein, wenn im Backend was im RTF Feld geändert wird. Wenn es nämlich offen ist, ist das RTF Feld leer (da nur im Backend geändert) und beim Speichern wird das Backend wieder mit dem aktuellen UI überschrieben.

Also: Das UI Dok. schließen, im Backend ändern und dann wieder das UI Dok. öffnen.
Set notesUIDocument = notesUIWorkspace.EditDocument( editMode , notesDocument)


Das andere
Statt
Set doc = col.getfirstdocument
  If col.Count = 0 Then
      Msgbox ("Sie haben kein Dokument ausgewählt")
      Exit Sub
  End If

besser:
 If col.Count = 0 Then
      Msgbox ("Sie haben kein Dokument ausgewählt")
      Exit Sub
  End If
Set doc = col.getfirstdocument

Andreas
« Letzte Änderung: 30.03.04 - 16:08:40 von Glombi »

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Re:Auswahl Picklist und Doclink
« Antwort #9 am: 30.03.04 - 16:10:27 »
Ok verstanden,

ich werde Deine Lösung gleich ausprobieren. Melde mich gleich wieder.


Danke....
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Auswahl Picklist und Doclink
« Antwort #10 am: 30.03.04 - 16:13:57 »
Code
besser:
If col.Count = 0 Then
      Msgbox ("Sie haben kein Dokument ausgewählt")
      Exit Sub
  End If
Set doc = col.getfirstdocument

Und hier noch zur Erklärung: Deine Variante war sehr amerikanisch ("Erst schiessen, dann fragen"). Wenn NotesDocumentCollection.Count = 0 - was ist dann Dein erstes Dokument, was Du mit GetFirstDocument holst ?

HTH,
Bernhard

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Re:Auswahl Picklist und Doclink
« Antwort #11 am: 30.03.04 - 16:24:39 »
jupp. Läuft gut.

Hier fertiger Code zum rauskopieren.

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument   
   Set uidoc = ws.currentdocument
   
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim col As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim backdoc As NotesDocument
   Dim rtitem As NotesRichTextItem
   Set db = s.CurrentDatabase
   Set backdoc = uidoc.document
   Set col = ws.PickListCollection(1,True,"SPSRV1","Parchiv","Presentations","Info","select a document")
   
   If col.Count = 0 Then
      Msgbox ("Sie haben kein Dokument ausgewählt")
      Exit Sub
   End If
   
   Set doc = col.getfirstdocument
   
   
   Set rtitem = New NotesRichTextItem( backdoc, "Presentationsdoclink" )
   Call rtitem.AppendDocLink( doc, db.title)
   Call uidoc.Save   
   Call uidoc.Close   
   Call backdoc.Save(True, True)
   Set uidoc = ws.EditDocument( editMode , backdoc)
   
End Sub

Danke...
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Glombi

  • Gast
Re:Auswahl Picklist und Doclink
« Antwort #12 am: 30.03.04 - 16:30:23 »
Ich hätte es so gemacht:

Set doc = col.getfirstdocument

'Schließe UI Dokument, bevor RTF Feld geändert wird
   Call uidoc.Save  
   Call uidoc.Close  
 
   
   Set rtitem = New NotesRichTextItem( backdoc, "Presentationsdoclink" )
   Call rtitem.AppendDocLink( doc, db.title)
   Call backdoc.Save(True, True)
   Set uidoc = ws.EditDocument( True, backdoc)  ' ÄNDERUNG, damit im Editmode geöffnet wird


Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz