Autor Thema: Querymodechange umgehen  (Gelesen 1316 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Querymodechange umgehen
« am: 12.09.03 - 20:03:04 »
n'Abend,

gibt es eine Möglichkeit, das Querymodechange zu umgehen per Script/Formel?

Ich hätte nämlich gerne einen versteckten, nur für bestimmte User zugänglichen, Button, mit dem man das Doc bearbeiten darf.
Im Queryopen hab ich das Doc auch gesperrt...

OK, ich wüsste schon was:
 - Im Querymodechange die Abfrage auf Feld XY, wenn = 1, dann Doc öffnen
 - Bei Button-Klick (Kurzform, Doc muss natürlich geschlossen, wieder geöffnet etc. werden)
    * ins UIDoc im Feld XY eine 1 schreiben
    * Doc im Editmode(True) öffnen

Gibts was einfacheres oder muss ich das so machen?

TMC
« Letzte Änderung: 12.09.03 - 20:03:46 von TMC »
Matthias

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


Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Querymodechange umgehen
« Antwort #1 am: 12.09.03 - 20:08:05 »
... ja, das wäre der Weg...

ata
Grüßle Toni :)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Querymodechange umgehen
« Antwort #2 am: 12.09.03 - 20:10:39 »
OK, danke, wollte nur sichergehen, dass es nicht doch was einfacheres gibt  :)

bye,
TMC
Matthias

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


Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Querymodechange umgehen
« Antwort #3 am: 12.09.03 - 20:11:43 »
... leider nicht - wäre mir zumindest nicht bekannt...

ata
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Querymodechange umgehen
« Antwort #4 am: 13.09.03 - 14:20:07 »
Ich hoffe, ich habe Deine Frage nicht mißverstanden ... Dir geht es doch darum, daß nur bestimmte User ein Dokument bearbeiten dürfen - alle anderen dürfen dies nur im Lesemodus öffnen, oder ?

Dann kannst Du doch in PostOpen und in QueryModeChange der Maske zum Beispiel auf eine Rolle prüfen, und entsprechend des Ergebnisses EditMode auf false setzen. Den Edit-Button zeigst Du auch entsprechend der Role an.
Achtung dabei auf das Zusammenspiel von PostOpen und Wechsel des EditModes (im Script) - dies triggert dann QueryModeChange, wo dann auch die Fehlermeldung stehen sollte (falls sowas wie "Hehe, dös darfst' aber net !" gewünscht ist).

Auf diese Art und Weise brauchst Du nicht mit zusätzlichen Feldern zu hantieren.

Falls ich keinem Mißverständnis aufgesessen bin: Wenn Du weitere Fragen hast, sag' kurz an.

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Querymodechange umgehen
« Antwort #5 am: 13.09.03 - 14:27:26 »
Hi Bernhard,

ich will wirklich alle aussperren (also auch z.B. mich :-)

Das Dok darf dann nur wie angegeben über einen Button bearbeitet werden.

Der Button wiederum hat eine Hide-When-Formel; dieser Button wird nur angezeigt, wenn im Profildokument ein Feld ein bestimmtes Merkmal hat.

Hört sich jetzt vielleicht umständlich an, aber das ist Teil einer Anforderung.
Das ganze muss ich natürlich noch dokumentieren, sonst blickt ggf. ein Kollege in 2 Jahren überhaupt nicht mehr durch :-)

Grüße an den "Zuagroasten" Bayern  :)

TMC
Matthias

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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Querymodechange umgehen
« Antwort #6 am: 13.09.03 - 14:43:18 »
Mein Vorschlag mit den Rollen war nur ein Beispiel. Du kannst natürlich genauso gut einen Wert aus einem ProfileDoc ziehen oder oder oder ...

Du kannst also den gleichen Algorithmus, den Du für Deinen Buhtong einsetzt, auch in PostOpen und QueryModeChange einsetzen. Ist die geforderte Bedingung nicht gegeben, setzt Du EditMode auf False.

Beste Grüsse retour vom
Zuagroasten ;-)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Querymodechange umgehen
« Antwort #7 am: 13.09.03 - 16:29:21 »
Hi Bernhard,

Dein Tipp in Ehren, aber ein Button alleine wird hier bevorzugt. (es gibt noch weitere Buttons, die sich auf's selbe HideWhen beziehen...... - das jetzt zu erläutern würde glaub ich den Rahmen sprengen.).

Hier jedenfalls mein Reopen-Script im Button:
Zitat
Sub Click(Source As Button)
'#####################################################   
'Script ist nötig, weil in Querymodechange und Queryopen
'per Default das Dokument nicht in Edit-Modus gesetzt werden darf.   
'Daher muss Feld querymodechange gesetzt werden,
'dann Doc geschlossen und wieder geöffnet, damit die
'Querymodechange-Abfrage greift
'#####################################################
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument    
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim unid As String
   
   Set db = session.CurrentDatabase
   Set uidoc = uiws.CurrentDocument
   Set doc = uidoc.Document
'************ STEP 1: Feld setzen und Doc schließen ***************
   'Setze UNID-Variable
   unid = doc.UniversalID
   'Setze Feld
   doc.querymodechange= "EditErlaubt"   
   'Speichere Doc   
   Call doc.save(False, False)   
   'Schließe UIDOC
   Call uidoc.close
   
   '************ STEP 2: Doc wieder herholen und im Editmode öffnen ***************
   Set doc = db.GetDocumentByUNID(unid)
   Set uidoc = uiws.EditDocument(True , doc)
   Call uidoc.save
End Sub

Ist zwar nicht die Traum-Lösung, aber funktioniert.
Im Querysave leere ich das Feld Querymodechange wieder. Im Feld Querymodechange (=berechnet beim Anlegen) steht "EditErlaubt". Sonst gibts Probleme beim Erstellen eines neuen Docs.


Nochmal danke an die Helfenden.

TMC
« Letzte Änderung: 13.09.03 - 16:57:23 von TMC »
Matthias

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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Querymodechange umgehen
« Antwort #8 am: 13.09.03 - 20:03:32 »
Du hast natürlich vollkommen recht - es ist keine "Traum-Lösung" ...
Und "ein Button alleine" stimmt ja wohl gar nicht, und unterlaufen kann das ganze auch noch.
Viel Spaß also !

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz