Autor Thema: Rechteproblem mit ViewRebuild und SelectionFormula  (Gelesen 2731 mal)

Offline DannyCrown

  • Junior Mitglied
  • **
  • Beiträge: 93
  • Geschlecht: Männlich
  • Use Kill with care - Designer Hilfe
Hallo Leute,

habe mal wieder ein Problem. Hab auch hier schon viel gesucht, aber nichts passendes gefunden. Es geht sich um folgendes:
Ich habe eine Ansicht und die User, welche nur Editorrechte haben, können mit klick auf einen Button folgenden Quelltext aufrufen.

Code
Sub Click(Source As Button)
%REM	
Diese Funktion öffnet eine Maske um die Auswahlkriterien der Ansicht zu aktualisieren.

veränderte globale Variablen:
	keine
%ENDREM
	Dim session As New NotesSession	
	Dim uiws As New NotesUIWorkspace
	Dim uivw As NotesUIView
	Dim doc As NotesDocument
	Dim vw As NotesView	
	Dim db As NotesDatabase
	Dim varResult As Variant
	
	Set uivw=uiws.CurrentView		
	Set vw=uivw.View
	
	vw.Refresh	
	uiws.ViewRebuild					'Fehler beim ausführen mit Editorrechten
	uiws.ViewRefresh
	
	'Das Profildokument wird geladen, sowie die Maske für die Filterkriterien
	Set db = session.CurrentDatabase
	Set doc = db.GetProfileDocument("frmVorlage")
	
	If vw.EntryCount>0 Then
		varResult = uiws.DialogBox("frmZeitraum",True, True,True,True,False,False,"Bitte geben Sie die Filterkriterien ein:",,True,True)
		
	'Es erfolgt die Überprüfung ob ein Wert gegeben ist
		If varResult Then	
			Dim strTag As String
			Dim strMonat As String
			Dim strJahr As String
			Dim strFormula As String
			
		'Die Auswahlformel wird erstellt und dieser Ansicht zugewiesen. Im Anschluss wird diese neu geladen und die urpsrüngliche Auswahlformel wird eingetragen.
			varResult = doc.GetItemValue("datStart")
			strTag = Mid(Cstr(varResult(0)), 1,2)
			strMonat = Mid(Cstr(varResult(0)), 4,2)
			strJahr = Mid(Cstr(varResult(0)), 7,4)
			
			strFormula = "SELECT Form='frmTicket'" _
			+ " & (@Date(@TextToNumber(@Middle(DocCreateDate;6;4)); @TextToNumber(@Middle(DocCreateDate;3;2)); @TextToNumber(@Middle(DocCreateDate;0;2)))" _
			+ ">=@date(" + strJahr + ";" + strMonat + ";" + strTag + "))"
			
			varResult = doc.GetItemValue("datEnde")
			strTag = Mid(Cstr(varResult(0)), 1,2)
			strMonat = Mid(Cstr(varResult(0)), 4,2)
			strJahr = Mid(Cstr(varResult(0)), 7,4)
			
			strFormula = strFormula + " & (@Date(@TextToNumber(@Middle(DocCreateDate;6;4)); @TextToNumber(@Middle(DocCreateDate;3;2)); @TextToNumber(@Middle(DocCreateDate;0;2)))" _
			+ "<=@date(" + strJahr + ";" + strMonat + ";" + strTag + "))"
			
			Set uivw = uiws.CurrentView		
			Set vw = uivw.View
			
			vw.SelectionFormula = strFormula			'Fehler beim ausführen mit Editorrechten
			vw.Refresh	
			uiws.ViewRebuild								'Fehler beim ausführen mit Editorrechten
			uiws.ViewRefresh
			vw.SelectionFormula = "SELECT Form='frmTicket' & sichtbarkeit='0'"		'Fehler beim ausführen mit Editorrechten
		Else 'Falls der User den Zeitraumdialog abbricht
			vw.SelectionFormula = "SELECT Form='frmTicket' & sichtbarkeit='0'"		'Fehler beim ausführen mit Editorrechten
			vw.Refresh	
			uiws.ViewRebuild								'Fehler beim ausführen mit Editorrechten
			uiws.ViewRefresh
		End If	
	Else
		Messagebox "Es sind keine Datensätze vorhanden!", 0, "Fehler"
	End If
End Sub

Es wird eine neue Form nämlich frmZeitraum geöffnet. Dort gibt es nur 2 Datumsfelder, datStart und datEnde, welche in einfache Felder in der Form frmVorlage gespeichert werden. Das klappt ja auch alles so wie es ist super, aber leider nur mit ManagerRechten. Hab hier auch schon gelesen, dass das ViewRebuild nur von Managern ausgeführt werden kann.
So, nun weiß ich aber leider nicht, wie ich es anders lösen kann. Es wäre sehr nett, wenn ihr mir helfen könntet. Die Stellen, an der der "normale" User Probleme hat hab ich markiert.

MfG Daniel
MfG Daniel O0

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Rechteproblem mit ViewRebuild und SelectionFormula
« Antwort #1 am: 29.05.08 - 10:09:30 »
Die Aufrufe uiws.ViewRefresh und uiws.ViewRebuild sollten aus meiner Sicht gar nicht nötig sein ...

Ansonsten könnte man den Agenten in 2 Agenten trennen:
1. Dialogbox und Schreiben des Profildokuments
2. Setzen der Selectionformel der Ansicht auf Basis des Profildokuments und anschließend Aufruf von View.Refresh

Den 2. Agenten dann aus dem 1. Agenten via RunOnServer aufrufen, dann gibt es keine Probleme bzgl. Berechtigungen, selbst "normale" Anwender (Autoren) können die Funktion dann aufrufen.

Offline DannyCrown

  • Junior Mitglied
  • **
  • Beiträge: 93
  • Geschlecht: Männlich
  • Use Kill with care - Designer Hilfe
Re: Rechteproblem mit ViewRebuild und SelectionFormula
« Antwort #2 am: 29.05.08 - 10:28:32 »
also eigentlich hab ich ja gar keinen Agenten und wollte auch keinen einbauen, da ich keine Ahnung von Agenten habe und Sie auch noch nie benutzt habe.
Aber trotzdem danke!
MfG Daniel O0

Offline DannyCrown

  • Junior Mitglied
  • **
  • Beiträge: 93
  • Geschlecht: Männlich
  • Use Kill with care - Designer Hilfe
Re: Rechteproblem mit ViewRebuild und SelectionFormula
« Antwort #3 am: 30.05.08 - 07:10:44 »
hat da niemand eine andere Idee???
MfG Daniel O0

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Rechteproblem mit ViewRebuild und SelectionFormula
« Antwort #4 am: 30.05.08 - 09:32:44 »
Ich hab nicht alles durchgelesen, aber schau mal hier: http://www.ibm.com/developerworks/lotus/library/ls-LS_views/index.html

Vielleicht hilft's weiter.
Gruß
Johnson

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Rechteproblem mit ViewRebuild und SelectionFormula
« Antwort #5 am: 30.05.08 - 09:36:01 »
Da fällt mir grad ein:
Ist es überhaupt möglich, dass Benutzer ohne Designerrechte die SelectionFormula einer View änderen dürfen?
Vielleicht bei ginge das auch nur bei einer private Ansicht.
Gruß
Johnson

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Rechteproblem mit ViewRebuild und SelectionFormula
« Antwort #6 am: 02.06.08 - 08:14:28 »
Bei dem von mir oben genannten Lösungsansatz sollte das kein Problem sein.

-Werner

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Rechteproblem mit ViewRebuild und SelectionFormula
« Antwort #7 am: 02.06.08 - 08:22:09 »
Zitat
Ist es überhaupt möglich, dass Benutzer ohne Designerrechte die SelectionFormula einer View änderen dürfen?
Vielleicht bei ginge das auch nur bei einer private Ansicht.

Nein, ist nicht möglich. Es sei denn, man macht es so, wie Werner das vorgeschlagen hat.

Habe mal grob drübergeschaut.
Du willst nicht im Ernst jedem User, der Zugriff auf die Datenbank hat, die Möglichkeit geben, die Formel für die Ansichtenauswahl einer allen Usern zugänglichen Ansicht zu ändern?

Das wird mir ja ein schönes Chaos geben.

Unter R4 habe ich immer PutInFolder verwendet, um eine Auswahl von Dokumenten gem. Uservorgaben zu selektieren. Vor den PutInFilder gab es ein RemoveAllFromFolder, um die letzte Selektion wieder zu entfernen. 
« Letzte Änderung: 02.06.08 - 08:23:50 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline DannyCrown

  • Junior Mitglied
  • **
  • Beiträge: 93
  • Geschlecht: Männlich
  • Use Kill with care - Designer Hilfe
Re: Rechteproblem mit ViewRebuild und SelectionFormula
« Antwort #8 am: 02.06.08 - 10:22:57 »
doch, dass hatte ich eigentlich vor. Sind auch nur 2 User, also das wird schon gehen.
Habe bei diesen beiden Usern jetzt bei der Zugriffskontrolle ein Häckchen gesetzt bei "Private Ansichten/Ordner erstellen" gesetzt und jetzt klappts.
Trotzdem nochmal vielen Dank an alle
MfG Daniel O0

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz