Autor Thema: Dokument nur über Button editierbar machen  (Gelesen 6490 mal)

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Dokument nur über Button editierbar machen
« am: 03.05.11 - 15:18:59 »
Hallo,

gibt es einen Trick, wie ich ein Dokument für alle User nur über Bottons editierbar mache ?
Mir fällt gerade keiin sinnvoller und funktionsfähiger Abfangwert für die Querymodechange ein.

Gruß
Chris

Erledigt
« Letzte Änderung: 19.05.11 - 16:16:26 von Klafu »
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument nur über Button editierbar machen
« Antwort #1 am: 03.05.11 - 15:22:04 »
Setz in Deinem Button ein Item - das Vorhandensein des Items kannst Du dann testen. Und Achtung: Das QueryModeChange allein reicht *nicht* aus, um das Öffnen eines Dokuments im EditMode zu verhindern!

Bernhard

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dokument nur über Button editierbar machen
« Antwort #2 am: 03.05.11 - 21:14:33 »
Hallo Bernhard,
meinst du, dass ich über den Button im Dok ein NotesItem erzeugen soll, dessen wert ich dann wieder über dok.GetItemValue im QueryModeChange prüfen kann ?

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument nur über Button editierbar machen
« Antwort #3 am: 03.05.11 - 22:22:19 »
Als eine Möglichkeit: Ja. Aber vergiss das endlich mit dem QueryModeChange - das alleine reicht nicht! Siehe hierzu auch unser Back Practice - ich hatte dazu mal was aufgeschrieben.

Bernhard

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dokument nur über Button editierbar machen
« Antwort #4 am: 04.05.11 - 00:58:15 »
Danke für den Hinweis, Bernhard! Ich werde das beachten!
Und wenn das mit den Items so geht, wie ich mir das grad vorstelle, dann wird das morgen sicher klappen.
Ansonsten muss ich mir eine andere Bedingung für die Abfragen einfallen lassen.  :)

Merci!
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dokument nur über Button editierbar machen
« Antwort #5 am: 04.05.11 - 15:28:36 »
Also, vielen Dank, Bernhard!
Damit klappt es super.

Ich hänge jetzt an ein einem kleinen Problem.

Aktuell läuft es so ab:

Funktion Button
Zitat
Item wird erstellt, Itemwert wird gesetzt, EditMode = True gesetzt
Funktion QueryModeChange
Zitat
Prüft Itemwert, Editmodus aktiviert
Funktion Teilmaske
Zitat
Änderungen vornehmen
Danach kommt wieder der Button drann
Funktion Button
Zitat
Item gelöscht, Dokument gespeichert und Editmodus geschlossen


bis zum Ändern komm ich. Nur der Schluss im Button läuft gerade nicht richtig
Code
Call Item.Remove
Call doc.Save( False, True )
uidoc.EditMode = False
Wenn ich das grad so mach, dann bleibt er aber im Edit Modus und speichert nicht.

Code
uidoc.EditMode = False
Call Item.Remove
Call doc.Save( False, True )
Wenn ich so mach bringt er die Notes-Speichermeldung, aber beendet dann den Edit Modus.

Der erste Code sieht für mich zumindest von der Reihenfolge her richtig aus. Was überseh ich grade ?

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument nur über Button editierbar machen
« Antwort #6 am: 04.05.11 - 15:34:43 »
Warum machst Du im Button kein NotesUIDocument.Save + NotesUIDocument.Close?

Weiters: Dein Prüf-Item kannst Du auch mit PostOpen bereits "removen", wenn EditMode = True.

Was passiert, wenn Du in der Ansicht ein Strg-B (im deutschen Client, Ctrl-E im englischen) drückst? Fängst Du das Verhindern des EditModes da auch ab?

Bernhard

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Dokument nur über Button editierbar machen
« Antwort #7 am: 04.05.11 - 15:45:36 »
Ich verstehe gerade zwar nicht ganz Dein Problem (also wieso Du im Button das Dokument in den Lesemodus setzen willst), aber versuch es doch mal so:

Call Item.Remove
Call doc.Save( False, True )
doc.SaveOptions = "0"
uidoc.EditMode = False
Call doc.RemoveItem ("SaveOptions")

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dokument nur über Button editierbar machen
« Antwort #8 am: 04.05.11 - 16:21:07 »
Danke für eure Antworten.

Mit dem uidoc.save bekomm ich grad keine Speichermeldung. Danke  :)
Der EditMode bleibt aber auch noch offen. Nur wenn ich den Button im Debugger durchlaufe, dann klappts.  :-:

@Peter
Das Dokument soll nur im Sonderfall bearbeitbar sein und dann nur über den Button (Aufruf der Dialogbox mit Teilmaske) um die Wichtigkeit der Felder hervorzuheben und versehentliche Änderungen zu vermeiden.

@Bernhard
Du hast recht! Aus einer Ansicht herraus, kann man die Dokumente bearbeiten.
Aber dass kann ich sicher über das QueryOpen abfangen, wenn es notwendig ist.

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument nur über Button editierbar machen
« Antwort #9 am: 04.05.11 - 16:34:39 »
Chris, Du hast meinen BP-Artikel nicht gelesen  ;)

Bernhard

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dokument nur über Button editierbar machen
« Antwort #10 am: 04.05.11 - 17:04:57 »
Oh man. Doch klar hab ich den gelesen ;D
Nur ists bei mir so, wenn ich lang genug versuche ein Problem zu lösen, dann kommt irgendwann der Punkt andem ich nur noch das Problem seh und es lösen will. Wie Ideal dann die Lösungen sind, oder was die Lösungen für Komplikationen auslösen, merk ich meist erst danach :(
Und bisher war eben das QueryOpen dafür da, um 'ungewüschte' Sachen/Optionen vor dem eigentlichen darstellen der Dokumente, zu beheben  ::)

Mal sehn, ob ich morgen wieder einen klaren Kopf hab   ;D

Danke nochmal!
Gruß Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument nur über Button editierbar machen
« Antwort #11 am: 04.05.11 - 20:47:10 »
Chris, zum handwerklichen Können kommt nach und nach auch der Erfahrungsschatz und der grössere Überblick. Bei weitem nicht bei allen Leuten, aber Dir traue ich das zu. Und selbst verursachte Komplikationen gehören auf diesem Weg einfach dazu.

Ich habe aber noch eine andere Frage: Was ist so aufregendes in Deinem Buhtong, was Du nicht auch in eines der Öffnen-Events packen könntest?

Bernhard

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dokument nur über Button editierbar machen
« Antwort #12 am: 04.05.11 - 22:20:09 »
Danke für die Ermutigung!  :)

An dem Button ist nichts aufregend. Ich hab hier im Forum mal einen sehr guten Satz von einem weisen Moderator gelesen, an den ich mich gerade jetzt bei einem etwas größeren Projekt, versuche zu halte.
Ich kann ihn leider nicht mehr zitieren, aber noch grob wiedergeben:
Ich hab lieber etwas mehr Aufwand bei der entwicklung einer Datenbank als nachher bei der Administration der Datenbank.
Also, eine Datenbank soll von deren Nutzern selbst administriert werden können.
Vielleicht kommt dir die Aussage bekannt vor  ;)

Der Button ist in meiner Maske für die "Basis-Dokumente", die die Grunlage der DB bilden. Zu den "Basis-Dokumente" werden dann noch Antwortdokumente angehängt. Und damit diese "Basis-Dokumente" nicht einfach editiert werden und Sachen geändert oder ergänzt(was aber gemacht werden kann/muss/soll), will ich es über den Button als extra Workflow haben.
Dadurch verspreche ich mir einfach eine gewisse Sicherheit, dass da nicht ausversehen was geändert wird- man kennt das ja.
Wenn der User jetzt was ändern will, dann muss er den Button drücken, er muss die Sicherheitsabfrage bestätigen, er muss auswählen, was er ändern will und dann die Änderung nochmal bestätigen.
Obendrein wird es auch noch in einer Historie vermerkt.

Jetzt beim schreiben kommt es mir zwar auch irgendwie übertrieben vor, aber wie gesagt. Lieber jetzt mehr Aufwand und dafür nachher weniger Ärger  ;)

Gruß Chris
« Letzte Änderung: 05.05.11 - 09:11:43 von Klafu »
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Dokument nur über Button editierbar machen
« Antwort #13 am: 05.05.11 - 07:32:50 »
Wie wäre es denn, wenn Du solche Änderungen über eine Dialogbox durchführst?

Deine Basisdokumente sind nach Erstellung generell nicht mehr bearbeitbar.
Änderung erfolgt mittels Schaltfläche, Abfrage, wie Du beschrieben hast.
In der Dialogbox werden die neuen Werte eingegeben.
Nach Bestätigung werden die neuen Werte in das Basisdokument geschrieben und die Historie verwaltet.

Ist nur eine Idee ...

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dokument nur über Button editierbar machen
« Antwort #14 am: 05.05.11 - 09:51:59 »
Guten Morgen Peter,

wie genau würdest du da vor gehn ?
Mein Button setzt das Basisdokument auf editierbar und ruft dann gleich eine Dialogbox mit Teilmaske auf.
Dann werden die Änderungen in das Basisdokument geschrieben, das Dokument gespeichert und der Edit Modus beendet.
Zumindest sollte es das. Der Edit Modus bleibt grad leider noch offen. Im Debugger klappt es aber.

Was würdets du anders machen ? :)
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

BigWim

  • Gast
Re: Dokument nur über Button editierbar machen
« Antwort #15 am: 05.05.11 - 09:54:53 »
Zitat
Ist nur eine Idee ...

Dann könnte ich auch noch eine dazusteuern.
Ich halte das bei solchen "Anforderungen" so, dass ich grundsätzlich SaveOptions auf 0 setzen und im Button vor dem Speichern auf 1 setze.

Den Button zeige ich auch nur unter bestimmten Bedingungen / Rollen an.

Markus

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Dokument nur über Button editierbar machen
« Antwort #16 am: 05.05.11 - 10:37:20 »
Um die Frage mit der Dialogbox zu beantworten:

Ich erstelle (mit Script, nicht über Formel machbar) ein temporäres Dokument, kopiere alle relevanten Informationen des Basisdokuments hinein und öffne das temporäre Dokument über eine Dialogbox (workspace.Dialogbox (...., dialogdoc)). Am Ende übernehme ich die Daten aus dem temporären dialogdoc in das Basisdokument und speichere dieses.

EDIT: Das Basisdokument würde dabei nie in den Editmodus gelangen.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument nur über Button editierbar machen
« Antwort #17 am: 05.05.11 - 10:50:51 »
Das Dokument für die Dialogbox (idealerweise ein Person Profiledocument) könnte man nach der Aktion auch dem Server zu fressen geben, damit er das verarbeitet. Damit bräuchte der User keinen Autorenzugriff auf das eigentliche Dokument mehr.

Bernhard

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dokument nur über Button editierbar machen
« Antwort #18 am: 19.05.11 - 16:15:42 »
Also, vielen Dank euch allen für eure Antworten.
Ich bin jetzt heut wieder dazu gekommen und wenn man uidoc.Save und doc.Save aufruft, läuft alles wunderbar.
Genau so wie mit dem Items - wobei ich denen noch nicht ganz vertrau weil ich da noch unsicher bin. Aber das kommt mit der Zeit  ;D

Danke!

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dokument nur über Button editierbar machen
« Antwort #19 am: 21.10.11 - 12:48:23 »
Hallo,  :)

ich mal wieder mit einer kleinen Frage am Rande:
Wenn man das ganze über die BP von Bernhard löst - sprich bearbeiten nur wenn ein Item vorhanden ist - dann klappt alles soweit so gut.
Wenn ich nun alle Dokumente (DocCollection) aber noch einmal prüfen will und einen Status setzten möchte (via Agent) dann geht das logischerweise nicht.

Ist das Bearbeiten denn mit einem Agent überhaupt noch möglich?
Ich möchte da nicht für jedes Dok ein Item erstellen und wieder löschen müssen.
Kann ich ein, auf den Agenten angepasstes Kriterium (if ...)  in das Querymodchange einbauen? Gibts sowas?

Das sind die zwei naheliegendsten und ordentlichsten Ideen die ich hab.
Ansonsten werd ich die Prüfroutine allgemein anpassen müssen

Grüße Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz