Domino 9 und frühere Versionen > ND8: Entwicklung
Problem beim Speichern einer Dialogbox
iukhdh:
Hallo Leute,
ich habe folgendes Problem:
Ein Anwender erstellt eine Serviceanfrage. Nach dem Speichern wird ihm das Autorenrecht genommen, er hat dann nur noch Leserecht.
In der Maske ist ein Button, der eine Dialogbox öffnet, in deren Maske er weitere Anfragen erstellen kann. In dieser Benachrichtigungsmaske hat er volles Autorenrecht. Die Benachrichtigungsmaske wird im Script definiert, siehe unten.
Nun bekommen wir immer eine Fehlermeldung wegen fehlender Berechtigung, wenn er die Benachrichtigungsmaske mit OK beendet.
Wird bei dieser Aktion versucht etwas an die Ursprungsmaske übergeben, bei der er ja kein Leserecht hat? Die Benachrichtigungsmaske wird jedefalls auch nicht gespeichert.
Ich steh grad aufm Schlauch und wäre um eine kurze Unterstützung dankbar
Danke, Thomas.
:-:
--- Code: ---'Nachricht senden
Sub Click(Source As Button)
Dim nuiw As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = nuiw.CurrentDocument
'Neues Document im Backend anlegen
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dlgdoc As NotesDocument
Set db= session.CurrentDatabase
Set dlgdoc = New NotesDocument(db)
'Felder vom neuen Dokument füllen
dlgdoc.Form = "Benachrichtigungsmaske"
dlgdoc.Servicenummer = uidoc.FieldGetText("Servicenummer")
dlgdoc.Anfragender = uidoc.FieldGetText("Anfragender")
dlgdoc.Erstellungsdatum = uidoc.FieldGetText("Erstellungsdatum")
dlgdoc.HDokumentID = uidoc.FieldGetText("HDokumentID")
dlgdoc.Bearbeiter = uidoc.FieldGetText("Bearbeiter")
'Benachrichtigungsmaske in Dialogbox öffnen
Dim ws As New notesuiworkspace
If ws.DialogBox ("Benachrichtigungsmaske", True, False, False, False, False, False, "Benachrichtigungstext", dlgdoc,True) Then
************************ hier kommt dann ein Berechtigungs-Fehler ***********************
Call dlgdoc.save (True, False)
End If
End Sub
--- Ende Code ---
thomasP:
Hallo
ohne zu wissen, wie die Dialogbox aussieht ,versuche mal folgendes
dim item as notesItem
set item=dlgdoc.getItem("Bearbeiter") ' evt noch auf nothing prüfen
item.isAuthor=true
=> Dialogbox aufrufen
(
ein Autor muss auch in einem Author-Feld ( als Person,Rolle,Gruppe) aufgeführt werden.
Das Feld 'Bearbeiter' ist aber erst mal ein normales Text-Feld.
)
ascabg:
@thomasP
Aber Thomas (iukhdh) schrieb doch, dass die User auf dem Dokument der Service-Anfrage keine Autorenrechte mehr haben, wenn es gespeichert wurde.
Das Problem hat er doch beim Speichern des Dialoges, den er mit Daten aus dem Service-Dokument befuellt.
Andreas
@iukhdh
Frage ins Blaue.
Ist Deine Maske der Dialogbox eventuell eine Antwortmaske?
iukhdh:
@thomasP
(witzig, ich bin auch ein thomasP ... :) )
Das Feld Bearbeiter ist kein Autorenfeld. In der Dialogmaske sind Autorenfelder die per Rollen belegt sind, Ebenso in der Ausgangsmaske:
Wenn ich mit der Rolle Admin das ganze teste, dann hab ich in der Ausgangsmaske und in der Dialogmaske Autorenrechte, dann klappts.
Die User sollen aber in der Ausgangsmaske nur noch Leserecht haben, und dann klappts nicht mehr.
Was mich halt wundert ist die Tatsache, dass da (so meine Vermutung) an die Ausgangsmaske, da wo der Button ist, was von der Dialogmaske zurückgegeben wird und dort gespeichert werden soll.
Nun ist dies ja wohl der Ursprüngliche Sinn so einer Dialogmaske, aber m.E. hab ich im Code doch definiert dass sich die Dialogbox auf das neu angelegte Dokument dlgdoc beziehen soll.
@ Ascabg
Spontan würd ich so von zuhause sagen dass die Dialogboxmaske keine Antwortmaske ist, aber 100% kann ich es aus der Ferne grad nicht sagen, womöglich ist das was ungewollt angeklickt. Aber warum diese Frage?
Ciao
Thomas
ascabg:
Na weil ein Antwortdokument eine Referenz auf sich in das Haupt-Dokument zuruecksschreiben will, damit dieses auch weis, dass diese Antwort zu ihm gehoert.
Wrong way.
Andreas
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln