Domino 9 und frühere Versionen > ND6: Entwicklung

Schreibenden Zugriff einschränken auf bestimmte Felder ...

<< < (3/7) > >>

Lossa:
Hi,

wenn es möglich ist den Stil der Felder von Notes auf Betriebssystem zu ändern, dann kannst du den Input Enabled Event benutzen steht dort "0" drin, dann ist das Feld grau und nicht editierbar.
Der Vorteil ist:
1. Du hast nicht die doppelte Anzahl an Feldern
2. Du brauchst dich nicht mit hide-when zu ärgern
3. Es funktioniert ohne Änderung im Web

Axel:

--- Zitat von: Lossa am 09.11.05 - 09:54:31 ---Hi,

wenn es möglich ist den Stil der Felder von Notes auf Betriebssystem zu ändern, dann kannst du den Input Enabled Event benutzen steht dort "0" drin, dann ist das Feld grau und nicht editierbar.
Der Vorteil ist:
1. Du hast nicht die doppelte Anzahl an Feldern
2. Du brauchst dich nicht mit hide-when zu ärgern
3. Es funktioniert ohne Änderung im Web


--- Ende Zitat ---

Yoo, da verlagere ich das Problem aber nur. Der Aufwand bleibt der gleiche. Ich sehe darin keine echte Alternative, die mir echte Vorteile bringt.

Vorteil 1 lasse ich gelten. Bei 2. ärgere ich mich nicht mehr mit Hide-Whens rum, aber dafür mit den Formeln  im Input Enabled - Event. Zu 3. kann ich keine definitive Aussage machen, da mir die Web-Erfahrung fehlt, aber ich denke Hide-Whens funktionieren auch im Web.

Axel

Lossa:
Hallo,

habe auch nicht gesagt das es einfacher ist, aber wenn du schon pkt 1 zustimmst, dann ist es vieleicht trotzdem einfacher, da du ja bei hide-when formeln aufgrund der Anzahl der Felder vielmehr brauchst.
Anonsten würde ich in einem Profildokument die gesperrten Felder für den User auflisten. Dann als erstes Feld in der Maske ein berrechnet zur Anzeige Feld nehmen, das holt alle gesperrten Feldname aus dem Profil und alle Felder haben im Input Event die Abfrage:
@IsNotMember(@ThisName;Sperrfelder) daraus ergbit sich automatisch True wenn nicht drin damit bearbeitbar, false ist drin damit gesperrt.
Das ganze ist mittels Copy-Paste einfach auf alle Felder übertragbar.

Axel:
Hi,

so könnte die Sache durchaus etwas einfacher werden. Vor allem, dass mit dem Profildokument ist gar keine so schlechte Idee.

Aber, wie bei Thomas auch, wäre bei mir die Bearbeitbarkeit der einzelnen Felder von bestimmten Stati des Dokumentes abhängig. Also z.B. Feld1 darf bearbeitet werden, wenn das Dokument den Status Offen hat, Feld 1 und 2 dürfen nur im Status "In Bearbeitung" editiert werden usw. Und bei sowas wird's dann wieder aufwändig, weil ich dann fast jeden Event einzeln anpacken muss.

Axel

Thomas Schulte:
Ok so könnte es funktionieren.

Ich hab ein Feld das Berechnet zur Anzeige ist. In diesem Feld stehen entweder werte drin oder nicht. Stehen keine Werte drin sind alle Felder ansprechbar die nicht anderweitig geschützt sind. Wenn Werte drinstehen (Feldnamen) dann sind diese Feldnamen diejenigen die für den Benutzer aktuell zur Verfügung stehen. Wenn jetzt ein Feld angesprochen wird, dann wird im OnFocus Event überprüft ob dieses Feld in derListe steht steht es in der liste ist alles in Ordnung. Steht es nicht in der Liste dann wird der Benutzer auf das erste Feld in der Liste umgeleitet. Das Ganze mit "gemeinsamen Java Script" und dann sollte das sowohl im Notes Client als auch im Web funktionieren.

So jetzt brauch ich nur noch eine Routine die
Den Inhalt des Feldes in dem die Werte stehen ausliest, vergleicht ob sein Name in diesem Eintrag vorhanden ist und wenn der eigene Name da nicht enthalten ist und Werte in der Liste stehen den Focus auf das Feld setzt das dem ersten Element der Liste entspricht oder noch besser dem Benutzer eine Auswahl der Felder anbietet die er bearbeiten darf und erst nach dieser Auswahl den Focus entsprechend setzt.

Hat da jemand schon mal was in die Richtung geschrieben. Ihr wisst schon klauen ist besser als selber schreiben  :)

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln