Autor Thema: Call workspace.EditDocument( True ) unter Notes8  (Gelesen 3972 mal)

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Call workspace.EditDocument( True ) unter Notes8
« am: 02.07.08 - 12:51:26 »
Kann mir bitte jemand erklären warum diese Funktion

Call workspace.EditDocument( True )

in einem Button eingebaut im Notes 8 plötzlich den Fehler "Notes Error - Specified commend not availible from the workspace" bringt?!

Ach ja - Im Eclipse Client - Im Basic geht's ohne Probleme ...

Was ich machen möchte ist in der Preview ein Document in den Edit-Mode bringen damit der User direkt eine Button drücken kann. (Also ohne Doppelcklick). Beim 7er Client geht das auch wunderbar - da liegt dieser Befehl am Button und danach werden (über den selben Button) einige Schritte ausgeführt. Und jetzt mit dem 8er gibt es plötzlich Fehler ...

Genauso - wenn in den Formproporties "Automatically enable Edit Modus" aktiviert ist dann geht dieses in einem eigenen Fenster auf wo dann nichts mehr geht ...

Also - im Grunde die Frage:

- wie bringe ich in der Preview ein Document in den Edit-Mode ...?
« Letzte Änderung: 02.07.08 - 13:52:14 von pur_berger »

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Call workspace.EditDocument( True ) unter Notes8
« Antwort #1 am: 02.07.08 - 13:53:15 »
gib ihm doch noch das Document mit:
ws.editDocument true, doc
oder mach es über die UI-Klasse
ws.currentdocument.editmode = true

bubble
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Call workspace.EditDocument( True ) unter Notes8
« Antwort #2 am: 02.07.08 - 15:00:52 »
Sorry - aber was hilft mir das? Wenn ich den Fehler richtig verstehe dann steht in der Mailpreview kein UI zur Verfügung. Warum auch immer. UNd warum auch immer nur beim Eclipse Client. Sprich - geb ich Ihm das Dokument mit bekomm ich als Fehler das es dieses nicht gibt. Ich bin ja nach wie vor in der Preview.

Sprich - im Lotusscript - wie bringe ich die Preview dazu ein Dokument im Editmode anzuzeigen ...

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Call workspace.EditDocument( True ) unter Notes8
« Antwort #3 am: 02.07.08 - 15:07:48 »
Eränzung:

Wenn ich "Automatically enable Edit Modus" aktiviere dann klappt das Script

If Not uidoc.EditMode Then
   uidoc.EditMode = True
End If

(aus der Hilfe kopiert) - aber dann macht der EclipseClient wieder ein extra Fenster auf in dem garnichts geht (kein Rahmen, kein garnichts ...) - Ich weiß jetzt echt nicht mehr weiter ...

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Call workspace.EditDocument( True ) unter Notes8
« Antwort #4 am: 08.07.08 - 11:26:31 »
So - und hier die Lösung für (mein) Problem:

Aufgabe:
In einem Mail sind Buttons welche der User drücken muß. Diese sollen in der Vorschau verfügbar sein sowie sollen unnötige Doppelklicks (um ein Document in den Editmode zu bringen) vermieden werden ...

Klingt einfach - und würde es Eclipse nicht geben wäre es das wohl auch ...

Fakt ist allerdings das bestimmte Befehle (wie eben zum Beispiel Call workspace.EditDocument( True ) unter Eclipse in der Previewpane NICHT funktionieren ...

Also:

QueryOpen:
@Command( [ShowHidePreviewPane] ; 0)

Damit wird das Previewpane geschlossen. Macht man dies nicht bekommt der User beim Ausführen der Aktion eine Saveconflict bei geöffneter Previewpane - diese scheint ja dankenswerter Weise einiges zu cachen ...


Sub Postopen(Source As Notesuidocument)
   If source.inpreviewPane   Then
      Dim ws As New NotesUIWorkspace
      If Source.EditMode = False Then
         Continue = False
         Call ws.SetTargetFrame("")
         Call ws.EditDocument(True,,,,False, False)
      End If
   End If
End Sub

Hier prüfe ich ob das Document in der Previewpane geöffnet wurde - wenn ja - wird es in einem neuen Window göffnet ... (und die Previewpane eben geschlossen)

So - nur ist das Document jetzt noch immer nicht im Editmode ... (keine Ahnug warum ...) - daher - im Buttonscript:

Dim uiwork As New notesuiworkspace
   Dim uidoc As notesuidocument
   Set uidoc = uiwork.currentdocument
   uidoc.Editmode = True

Damit geht das Document endgültig in den Editmode ...


Keine Ahnung ob das einfacher auch geht, eleganter, besser - mit sicherhiet ist die Lösung nicht sauber - aber es funktioniert - und für mich als nicht Scripter - well - it's working :)

Ach ja - um der Frage vorzubeugen "warum nicht einfach in den Proporties das Hackerl bei "open Document in Editmode" setzen ... im Eclipseclient führt dies dazu das das Document in einem neuen Fenstern (wohlgemerkt - ganz neuem Fenster - nicht nur im Client sonder separat) geöffnet wird - wo dann garnichts mehr geht ...)


« Letzte Änderung: 08.07.08 - 11:45:40 von pur_berger »

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Call workspace.EditDocument( True ) unter Notes8
« Antwort #5 am: 09.07.08 - 13:52:49 »
Nachtrag ...

Nachdem Chefe sich beschwert das er die PP wieder offen haben will - so geht es auch:

In den Buttons die

Dim uiwork As New notesuiworkspace
Set uidoc = workspace.CurrentDocument   
Call uidoc.Save

gegen

Set doc = uidoc.Document
Call doc.Save( True, True )

getauscht - damit wird der Fehler unterdrückt und man erspart sich im Gegenzug das Schließen der PP ...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz