Autor Thema: LotusScript: Sie sind zur Durchführung dieser Operation nicht berechtigt  (Gelesen 9503 mal)

Teamplay

  • Gast
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])
« Letzte Änderung: 09.06.04 - 22:25:14 von Leo »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Wo könnte das Problem liegen? Wo wird die Rolle überprüft?

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

A good programmer is someone who looks both ways before crossing a one-way street.


Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Zitat
Ubrigens, bei der Button-Variante mit der Formel-Sprache - siehe ganz unten - funktioniert alles

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)
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
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 ;)
« Letzte Änderung: 09.06.04 - 20:31:18 von Thomas Völk »
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
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

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

Teamplay

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

1. VIELEN DANK an ALLE, die den Code gelesen haben!

2. Sorry, ich hatte meine o.g. Nachricht in Eile geschrieben und die beiden Codes durcheinander kopiert. Ich habe es erst jetz bemerkt und korrigiert.

3. Das Problem habe ich inzwischen gelöst. Nachdem ich eine Ansicht (!!!) für Role "User" freigeschaltet hatte, ging alles prima.

4. Danke auch an ALLE, die beantwortet haben.

Gruß
Leo
« Letzte Änderung: 09.06.04 - 22:48:41 von Leo »

Teamplay

  • Gast
...Gegenfrage: Was sagt der Debugger?
Andere Gegenfrage: wie starte ich ihn?
« Letzte Änderung: 09.06.04 - 22:50:57 von Leo »

Teamplay

  • Gast
....solltest du als der Entwickler der Helpdesklösung eigentlich schon auseinanderhalten können...
ich bin kein echter entwickler, sondern mädchen für alles (notes, windows, pc, netzwerk, hardware, software, drucker etc)

wenn ich wie du 10 jahre nur notes programiert hätte, würde ich auch gerne lachen

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
für den engl. Client kann ichs dir sagen.

Menü File->Tools->Debug Lotus Script

damit kannst du rausfinden, an welcher Stelle deines Scripts der Fehler steckt
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Teamplay

  • Gast
...Du wirst kaum gute Hilfe bekommen können, wenn du hier 50 Zeilen unkommentierten Code hinklatschtst. Also zumindest ich habe keine Lust dazu...

der eine sagt, ich helfe dir erst, wenn du zuerst selbst den code schreibst und hier zeigst

der andere sagt, kein bock deinen code zu lesen, hilft dir hier damit keiner

na so was... ;)

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
...Du wirst kaum gute Hilfe bekommen können, wenn du hier 50 Zeilen unkommentierten Code hinklatschtst. Also zumindest ich habe keine Lust dazu...

der eine sagt, ich helfe dir erst, wenn du zuerst selbst den code schreibst und hier zeigst

der andere sagt, kein bock deinen code zu lesen, hilft dir hier damit keiner

na so was... ;)

hmm, ich meinte nicht, dass du überhaupt keinen Code posten sollst. Evtl. haben wir uns hier missverstanden.

was ich meine ist, dass es sehr schwierig sein kann, nur anhand des Codes den Fehler zu finden.
Das beste ist, du gibst mit dem Code auch die Stelle an, an der der Fehler auftritt.
Das ist natürlich nicht so einfach, wenn du nicht weißt, dass du dein Script debuggen kannst. Wenn du den Debugger anschaltest, dann zeigt der dir genau die Zeile an, in der der Fehler auftrat.

Naja, jetzt weißt du es ja. Ich hoffe, du verstehst meine Sichtweise... ;)
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
der eine sagt, ich helfe dir erst, wenn du zuerst selbst den code schreibst und hier zeigst
der andere sagt, kein bock deinen code zu lesen, hilft dir hier damit keiner

Leo, es gibt ein paar Basics, die hab ich vorhin in einem anderen Thread schon mal gestartet. Was ich vergessen hatte: "Immer Script Debugger nutzen".
Es steht da bisher u.a. "Code kommentieren" und "Option Declare".

Ich empfehle Dir ernsthaft, dass Du Dir ein Buch kaufst, Vorschläge z.B. hier:
http://www.atnotes.de/index.php?board=15;action=display;threadid=16039

Code hilft uns wirklich weiter um Dir zu helfen, aber dann brauchen wir noch die Fehlerzeile, wo das Script hängt.

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
das hat sich jetzt leicht mit Thomas' Posting überschnitten :-)

Egal.
Wir haben es ja beide geschrieben: Nenn uns die Zeile und wir können besser helfen  ;)
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Zitat
der eine sagt, ich helfe dir erst, wenn du zuerst selbst den code schreibst und hier zeigst
der andere sagt, kein bock deinen code zu lesen, hilft dir hier damit keiner

Nö, nö - das passt schon, Leo. Den Code brauchen wir, aber eben auch alle Infos, die sonst noch so zur Verfügung stehen. Sonst suchen wir uns den Wolf (dazu haben wir auch keine Zeit) oder betreiben Kaffeesatzleserei.
Was bei LS-Problemen (run-time errors) immer unabdingbar ist: Die Aussagen des Debuggers (hier noch der Aufruf für die deutsche Version: Datei - Extras - Debug LotusScript oder kurz Alt-D-X-D).

Interessehalber: War es die Default view, in der die Rechte fehlten, die Du nachgetragen hast ?

Bernhard

PS: Leo, Du bist wirklich herzlich willkommen hier im Forum. Wir brauchen halt eben nur gewisse Infos, um überhaupt die Chance zur Hilfe zu haben. Wenn der Ton mal "rau klingt" - sei Dir sicher: Das klingt nur so ;-)

Teamplay

  • Gast
Guys,

THANKS A LOT!

Leo

Teamplay

  • Gast
Interessehalber: War es die Default view, in der die Rechte fehlten, die Du nachgetragen hast?
:o ???
Ja!
Aber wie kommst du darauf?
Es kostete mich die ganze Stunde, den Fehler zu finden...

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
You're welcome :-)

Bist Du irgendwie weitergekommen, jetzt?
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Teamplay

  • Gast
Bist Du irgendwie weitergekommen, jetzt?
Ja, es war doch das Problem mit der Ansicht, das Bernhard (nachträglich :) ) irgendwie erraten hat...
« Letzte Änderung: 09.06.04 - 23:24:47 von Leo »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Mails können per LS nur verschickt werden (aber eigentlich gilt das auch für @functions - aber da habe ich jetzt keine Zeit, diesen Code-Teil von Leo zu untersuchen), wenn eine default view festgelegt ist. Wenn es diese zwar gibt, aber der entsprechende User darauf keinen Zugriff hat - bumm !

Bernhard

PS: Für Deine verlorene Stunde bin ich keiner Weise verantworlich, Leo  ;D

Teamplay

  • Gast
Für Deine verlorene Stunde bin ich keiner Weise verantworlich, Leo  ;D
Man sieht sich, Bernhard...
 :P :D ;D ;)

Leo

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz