Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: real-challo am 09.10.03 - 18:01:44
-
Hallo !
Ich habe eine LotusScript Funktion geschrieben. Nun möchte ich dies mit @ aufrufen (in der Formula Sprache). Kann man das ? Wenn ja, wie ?
-
Du kannst den Scriptcode in einen Agenten packen und diesen dann aufrufen...
-
pack das Script in einen Agent und rufe per @command([toolsrunselectedmacro];"Agentenname")
-
Du kannst den Scriptcode in einen Agenten packen und diesen dann aufrufen...
Nich wirklich. Ich habe eine Funktion geschrieben, die einen Wert zurückliefert. Ein Agent liefert doch nichts zurück - oder ?
-
LotusScript in einen Agenten packen
@Command( [ToolsRunMacro] ; agent )
verwenden
-
hat IRGENDJEMAND noch Fragen bzgl. des Werts dieses Supportforums?
Frage Eingang: 18:01:44
1. Antwort Eingang: 18:02:43 (59 Sekunden später)
2. Antwort Eingang: 18:02:58 (74 Sekunden später)
3. Antwort Eingang: 18:04:25 (>120 Sekunden später)
IBM Support? 0.2te Anwtort 245.789.000 Sekunden später "wir wissen es nicht genau" ;D ;D ;D
Hab ich schon mal gesagt, warum das Forum einen Supportwert von 5.000.000 Euro pro Jahr generiert? Nein? Doch!
(was, der Anfragende hat eine weitere Frage: *zisch*)
Klar, natürlcih kann der Agent einen Wert zuirückgeben, indem man das ganze in ein Feld schreibt zB
-
LotusScript in einen Agenten packen
@Command( [ToolsRunMacro] ; agent )
verwenden
Wie gesagt, die Funktion liefert etwas zurück : True oder False. Deshalb glaube ich nicht, daß es mit einem Agent einfach so geht.
-
schreib das Ergebnis des Agents in ein Feld des Docs
-
Mit einem Agenten gibts keinen Wert zurück. Wenn Du eine Custom-@Function mit Return-Wert haben willst, musst Du die über die API realisieren (ich kenne nur einen, der soetwas kommerziell macht: Bob Balaban, und der hat früher bei Iris dem Hersteller gearbeitet).
Wenn Du von deinem LS-Agenten Resultate brauchst, mussd Du die ins Dokument reinschreiben.
-
@Rob - das Forum ist wirklich unglaublich fix...
...anders gehts m.W. nicht. Vielleicht hat aber einer der Profis hier noch eine Workaround. Habe gerade selber das Problem das ich gerne einem berechneten Text einen Scriptcode zuordnen möchte.
-
Du könntest den Agent etwas in ein ProfileDocument (User-spezifisch) schreiben lassen und dieses dann mit @GetProfileField wieder auslesen.
Unschöner: In die NOTES.INI schreiben (die wird dann zu zugemüllt).
Am besten wäre natürlich, wenn Du Deine LS-Function auch mit LS aufrufen könntest ...
Von wo willst Du den mit @functions auf LS-Function zugreifen ? Davon hinge ja auch noch einiges ab ...
Zum Wert des Forums: Das war wieder mal einer der vielen, vielen schlagenden Beweise, daß das hier wohl das beste deutschsprachige Notes-Forum ist ;-)
Bernhard
-
Das ist auch nicht immer möglich, da die Formel hindter einen Button kommt, und das Dokument nicht unbedingt im edit-modus ist, bzw. kann (wegen Rechte)... Gibt es sonst eine andere Lösung ?
Problem :
Ein Dokument hat zwei Felder ein Leser und ein Editorfeld. Nun muss geprüft werden, ob der aktuelle user in diesen Feldern steht, bzw. ob er eine rolle hat, die in diesen Feldern steht. In deisen feldern kann eine Rolle stehen oder auch der Username (@Username).
danke schonmal
-
Welche Rechte der User hat, das kannst Du mal dem Notes überlassen.
Schreiben kannst Du ins Doc trotzdem, auch ohne Schreibrechte, Speichern geht dann nicht. Damit wäre das von Bernhard erwähnte Profildokument eine gangbare Lösung.
Was soll denn mit dem Wert überhaupt passieren, wenn Du ihn am Schluss nicht ins Doc haben willst? Zur Anzeige könnte man das doch auch im LS drin machen und braucht ihn gar nicht an den Aufrufenden zurückgeben.
-
Ein Dokument hat zwei Felder ein Leser und ein Editorfeld. Nun muss geprüft werden, ob der aktuelle user in diesen Feldern steht, bzw. ob er eine rolle hat, die in diesen Feldern steht. In deisen feldern kann eine Rolle stehen oder auch der Username (@Username).
Und was ist mit Gruppen ? Die kannst Du doch gar nicht ausschliessen ! (Als Entwickler weißt Du ja nicht, was nach Dir kommt ;-)
Du kannst doch den Inhalt der Felder vergleichen mit dem Ergebnis von @UserNamesList - dafür brauchst Du doch keine LS function.
Wenn dem nicht so ist, müsstest Du Dein Begehr etwas genauer aufmalen.
Bernhard
-
(Als Entwickler weißt Du ja nicht, was nach Dir kommt ;-)
Wirklich? Ich dachte immer, nach mir kommt die Sintflut ...... ;-)
-
Was kann denn Dein Script, was man nicht auch in der Formelsprache machen kann?
Oder warum musst Du unbedingt die Formelsprache nutzen?
Einen echten Austausch zwischen Script und @Formel gibt es nicht, wenn das während der Laufzeit passieren soll.
Nach dem Motto:
FIELD x := "aber hallo";
@Command([ToolsRunMacro];"Scriptagent");
FIELD y := feldnameindasderagentschreibtoderprofiloderwasweissich;
Wenn Du den Script Code postest, können wir uns überlegen, wie das in Formelsprache geht.
Andreas
-
Aber das kann man doch als Entwickler wesentlich geschickter einbauen ;-)))
-
@RobGreen,
ja, ich finde auch, das sich die Leute hier mit den Antworten mitunter ganz schön Zeit lassen. Es ist wirklich lästig, 59 Sekunden lang auf eine Antwort warten zu müssen :D :D :D :D
Nein, das Forum hier ist wirklich klasse. Grosses Lob an alle....
Gruß Henning
-
... und das alles, wo der Fragesteller doch schon seit 90 MINUTEN verstummt ist ;-)))
-
Bernhard: Aber das kann man doch als Entwickler wesentlich geschickter einbauen ;-)))
Du meinst Die Sintflut? Haste auch wieder recht, wie nennt man das? Absicherung? ;-))
-
Juristisch gesehen (und daran halte ich mich !) bringt das nix, und irgendwie wäre es sowas wie "Lügen haben kurze Beine" - obwohl es technisch immer wieder reizt ;-)
Ich würde es eher nennen: "Rache ist Blutwurst!". Das Dumme ist: Man kriegt dann ja von der Wirkung nix mit ;-(
Das aber nur als Joke ;-)
Bernhard
-
...das Forum hier ist einfach unglaublich. Folgende Sache: wir migrieren in zwei Wochen auf Notes 6.02CF2 und deshalb passe ich derzeit meine Mailschablone an.
Dabei habe ich mir mal von www.openntf.org deren Mailschablone heruntergeladen und auch einiges von dort übernommen. Die Mailschablone finde ich absolut genial - manches ist ein wenig oversized, insgesamt aber ein absoluter Knaller. Wobei ich nur Zeugs übernehme wo ich auch 100% verstehe was dahinter steckt...
Die haben dort in der Mailrahmengruppe oben links eine Anzeige des Speicherplatzes drin, dabei greifen Sie aber irgendwie auf notes.ini Geschichten zurück. Ich auf jeden Fall nix verstehe... - und da war einfach meine Überlegung dort anstellen des komischen Codes als berechneter Text die aktuelle Datenbankgrösse anzeigen zu lassen. Den Code dafür habe ich...
Dim MFSsession As New NotesSession
Dim MFSdb As NotesDatabase
Dim FileSize As Double
Dim FileSize2 As Double
Set MFSdb = MFSsession.CurrentDatabase
FileSize = MFSdb.Size/1024/1024
FileSize2 = Round(FileSize,0)
Messagebox "Ihre Maildatenbank ist " & Cstr(FileSize2) & " MB groß!
Mit Formelsprache komme ich ja vermutlich nicht an die Datenbankgrösse ran!?
-
... also juristisch gesehen .....
Ach so, das war jetzt die falsche Einleitung.
Nein, ich wüsste auch keinen Weg über @Formel irgendwie an die DB-Grösse zu gelangen :-(
-
... also juristisch gesehen .....
Martin - der etwas verunsichert ist...
Darf ich bei OpenSource nicht das übernehmen wie und was ich will!?
-
.... doch, das ist ja der Witz bei OpenSource.
.... und es war ja auch die falsche Einleitung
Denke aber, Du bist hier in den falschen Thread "reingetrampelt", das hätte einen neuen Thread verdient.
Dann schau mal, was Bernhard grad im Post vor Deinem geschrieben hat, dann merkst Du vielleicht, wie ich auf den Stockzähnen gelacht habe ....... :-)
Lass Dich nicht ins Bockshorn jagen ...... :-)
-
Martin, don't be afraid - das bezog sich auf ein ganz anderes Posting (so drei Einträge zurück) in diesem Thread ;-)
OpenNTF ist OOPPEENNntf ! Alles im grünen Bereich ;-)
Ciao,
Bernhard
-
...wer lesen kann ist klar im Vorteil. Soll ich wirklich einen neuen Thread aufmachen? Eigentlich will ich ja dasselbe wie real-challo (Scriptcode per Formel aufrufen).. - aber vermutlich lässt sich das eh nicht easy lösen, ansonsten hätten so Cracks wie Du oder koehlerbv mal lässig eine Lösung aus dem Ärmel geschüttelt.
Dann werde ich wahrscheinlich doch eine Schaltfläche o.ä. nehmen welche dann eine Messagebox aufmacht und die Datenbankgrösse ausspuckt...
-
Dann halte mal Deinen Kopf zur Seite, sonst wirst Du noch angespuckt :-)
Deiner Schlussfolgerung ist aber wirklich nichts hinzuzufügen, jetzt sehe ich auch, warum Du das hier gepostet hast, der Zusammenhang war mir nicht sofort klar. Ein neuer Thread lohnt sich wohl nimmer, da wohl kaum was neues rausschaut.