Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: zysmo am 23.05.06 - 10:24:38
-
Hallo zusammen,
habe ein kleines Problem mit der Verwendung von PickListStrings.
Ich möchte für das Versenden von Doclinks eine Option für die Auswahl einzelner Empfänger einbetten.
Diese einzelnen Empfänger sollen aber in dem Dokument erhalten bleiben, damit sie beim nächsten Mal noch drin stehen.
Bisher habe ich das per Formelsprache gelöst:
FIELD SendTo := SendTo;
_SendTo := @PickList([Name]; SendTo);
@SetField("SendTo";@Name([Abbreviate]; _SendTo));
Geht wunderbar und vor allem wird beim Aufruf der Picklist auch die bereits vorhandenen Namen in der Picklist angezeigt.
Da ich die Sache jetzt aber um Funktionen erweitert habe die mit der Formelsprache nicht realisierbar waren, will ich das per Script machen.
Wie bekomme ich es hin, dass in der Picklist auch Werte angezeigt werden die in einem Feld des Dokuments stehen?
Mein Versuch bisher:
Call doc.AppendItemValue("SendTo",ws.PickListStrings(0 ,True))
Nur wie bringe ich die Picklist dazu auch die Werte aus SendTo in die Liste zu übernehmen???
-
Verwende anstelle von PickListString immer PickListCollection. Dann hast Du auf jeden Fall alle Felder des gewählten Dokuments im Zugriff.
PickListString macht eigentlich nur für
PICKLIST_NAMES (0)
PICKLIST_ROOMS (1)
PICKLIST_RESOURCES (2)
Sinn.
Andreas
-
Hmmm. Verstehe ich nicht so ganz.
Selbst wenn ich die PickListCollection nehme, wie kann ich denn dann schaon vorhandene Werte in die Liste übergeben?
Also ich habe in meinen Dokumenten ein Feld namens SendTo, dort stehen meistens bereits Werte drin, z.B. "Max Mustermann, Hans Wurst, Ingo Igel".
Wenn ich jetzt auf meinen Button "Einzelen Mitarbeiter benachrichtigen" klicke, soll der Picker hochkommen und das Adressbuch anzeigen. Die Werte aus Send To sollen als bereits ausgewählt erscheinen und man soll weitere Namen hinzufügen können. Danach soll wiederum die aktuelle Liste in meinem SendTo Feld abgelegt werden.
Gruß
zysmo
-
Die Werte aus Send To sollen als bereits ausgewählt erscheinen ...
Das geht mit der Picklist nicht. Mach doch dein SendTo-Feld zu einem Feld vom Typ Namen und in den Feldeigenschaften auf dem zweiten Reiter wählst du unter Auswahl die Option "Adressdialogfeld für Auswahl verwenden" und lasse außerdem Mehrfachwerte zu. Dann hast du was du willst.
Axel
-
Hallo,
das Feld soll aber im Dokument nicht auftauchen....also wie dann die Werte zuweisen..??
Also wenn man der PickListStrings, bzw. PickListCollection keine Defaults mitgeben kann,
gibt es denn die Möglichkeit die Formelsprache aus einem Script raus anzuwenden?? Weil da geht es ja.
-
das Feld soll aber im Dokument nicht auftauchen....also wie dann die Werte zuweisen..??
"Feld" und "Dokument" haben nichts direkt miteinander zu tun. Du meinst sicher, dass das Feld nicht in der Maske auftauchen soll. Und das geht mit @functions ebenso wie mit LS.
Bernhard
-
Ja richtig. Es soll in der Maske nicht auftauchen.
Aber wann es nicht auftaucht, dann kann man da auch keine Werte hinzufügen...
Habe mich jetzt entschlossen alles noch mal neu in Formelsprache zu versuchen...
Jetzt sehe ich aber direkt warum ich eigentlich Script nehmen wollte...
Die Aktion die beim Clicken auf einen Button durchgeführt werden soll, hängt von diversen Randbedingungen ab...
Wie kann man denn in der Formelsprache mehrere Sachen aufgrund einer @If Bedingung ausführen??
Gibt es hier sowas wie Funktionen, die ich selbst definieren kann??
So nach dem Muster:
@If(o_status<n_status;@kleiner;@groesser);
@kleiner(
......;
.......;
.......;
)
@groesser(
......;
.....;
)
??? ??? ??? ??? ???
-
Wie kann man denn in der Formelsprache mehrere Sachen aufgrund einer @If Bedingung ausführen??
@Do(.......)
Gibt es hier sowas wie Funktionen, die ich selbst definieren kann??
Nicht wirklich.
-
Ja.
@Do klappt prima.
Danke.