Autor Thema: NotesUIView, DIalogBox und die CaretNoteID  (Gelesen 2543 mal)

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
NotesUIView, DIalogBox und die CaretNoteID
« am: 15.07.21 - 15:07:57 »
Hallo Notes-Forum,

ich hab da mal ein Problem.
Ich möchte eine DialogBox anzeigen, in der Box ist eine embedded View und in der View ein Button.
Der User soll ein Dokument markieren und dann per Button die CaretNoteID zurückgeben.

Das Ganze funktioniert, wenn ich die ID in einer MSGbox ausgeben lasse, aber ich möchte die ID in meinem Agent weiter verwenden und das bekomme ich nicht hin.
Ich habe versucht das als EnvironmentVariable zu schreiben, das macht er aber nicht und wenn ich die ID in ein Feld in der DialogBox schreibe funktioniert das zwar, aber wie komme ich da dann in meinem Agenten dran, das Feld wird nicht an das Dokument weitergereicht?

Ich habe auch versucht per Button in der DialogBox das Ganze zu realisieren, aber dann bekommt er die NotesUIView nicht.

Danke im Voraus.
Grüße
Andreas

Offline JoachimB

  • Frischling
  • *
  • Beiträge: 39
Re: NotesUIView, DIalogBox und die CaretNoteID
« Antwort #1 am: 15.07.21 - 15:42:10 »
Moin,

du kannst die NoteID einfach an den Agenten übergeben beim starten:
Call Agent.Run(uiview.CaretNoteID)
oder
Call Agent.RunOnServer(uiview.CaretNoteID)

Eine andere Methode könnte auch sein das Dokument in einen Ordner zu werfen und diesen Ordner im Agenten zu nutzen als Quelle.

Im Agenten dann abrufen mit:
If meagent.Parameterdocid = "" Then
   ' Keine NoteID übergeben
   ' Alternativ könnte er hier einen Ordner nehmen wo markierte Dokumente verarbeitet werden
   ' oder Fehlermeldung werfen usw
   Exit Sub
Else
   ' mit der NoteID fortfahren
        Dim NoteID As String
        NoteID = meagent.Parameterdocid
EndIf

Hoffe es hilft.

Mfg

Joachim
HCL Notes/Domino Administration und Entwicklung seit 2001

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
Re: NotesUIView, DIalogBox und die CaretNoteID
« Antwort #2 am: 15.07.21 - 16:11:43 »
Naja, der Agent wird vorher gestartet und der erzeugt die DialogBox

Offline JoachimB

  • Frischling
  • *
  • Beiträge: 39
Re: NotesUIView, DIalogBox und die CaretNoteID
« Antwort #3 am: 15.07.21 - 17:04:01 »
Also dann ginge es auch so:

Im Button die CaretNoteID bekommen -> Dokument holen und in einen Ordner packen.
CaretNoteID = uiview.CaretNoteID
Set wdoc = medb.GetDocumentByID(CaretNoteID)
Call wdoc.PutInFolder("MeinTempOrdner")

Ordner im Agenten aufrufen und Dokument rausholen
Dim MeinTempOrdner As NotesView
Set MeinTempOrdner = medb.GetView("MeinTempOrdner")

Danach nicht vergessen das/die Dokumente aus dem Ordner wieder zu entfernen.
Entweder einzeln doc.RemoveFromFolder("MeinTempOrdner")
Call MeinTempOrdner.AllEntries.RemoveAllFromFolder("MeinTempOrdner")


Alternativ damit bekommst du alle in der Ansicht ausgewählten Dokumente über deinen Button in der EmbeddedView:
Dim doccol As Notesdocumentcollection
Set doccol = medb.UnprocessedDocuments
If doccol.Count > 0 Then
      Call doccol.PutAllInFolder("MeinTempOrdner")
End If
HCL Notes/Domino Administration und Entwicklung seit 2001

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: NotesUIView, DIalogBox und die CaretNoteID
« Antwort #4 am: 16.07.21 - 06:48:55 »
Ich verstehe nicht, warum bei Deinem ursprünglichen Ansatz das Schreiben in der notes.ini nicht funktionieren sollte, wenn Du quasi an der selben Stelle die ID in einer Messagebox ausgeben kannst. Ich denke, das sollte man hinbekommen - könnte da im Code ein anderer Fehler sein?

-Werner

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
Re: NotesUIView, DIalogBox und die CaretNoteID
« Antwort #5 am: 16.07.21 - 07:23:04 »
Oh wow sorry mein Fehler....

Ich habe erst vor kurzem auf Notes 12 upgedated (eigentlich komplette Neuinstallation) und tatsächlich habe ich noch Reste von der alten Installation auf dem Rechner, unter anderem eine "notes.ini" unter "C:\Programme (x86)\IBM\Notes" und in diese habe ich geschaut, da hat er es aber nicht rein geschrieben, weil er es in die "notes.ini" unter "C:\Programme (x86)\HCL\Notes" geschrieben hat.

Oh man, tut mir echt leid, dass ich das nicht gemerkt habe und trotzdem danke für die Hilfe, er schreibt natürlich die ID rein und dann kann ich sie auch weiter verwenden...

Grüße
Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz