Domino 9 und frühere Versionen > ND6: Entwicklung
Lotus Script und Textfeld
reraru:
Moin zusammen!
Ich habe in einer Maske ein Textfeld und ein Datumsfeld.
Diese nutze ich als Protokoll für eine kleine Anwendung.
Bisher habe ich das Protokoll ausschliesslich per Formelsprache
befüllt. Nun möchte ich aber an einer Stelle einen Eintrag mit Lotus
Script ergänzen.
Hier erstmal die Formel:
@If(prot_Date="";@SetField("prot_Date";@Now);@SetField("prot_Date"; prot_Date : @Now));
@SetField("prot_Action";prot_Action : "Auftrag wurde erfasst / bearbeitet");
Ich füge also jeden Eintrag in einer neuen Zeile an. In der Formel mach ich das mit dem ":" als Trennzeichen.
In Lotus Script habe ich es mal ähnlich versucht:
Call doc.ReplaceItemValue("prot_Date", prot_Date + ":" + Now)
Call doc.ReplaceItemValue("prot_Action", prot_Action + ":" + "Der Auftrag wurde komplett abgeschlossen")
Leider ohne Erfolg!
Kann mir jemand sagen wie ich das realisieren kann?
Vielen Dank im Voraus!
Gruß
René
Semeaphoros:
--- Zitat von: reraru am 10.05.05 - 10:10:06 ---Leider ohne Erfolg!
--- Ende Zitat ---
Perfekte Fehlerbeschreibung, man weiss gleich, was schief läuft ...... :-[
Das sind Multivalue-Felder, die lassen sich in Script so nicht bearbeiten. Zudem sind Listen in Script deutlich anders realisiert als in @Formel. Im Grunde genommen ist es nicht sehr sinnvoll, hier die Formel durch Script zu ersetzen.
Zum Thema selber: Schau mal in der Hilfe die Methoden GetItemValue und AppendToTextList an, das geht dann mal fürs Textfeld. Fürs Datumsfeld wird es komplizierter, da muss man das alte Feld in einen Array auslesen und dann wieder über ReplaceItemValue zurückschreiben.
reraru:
Hi Semeaphoros!
Vielen Dank für die prompte Antwort.
Es ist so, das ich bei bestimmten Aktionen (Formeln) einen Protokolleintrag hinzufüge.
Im Querysave der Maske wir dann per Script abgeprüft ob alle Statusfelder den Status "abgeschlossen" tragen. Sollte dies bei allen Statusfeldern der Fall sein, so wollte ich
im Protokoll den Eintrag "Der gesamte Auftrag wurde abgeschlossen" ausgeben.
Weiss nicht wie ich das sonst steuern soll. Könnte ich evtl. per Lotus Script einen Agenten
aufrufen? Dieser sollte nur dann ausgeführt werden wenn bei den Statusfeldern der Status abgeschlossen ist.
Gibt es alternativen?
Gruß René
Semeaphoros:
Schau Dir in LotusScript die Evaluate Funktion/Statement an
reraru:
Mahlzeit!
Ich bin ersteinmal verwirrt. Werde mal schauen wie ich das Problem nun löse.
Vielen Dank erstmal!
Gruß René
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln