Autor Thema: Felder vergleichen  (Gelesen 1950 mal)

Offline pl001

  • Aktives Mitglied
  • ***
  • Beiträge: 170
Felder vergleichen
« am: 10.03.05 - 09:52:44 »
Hallo,

ich stehe vor folgender Problemstellung. Ich habe in einer Maske ein Namensfeld mit einem oder mehreren Werten (Personen aus dem Verzeichnis).

Nun möchte ich über LotusScript steuern, dass nur die in dem Feld eingetragenen Personen das Dokument bearbeiten können.

Bisher habe ich folgenden Lösungsansatz. Hier besteht nur ein Problem, wenn das Feld DocVisibly mehrere Einträge enthält und Nutzer nicht an erster Stelle in der Liste steht funktioniert.

Postopen
Code
Sub Postopen (Source As Notesuidocument)
	Dim session As New NotesSession
	Dim doc As NotesDocument
	Set doc = Source.Document
	
	If (Source.EditMode = True And (Instr(Doc.DocVisibly(0), session.Username) = 0)) Then
		Source.EditMode = False 'This triggers the QueryModeChange event !
	End If
	
End Sub

Querymodechange
Code
Sub Querymodechange (Source As Notesuidocument, Continue As Variant)
	Dim session As New NotesSession
	Dim doc As NotesDocument
	Set doc = Source.Document
	
	If (Instr(Doc.DocVisibly(0), session.Username) = 0) Then
		Messagebox "Sie können dieses Dokument nicht bearbeiten", MB_ICONEXCLAMATION, "Achtung!"
		If Source.EditMode = False Then
			Continue = False
		End If     
	End If     
	
End Sub

Wie müsste der Vergleich des Aussehen, so dass es keine Rolle spielt, an welcher Stelle der Liste sich der Nutzer befindet.

Viele Dank
und viele Grüsse

Peter

Driri

  • Gast
Re: Felder vergleichen
« Antwort #1 am: 10.03.05 - 10:00:35 »
Verstehe ich nicht. Was spricht gegen die Verwendung von Autorenfeldern ? Oder sind in der Applikation höhere Rechte als Autorenrechte erforderlich ?

Offline pl001

  • Aktives Mitglied
  • ***
  • Beiträge: 170
Re: Felder vergleichen
« Antwort #2 am: 10.03.05 - 10:18:00 »
Es geht darum, nur einzelne Dokumente zur Bearbeitung zu sperren. Der Autor soll natürlich auch ausgeschlossen werden können.

Wie kann man also prüfen, ob der Username im Feld 'DocVisibly' vorhanden ist?

Gruß
Peter

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Felder vergleichen
« Antwort #3 am: 10.03.05 - 10:23:57 »
Forall strU in doc.DocVisibily
   if LCase( cstr( strU ) ) = LCase( session.UserName ) Then
        intOK = True
        Exit Forall
   end if

end Forall

if intOK Then
   ......
End if


... Aber warum Arbeitest Du nicht mit Rollen und Autorenfeldern.
Das macht die Sache doch leichter pflegbar etc.  ???

Dirk
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Driri

  • Gast
Re: Felder vergleichen
« Antwort #4 am: 10.03.05 - 10:29:37 »
Zitat
Es geht darum, nur einzelne Dokumente zur Bearbeitung zu sperren. Der Autor soll natürlich auch ausgeschlossen werden können.

Das beantwortet nicht meine Frage. Genau das wäre doch mit Autorenfeldern möglich. Den Ursprnugsautor eines Dokumentes kann ich doch genauso aus einem Autorenfeld entfernen, wie ich zusätzliche oder neue Bearbeiter hinzufügen kann.

Offline pl001

  • Aktives Mitglied
  • ***
  • Beiträge: 170
Re: Felder vergleichen
« Antwort #5 am: 10.03.05 - 12:50:01 »
@dirk_2909

Habe es getestet, funktioniert aber leider nicht.


Gruß
Peter

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Felder vergleichen
« Antwort #6 am: 10.03.05 - 13:01:42 »
Hi,

jetzt muss ich doch aber auch mal fragen:

Warum verbiegst du dir die Finger, wenn es mit Autorenfeldern wesentlich einfacher und sicherer geht.

Was spricht denn dagegen?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Felder vergleichen
« Antwort #7 am: 10.03.05 - 13:08:23 »
Ich bin auch für Autorenfelder  :)

Arbeite doch mit Rollen UND Namen!

ZU dem Script: Was für Werte sind denn in docVisibility gespeichert?
Ist dort der Username in Abbreviate oder Cannonicial gespeicher ?

Du musst mit den entsprechenden Werten ( session.???? ) vergleichen.

Dirk
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz