Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: real-challo am 09.10.03 - 18:01:44

Titel: LotusScript per @ aufrufen
Beitrag 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 ?
Titel: Re:LotusScript per @ aufrufen
Beitrag von: MartinG am 09.10.03 - 18:02:43
Du kannst den Scriptcode in einen Agenten packen und diesen dann aufrufen...
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Rob Green am 09.10.03 - 18:02:58
pack das Script in einen Agent und rufe per @command([toolsrunselectedmacro];"Agentenname")
Titel: Re:LotusScript per @ aufrufen
Beitrag von: real-challo am 09.10.03 - 18:03:50
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 ?
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Semeaphoros am 09.10.03 - 18:04:25
LotusScript in einen Agenten packen

@Command( [ToolsRunMacro] ; agent )

verwenden
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Rob Green am 09.10.03 - 18:05:33
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
Titel: Re:LotusScript per @ aufrufen
Beitrag von: real-challo am 09.10.03 - 18:07:01
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.
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Rob Green am 09.10.03 - 18:08:44
schreib das Ergebnis des Agents in ein Feld des Docs
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Semeaphoros am 09.10.03 - 18:09:01
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.
Titel: Re:LotusScript per @ aufrufen
Beitrag von: MartinG am 09.10.03 - 18:10:11
@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.
Titel: Re:LotusScript per @ aufrufen
Beitrag von: koehlerbv am 09.10.03 - 18:11:43
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
Titel: Re:LotusScript per @ aufrufen
Beitrag von: real-challo am 09.10.03 - 18:14:15
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
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Semeaphoros am 09.10.03 - 18:18:14
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.
Titel: Re:LotusScript per @ aufrufen
Beitrag von: koehlerbv am 09.10.03 - 19:04:13
Zitat
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
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Semeaphoros am 09.10.03 - 19:16:45
Zitat
(Als Entwickler weißt Du ja nicht, was nach Dir kommt ;-)

Wirklich? Ich dachte immer, nach mir kommt die Sintflut ...... ;-)
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Glombi am 09.10.03 - 19:25:41
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
Titel: Re:LotusScript per @ aufrufen
Beitrag von: koehlerbv am 09.10.03 - 19:25:49
Aber das kann man doch als Entwickler wesentlich geschickter einbauen ;-)))
Titel: Re:LotusScript per @ aufrufen
Beitrag von: HRaq am 09.10.03 - 19:26:33
@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
Titel: Re:LotusScript per @ aufrufen
Beitrag von: koehlerbv am 09.10.03 - 19:39:24
... und das alles, wo der Fragesteller doch schon seit 90 MINUTEN verstummt ist ;-)))
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Semeaphoros am 09.10.03 - 19:52:50
Zitat
Bernhard: Aber das kann man doch als Entwickler wesentlich geschickter einbauen ;-)))
Du meinst Die Sintflut? Haste auch wieder recht, wie nennt man das? Absicherung? ;-))
Titel: Re:LotusScript per @ aufrufen
Beitrag von: koehlerbv am 09.10.03 - 20:00:46
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
Titel: Re:LotusScript per @ aufrufen
Beitrag von: MartinG am 09.10.03 - 20:47:22
...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!?
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Semeaphoros am 09.10.03 - 20:58:04
... 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 :-(
Titel: Re:LotusScript per @ aufrufen
Beitrag von: MartinG am 09.10.03 - 21:07:31
Zitat
... also juristisch gesehen .....

Martin - der etwas verunsichert ist...
Darf ich bei OpenSource nicht das übernehmen wie und was ich will!?
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Semeaphoros am 09.10.03 - 21:15:55
.... 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 ...... :-)
Titel: Re:LotusScript per @ aufrufen
Beitrag von: koehlerbv am 09.10.03 - 21:22:46
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
Titel: Re:LotusScript per @ aufrufen
Beitrag von: MartinG am 09.10.03 - 21:27:13
...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...
Titel: Re:LotusScript per @ aufrufen
Beitrag von: Semeaphoros am 09.10.03 - 21:48:22
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.