Autor Thema: Eingebettete kategorisierte Ansicht aktualisieren (wieder mal...)  (Gelesen 4073 mal)

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
Hallo liebe Atnotes-Gemeinde !

Folgendes Problem: Maske A in Datenbank A mit einer eingebetteten Ansicht mit Dokumenten der Datenbank B kategorisiert nach Fullname & "Show single category" mit @Username, der "Normaluser" hat nur Leserechte auf die Dokumente der Datenbank A (Autor in Datenbank B).
Mittels Skript erstellt nun der Normaluser mittels Button in der Maske A (kein Button in der eingebetteten Ansicht!) ein neues Dokument in der Datenbank B. Dokument wird problemlos erstellt, nur wird die eingebettete Ansicht nicht aktualisiert. Mittels F9 erscheint dann das neue Dokument in der Ansicht.
Workspace.ViewRefresh bringt nix, ein Uidoc.Refresh ist beim Normaluser nicht möglich, da ja nur Leserechte. Wobei ein Uidoc.Refresh (wenn Schreibrechte vorhanden) zu unkontrollierten Notes-Abstürzen führt (über dieses Problem wurde schon in anderen Beiträgen diskutiert).

Gibts irgendeine Lösung / Trick / Würgaround für dieses Problem ?
Bin für jeden Hinweis dankbar !

Notes Version 8.5.2


Danke im Voraus für die Antworten !
Gruss Udo
« Letzte Änderung: 07.05.12 - 10:15:30 von udo187 »

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Hast Du mal versucht, das Script, das aus dem Button das neue Dokument erstellt, in einen Agenten zu verlagern, der auf markierte Dokumente angewendet wird und den dann über den Button zu starten? Solch ein Agent aktualisiert anschließend normalerweise die aktuelle Ansicht.

Ob der sich aus dem geöffneten Dokument aufrufen lässt und ob der die eingebettete Ansicht aktualisiert, weiß ich nicht, habe ich nicht probiert. Ist nur eine Idee ...

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
Hallo Peter,

danke für die Antwort!
Das hab ich noch nicht versucht, werde es ausprobieren und berichten.

LG
Udo

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
- Ein "Reopen" wäre evtl eine Lösung
- Oder das Verlagern des Buttons in die Ansicht (im QueryOpen der embedded-Ansicht sich die View merken und dann im Button darauf den Refresh aufrufen)

probier auch mal anstatt:
  @username
folgendes
  @username + ""
in der "show single category"-Eigenschaft
Ich habe hier schon mal das Verhalten beobachtet, dass sich das ws.viewRefresh bzw F9-Verhalten ändert, wenn da ein "konstanter Wert" und keine Formel drin steht. (wobei @username ja schon eine Formel ist, aber ein Versuch ist es wert )

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
Guten Morgen !

Danke an Peter & Roland für die Tipps.
Ich habe nun alle Vorschläge getestet:

- Code in Agent auslagern -> negativ
- show single category"-Eigenschaft berechnen -> negativ
- verlagern des Buttons in die Ansicht und somit eine Verlagerung des Codes in die Datenbank B -> nicht getestet da der gleiche Code (Verzweigungen innerhalb des Codes) auch in der Maske A von Autoren aufgerufen wird, Code müßte daher dupliziert werden (Pflegeaufwand)
- Reopen -> funktioniert  :)

Da die eingebettete Ansicht sich auf einer Tabelle mit Registern befindet, mußte ich diese noch auf "Zeile programmgesteuert wechseln" umstellen und das entsprechende Register beim Reopen "anspringen" (damit die User nicht zu sehr verwirrt werden...).
Uidoc.GotoField funzt ja nicht da die User ja nur Leserechte haben...

Diese Lösung funktioniert wobei ein funktionierendes wes.viewrefresh natürlich vorzuziehen wäre.

Sollte jemanden noch was einfallen bitte melden  ;)

Danke & LG
Udo

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Mal probiert mit einem NotesUIWorkspace.ReloadWindow oder @Command( [ReloadWindow])?
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
...
- verlagern des Buttons in die Ansicht und somit eine Verlagerung des Codes in die Datenbank B -> nicht getestet da der gleiche Code (Verzweigungen innerhalb des Codes) auch in der Maske A von Autoren aufgerufen wird, Code müßte daher dupliziert werden (Pflegeaufwand)
...
Auslagern des Codes in eine Scriptbibliothek in Schablone der Datenbank A, kopieren der Scriptbibliothek in Schablone der Datenbank B, Vererbung der Bibliothek aus Schablone A. Ergebnis: Redundante Bibliothek, aber keine doppelte Pflege durch Designtask. Änderungen nur in Schablone A.

EDIT: Das geht natürlich auch mit jedem anderen Gestaltungselement, z.B. einem Agenten
« Letzte Änderung: 04.05.12 - 10:25:01 von Peter Klett »

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
...NotesUIWorkspace.ReloadWindow habe ich bereits leider ebenfalls ohne Erfolg probiert.

Ein wes.viewrefresh oder @Command([ViewRefreshFields]) bringt auch nur dann etwas wenn dieser Befehl in der eingebetteten Ansicht eingebunden ist, braucht also den Fokus.
(direkt in Maske A oder über den aufgerufenen Code -> ohne Erfolg).

@Peter: Danke für den Tipp bezüglich der Vererbung !

Udo

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Da die eingebettete Ansicht sich auf einer Tabelle mit Registern befindet, mußte ich diese noch auf "Zeile programmgesteuert wechseln" umstellen und das entsprechende Register beim Reopen "anspringen" (damit die User nicht zu sehr verwirrt werden...).
Uidoc.GotoField funzt ja nicht da die User ja nur Leserechte haben...
Du kannst im Lesemodus den Tab über "programmatisch gesteuerte Tabellen" umschalten.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
Hallo Roland !

Danke, genau so mache ich es.

Gruß
Udo

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
...NotesUIWorkspace.ReloadWindow habe ich bereits leider ebenfalls ohne Erfolg probiert.

... das steht so auch in der Hilfe:
Zitat
Modifications made to the back-end document outside the current editing session (for example, by an agent or another user) do not appear until the document is closed and reopened.
Grüßle Toni :)

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
Man(n) versucht halt alles um zum Ziel zu kommen  ;)

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... den ReOpen verwende ich in solchen Fällen - zuckt zwar kurz, aber tut...

  ;)
Grüßle Toni :)

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
Ja, das Reopen funzt.
Danke an alle für die Hilfe !

Gruß Udo

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz