Domino 9 und frühere Versionen > ND6: Entwicklung

LotusScript: Sie sind zur Durchführung dieser Operation nicht berechtigt

(1/5) > >>

Teamplay:
Hallo,

wenn ein Benutzer (mit Rolle "User") versucht den Button mit dem u.g. Code zu betätigen, kommt die o.g. Fehlermeldung.

Bei einem Supporter (mit Rolle "Helpdesk") funktioniert alles einwandfrei.

Wo könnte das Problem liegen? Wo wird die Rolle überprüft?

(Ubrigens, bei der Button-Variante mit der Formel-Sprache - siehe ganz unten - funktioniert alles.)

Danke im Voraus!

Gruß
Leo
------------------------

Sub Click(Source As Button)
   Dim ws As New notesuiworkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim UIDoc As notesuidocument  'Aktuelles Dokument im Frontend
   Dim doc As notesdocument   'Aktuelles Dokument im Backend
   Dim TicketNr, UserTech, Subject, UserReg, Priority As String
   
   Set UIdoc=ws.CurrentDocument
   Call uidoc.Save
   Set doc=uidoc.Document
   Set db= session.CurrentDatabase
   Set Message=New NotesDocument(db)    'Mail erstellen
   Set rtitem = New NotesRichTextItem( Message, "Body" )
   
   TicketNr=uidoc.FieldGetText("RequestNumber")
   UserTech=uidoc.FieldGetText("User_Tech")
   Subject=uidoc.FieldGetText("Subject")
   UserReg=uidoc.FieldGetText("User_Req")
   Priority=uidoc.FieldGetText("Priority")
   
   Message.Form="Memo"
   Message.Principal="ServiceDesk/Domain"
   
' erstellt das erste Mail an den Ticket Ersteller
   If doc.warn_usr_req(0)="Y" Then
      Message.SendTo=UserReg   
      Message.Subject = "Ticket: " & TicketNr & "erstellt (Prio:" & Priority & ") für " & UserReg
      Call rtitem.AppendText( "Ihre Anforderung wurde zugewiesen an: "  & UserTech)
      Call rtitem.AddNewLine( 1 )
      Call rtitem.AppendText("Die Ticket-Nummer lautet: " & TicketNr)
      Call rtitem.AddNewLine( 1 )
      Call rtitem.AppendText("Thema: " & Subject)
      Call rtitem.AddNewLine( 1 )
      Call rtitem.AppendText("Link zum Ticket --> ")
      Call rtitem.AppendDocLink( doc, "" )
      Call Message.Send( False )
   End If
   
   If doc.warn_usr_tech(0)="Y" Then
   ' erstellt das zweite Mail an den Zuständigen
      Message.body=""
      Set rtitem = New NotesRichTextItem( Message, "Body" )
      Message.SendTo=UserTech   
      Message.Subject = "Ticket: " & TicketNr & " - neu! (Prio: " & Priority & ") für " & UserReg
      Call rtitem.AppendText( "Anforderung für: "  & UserTech)
      Call rtitem.AddNewLine( 1 )
      Call rtitem.AppendText("Thema: " & Subject)
      Call rtitem.AddNewLine( 1 )
      Call rtitem.AppendText("Link zum Ticket --> ")
      Call rtitem.AppendDocLink( doc, "" )
      Call Message.Send( False )   
   End If
   
   'Messagebox "Mails wurde verschickt"   
   Call uidoc.Close
End Sub


----------------------------------------------------------------
ABER DIES FUNKIONIERT(!):

D_Priority := @If(Priority ="1"; "niedrige Prio" ; Priority ="2"; "normale Prio" ; Priority="3"; "hohe Prio" ; Priority="4"; "Notfal!" ; Priority="5"; "Katastrophe!!!" ; "");

@If( @Command([FileSave]); "";@Return(""));

@If(Warn_Usr_Tech = "Y" ;
     @MailSend (User_Tech; ""; ""; "Ticket:  "+ @Text(Nb_Req) +" - neu! (" +D_Priority+") für " + @Name([CN];User_Req); "";
    "Anforderung für : " + @Name([CN];User_Req) +@NewLine+ "Thema : " + Description  + @NewLine + "Bitte anklicken -> "; [ReturnReceipt]:[IncludeDoclink]);"");

User_Assigned := @Implode(User_Tech; " and ");

@If( Warn_Usr_Req = "Y"  ; @MailSend (User_Req; ""; ""; "Ticket:  "+ @Text(Nb_Req) +" erstellt (" +D_Priority+") für " + @Name([CN];User_Req); "";
"Ihre Anforderung wurde zugewiesen : "+ @Name([CN];User_Assigned) + "." + @NewLine  +
"Die Ticket-Nummer lautet : "+ @Text(Nb_Req)  +@NewLine+ "Thema : " + Description  + @NewLine + "Link zum Ticket  --> "; [ReturnReceipt]:[IncludeDoclink] ) ;"");
@PostedCommand([FileCloseWindow])

TMC:

--- Zitat von: Leo am 09.06.04 - 15:37:22 ---Wo könnte das Problem liegen? Wo wird die Rolle überprüft?
--- Ende Zitat ---

Habe mir jetzt den Code nicht näher angesehen, aber Gegenfrage: Was sagt der Debugger?

eknori (retired):

--- Zitat ---Ubrigens, bei der Button-Variante mit der Formel-Sprache - siehe ganz unten - funktioniert alles
--- Ende Zitat ---

na ja, möglicherweise hat der "User" nicht die erforderlichen Zugriffsrechte; solltest du als der Entwickler der Helpdesklösung eigentlich schon auseinanderhalten können.
Ist das Dokument den n überhaupt im Edit Mode ?? FieldGetText ??, da war doch mal was mit Backend und Frontend und Westend oder so ??

!!!!! LEO, ...... vertraue der MACHT .........  lerne sie zu kontrollieren .... !!! wurd ewohl mein alder Weggefährte Dark Coder sagen  ;D

Ulrich

P.S. Hätteste mir das Teil mal zugeschickt; per Mail ( wie von dir angekündigt)

animate:
sag halt wenigstens, in welcher Zeile der Fehler kommt.
Du wirst kaum gute Hilfe bekommen können, wenn du hier 50 Zeilen unkommentierten Code hinklatschtst. Also zumindest ich habe keine Lust dazu, mich da erstmal einzulesen und Stellen zu suchen, an denen es knallen könnte. Ich denke, einigen anderen gehts genauso ;)

Axel:
Hi,

ohne mir den Code genauer angesehen zu haben, würde ich, genau wie eknori vermuten, dass das ein Rechteproblem ist. Was hat denn der User mit der Rolle User für Rechte. Gibt es im Dokument ein Autorenfeld und steht da die Rolle drin.

Ich glaube nicht dass es am Script liegt. Aber trotzdem, lass mal den Entwanzer dran und schau wo er sich verabschiedet. Lass uns das Ergebnis wissen. Dann können wir leichter helfen.

Übrigens:   ??? ???
Ich habe gesehen, dass du in der Button - Variante mit Formeln auch Script-Anweisungen hast. Ist das ein neues Feature von R6?


Axel

 

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln