Domino 9 und frühere Versionen > ND6: Entwicklung
URL Aufbau aus Feld lesen und in stream schreiben
(1/1)
Gruenkohl:
Hi,
ich habe eine Konfigurationsmaske, in der ich in ein Feld den Aufbau eines Links schreiben kann.
z.B. Feldinhalt von "Link"
--- Code: ---{<a href="http://} + confDoc.GetItemValue("Server")(0) + {/} + confDoc.GetItemValue("File")(0) + {/View/} + DocID + {?OpenDocument">} + Doc.GetItemValue("_Title")(0) + {</a>}
--- Ende Code ---
Diesen möchte ich dann auslesen und in einen stream schreiben:
--- Code: ---Call stream.WriteText(confDoc.GetItemValue("Link")(0))
--- Ende Code ---
Aber es werden nicht die Feldwerte ausgelesen sondern der Text so wie er ist. Nur die HTML Tags werden richtig übernommen.
Als Hyperlinktext steht dann da z.B. "+ confDoc.GetItemValue("xxx")(0) +".
Wenn ich den Inhalt aus dem Feld ins Script kopiere klappt es richtig :-:
Gibt es eine Möglichkeit das die Felder ausgelesen werden?
Danke
Andreas
outerspace:
Hallo,
Scriptcode innerhalb einer Feldformel wird nicht ausgeführt.
2 möglichkeiten
1. In einem anderen Script Ereignis (Querysave, Button, etc...) das Feld 'Link' mit deinem Text füllen.
oder
2. Unter der Voraussetzung dass das Feld 'Link' in derselben Maske ist wie die Felder 'Server' und 'File' die Feldformel ändern auf
{<a href="http://} + Server + {/} + File + {/View/Placeholder1?OpenDocument">Placeholder2</a>}
Bevor Du dann den WriteText ausführst musst Du 'Placeholder1' und 'Placeholder2' mit der DocID und dem Titel ersetzen.
Gruss
Andreas
Gruenkohl:
Danke Andreas,
die Felder 'Server' und 'File' sind zwar in der gleichen Maske aber nicht alle Felder die ich benötige.
Ich versuche aber auch nicht mit einer Feldformel zu arbeiten.
Ich gebe als Feldwert die Formel ein und lese diese per Agent aus. Und daraus soll dann ein Hyperlink erstellt werden, der per Mail verschickt wird.
Gruß
Andreas
outerspace:
Hi,
Dann wäre folgendes evtl Deine Lösung
Feldwert 'Link':
{<a href="http://} + Server + {/} + File + {/View/}+DocID+{?OpenDocument">}+Title+{</a>}
und in Deinem Agenten:
Call stream.WriteText(cstr(session.Evaluate(confDoc.GetItemValue("Link")(0), doc))
in dem Doc müssen natürlich die Felder 'DocID' und 'Title' enthalten sein.
Gruss
Andreas
Gruenkohl:
Morgen Andreas,
das ist ja das Problem, dass nicht alle Felder die ich benötige in der Maske enthalten sind.
Ich benötige auch noch Werte aus anderen Dokumenten.
Bei dem Evaluate habe ich immer einen Fehler bekomme wegen dem LotusScript.
Die Formel wird somit nicht umgesetzt und die Feldinhalte nicht ausgelesen.
Mal schauen, ob ich das noch hinbekomme oder sonst anders lösen kann.
Gruß
Andreas
Edit:
Hab jetzt alles mit Formel und Evaluate gemacht, Danke.
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln