Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: iukhdh am 04.12.07 - 09:37:54
-
Ho, Ho, Ho, vom drauss vom Walde komm ich her, ... und hab mal wieder ein großes Problem, wo ich als Scriptpflaume (im besten Sinne ;) ) nicht ganz klar komme. Ich hoffe ich bekomme es einigermassen rüber.
Ich habe Hauptdokumente, in denen ich einen zu verteilenden Betrag habe. Ich habe weiterhin Antwortdokumente, in denen ich Bewertungspunkte habe. Es geht um Verteilung von Leistungszulagen.
Ich übergebe von den Antwortdokumenten die Punkte ans Hauptdokument, summiere sie dort auf und errechne einen Wert, den ich dann wieder an alle Antwortdokumente übergebe.
(1)
Wenn ich im Hauptdokument den Wert verändere, übergebe ich die geänderten Zahlen über Script im Querysave an die Antwortdokumente, so wie im BP Artikel "Arbeiten mit Haupt- und Antwortdokumenten" beschrieben. Klappt.
(2)
Ändere ich die Werte in den Antwortdokumenten, übergebe ich diese ans Hauptdokument und rufe dann den gleichen Code wie bei (1) auf, allerdings im Antwortdokument im Queryclose. Klappt auch.
Bis dahin war ich höchst zufrieden mit meiner DB, bis nun die Berechtigungen dazukamen.
Es können nämlich mehrere Personen Antwortdokumente eingeben, die aber untereinander ihre Einträge nicht sehen dürfen. Also hab ich die per Rollen von einander abgeschottet.
Und nun (heul) funktioniert (2) nicht mehr. Es werden zwar die Punkte ans Hauptdokument übergeben, aber dann nicht mehr verteilt, weil, so würde ich mal sagen, der Code im Queryclose bei (2) halt die Rechte nicht hat.
Wenn ich allerdings im Hauptdokument ändere, dann verteilt er alles auf die Antwortdokumente, klar, weil derjenige, der das Hauptdokument verändern darf (Chef) auch Schreibrechte auf alle anderen Dokumente hat.
Nun meine Frage:
Was tun?
Zwei Gedanken hab ich, wo ich allerdings noch nicht so recht weiss ob die klappen könnten:
a) den Code in (2) irgendwie besondere Rechte geben
b) den Code in (1) anstossen und von dort aus die Berechnungen laufen lassen
Hat mir jemand einen Tipp?
Ich wäre sowas von dankbar ... :)
-
Hallo,
ich würde es, wenn es nicht in "Echtzeit" berechnet werden muß, mit Anforderungen an einen periodischen Server-Agent lösen. Der Agent bekommt "Chef"-Rechte und -Rolle und sollte sein Ding tun.
Zusätzlich ersparst Du Dir eventuelle Replikationskonflikte, wenn zu einem Hauptdokument mehrere Antwortdokumente zur gleichen Zeit geändert werden.
Gruß
Uwe
-
Bei einer Änderung in Echtzeit hilft ein remoter Serveragent (agent.runonserver), wenn der Serveragent ausreichende Rechte besitzt.
Gruß
André
-
... es liegt an den Rechten, bestimmte User sehen die anderen Antwortdokumente nicht - daher bleibt dir nur die Lösung mit dem Agenten, der entsprechend signiert sein muß...
Toni
-
Tja, dann muss ich mich wohl in Richtung Serveragent mal schlau machen ...
::)
Danke für Eure Hilfe