Autor Thema: Dokument Refresh OHNE Bearbeitungsmodus  (Gelesen 2776 mal)

Offline Simon Dotschuweit

  • Junior Mitglied
  • **
  • Beiträge: 61
Dokument Refresh OHNE Bearbeitungsmodus
« am: 20.07.05 - 22:23:41 »
Hi,

Wie kann ich ein Dokument im Frontend neu laden / refreshen, wenn es nicht im Bearbeitungsmodus ist und ich auch nicht umschalten kann (Weil der Nutzer nicht das recht hat, das Dokument zu bearbeiten) ?

Folgendes Codesegment funktioniert zwar, beinhaltet aber, das der Editmode auf true gesetzt werden muss, was ich gern vermeiden würde:

Code
Dim uidoc As NotesUIDocument
		
Set uidoc = g_myWorkSpace.WorkSpace.CurrentDocument
uidoc.Document.SaveOptions="0"
uidoc.EditMode = True
uidoc.Refresh
uidoc.EditMode = False


Thx

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #1 am: 20.07.05 - 23:32:27 »
Warum willst Du denn dann refreshen und was willst Du refreshen?

Je mehr Infos, desto besser kann gehlfen werden.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #2 am: 20.07.05 - 23:42:00 »
Meines Wissens gar nicht.
Was du machen kannst:
Das Dokument automatisch schliessen und neu öffnen.
Geht über
UIworkspace.editDocument (Source.Document, false, false) ' oder so ähnlich
im QueryClose.
Du definierst eine globale Variable in der Maske.
globale Declaration:
Code
Dim doRefresh as Integer 

Die setzt du im QueryOpen auf false
Code
doRefresh = false

Hinter der Refresh Aktion oder Button steht:
Code
doRefresh = true
uidoc.close

im QueryClose steht:
Code
if doRefresh then
UIworkspace.editDocument (Source.Document, false, false) ' oder so ähnlich 
end if

sollte imho funktionieren.

Oder noch besser: Du packst den ganzen Code in eine Klasse, die du direkt im QueryOpen initialisierst. Das entsprechende Objekt deklarierst du global in den Masken-Declarations.

Thomas hat ja mal gezeigt, dass man in die Klasse auch hooks für Events schreiben kann.
Der Code ist dann einfacher zu maintainen und wiederverwenden, weil er eben in einer Code-Einheit steht und nicht über mehrere Masken-Events verstreut ist.

Axel
« Letzte Änderung: 20.07.05 - 23:46:26 von kennwort »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #3 am: 20.07.05 - 23:53:06 »
Axel, es gibt da sicherlich noch mehr Möglichkeiten (z.B. Agents OnBehalfOf, Schedulded Agents, ...).

Ich denke erstmal sollte der Fragesteller spezifizieren WAS refreshed werden soll, warum weshalb wieso...
Geht es um Haupt- und Antwort-Dokumente, DBLookups, etc. Wie sieht das Konzept des "Nicht bearbeiten dürfen" aus, etc.

Fragen über Fragen.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #4 am: 21.07.05 - 00:14:08 »
Axel, es gibt da sicherlich noch mehr Möglichkeiten (z.B. Agents OnBehalfOf, Schedulded Agents, ...).
Mathias. ich tendiere dazu, dass nicht.
Müsste man mal nachprüfen.
Ist mir auch noch nicht aufgefallen.
Falls refreshen von Frontend-Dokumenten tatsächlich an den Editiermodus gebunden ist, dann kann nur durch durch neues Landen des Dokuments die aktuellsten Werte im Frontend angezeigt werden. Aber nur unter dieser Voraussetzung. Dann dürfte run-on-behalf auch nicht weiterhelfen.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #5 am: 21.07.05 - 07:44:46 »
Was noch interessant wäre, wie soll Refreshed werden?

Automatisch oder per Button?

Selbiges Problem hatte ich nämlich auch und das mit einem Button gelöst, der nur im Lesemodus zu sehen ist mit einer Zeile Formel...

@Command([SwitchForm];"Formname");

Klappt recht gut und erfüllt seinen Zweck.

Gruss

André
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Simon Dotschuweit

  • Junior Mitglied
  • **
  • Beiträge: 61
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #6 am: 22.07.05 - 11:29:13 »
Danke erstmal für die vielen Antworten!

Was noch interessant wäre, wie soll Refreshed werden?

Automatisch oder per Button?

Selbiges Problem hatte ich nämlich auch und das mit einem Button gelöst, der nur im Lesemodus zu sehen ist mit einer Zeile Formel...

@Command([SwitchForm];"Formname");

Klappt recht gut und erfüllt seinen Zweck.

Gruss

André

Ja das is genau das was ich will, jetzt müsste ich nur noch ein LS Äquivalent finden, weil der Refresh soll nach einer Aktion ausgeführt werden, in der ein LS Sub einige Werte des Aktuellen Dokuments im Hintergrund ändert und speichert. Oder kann ich mit LS irgendwie FormelSprache ausführen?

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #7 am: 22.07.05 - 11:52:43 »
Wenn der Benutzer das Recht nicht hat das Dokument zu Bearbeiten, dann wird die Aktion wohl oder übel keine Werte am aktiven Dokument ändern dürfen.

Ein uidoc.reload() nützt dabei wahrscheinlich auch nichts...


[EDIT] Orakel sagt folgendes: LS in Aktion ändern in Agentaufruf in Aktion via @command([RunAgent]);@command([Viewrefreshfields]);
[/EDIT]

gruss
umi
« Letzte Änderung: 22.07.05 - 11:58:48 von umi »
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Glombi

  • Gast
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #8 am: 22.07.05 - 12:00:19 »
Warum schliesst Du das Dokument nicht und öffnest es anhand der UNID erneut, nachdem im Backend die Felder geändert wurden?

Andreas

Offline Simon Dotschuweit

  • Junior Mitglied
  • **
  • Beiträge: 61
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #9 am: 22.07.05 - 12:58:52 »
Warum schliesst Du das Dokument nicht und öffnest es anhand der UNID erneut, nachdem im Backend die Felder geändert wurden?

Andreas

Hm ich hab mal folgendes versucht:

Code
		Dim uidoc As NotesUIDocument
		Dim doc As NotesDocument
		Dim key As String
		
		Set uidoc = g_myWorkSpace.WorkSpace.CurrentDocument 
		
		key = Me.Document.DocumentID(0)
		
		Call uidoc.close()
		
		Set doc = g_mySession.CurrentDatabase.GetDocumentByUNID(key)
		
		Call g_myWorkSpace.WorkSpace.EditDocument(False, doc)

Das schließt zwar das document und öffnent es gleich wieder, aber zeigt immer noch die alten werte an, wenn ich editdocument mit true statt false aufruf, dann funktionierts, aber das ist ja nicht der sinn der sache. Hast du da vieleicht eine Idee, woran es liegen könnte?

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #10 am: 22.07.05 - 18:40:40 »
Bist du *sicher*, dass die neuen Werte tatsächlich in das Backend-Dokument gespeichert worden sind. Ansonsten liesse es sich noch mit Nebenwirkungen von Caching erklären. Kann ich mir aber gefühlsmässig nicht vorstellen.

Gruß Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument Refresh OHNE Bearbeitungsmodus
« Antwort #11 am: 23.07.05 - 01:43:10 »
(Weil der Nutzer nicht das recht hat, das Dokument zu bearbeiten) ?

Könnten wir uns vielleicht erstmal dieser Aussage zuwenden (wie das umi schon tat) ? Ohne Änderungsberechtigung ist hier doch sowieso Ende Gelände ! Und sollte der User doch ändern dürfen, aber eigentlich doch nicht, gehört das Konzept auf den Seziertisch, weil dann dort irgendwas oberfaul ist.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz