Domino 9 und frühere Versionen > Entwicklung
Formelsprache und dynamische Feldnamen
ata:
... die Grenzen liegen bei Version 4 bei ca. 3000 Feldnamen. Die Namen werden als String mit 64K gehandelt - daher der Erfahrungswert mit ca. 3000 Feldern...
... in Version 5 kann man dies in den Datenbankeigenschaften erweitern => "Allow more fields" auf dem letzten Reiter. Dann hat man 64.000 Feldnamen zur Verfügung => laut Hilfe. an die Grenze bin ich bisher noch nicht gestossen ;D
... zu deinem anderen Problem mach ich mir nochmal Gedanken...
ata
florianh78:
Hallo zusammen,
wie versprochen hier eine Aktualisierung und zugleich Konkretisierung meines Problems, leider noch nicht mit Lösung.
Es geht darum, ein Feld auszulesen, dessen Name variabel ist und der erst zur Laufzeit "zusammengesetzt" wird.
Unterproblem a): Kann der Formelsprache sowas klargemacht werden? Definitionen der Form
feldname := "bla" + "blubb"
implizieren offensichtlich leider eine unumgängliche Interpretation als String.
Unterproblem b): @GetDocField() liest leider nur aus _anderen_ Dokumenten, beim Zugriff auf das aktuelle tritt ein Zugriffskonflikt auf.
Lösungsansatz 1: eine Möglichkeit für Unterproblem a) finden
Lösungsansatz 2: Es irgendwie schaffen, in einen Berechneten Text o.ä. ein LotusScript einzubauen, das mit der Aufgabe ja keine Probleme haben dürfte.
Irgendwelche Kommentare hierzu?
Grüße,
Florian
PS: M.E. fehlt der Formelsprache hier wichtige Funktionalität... Da will man sich schon an das Notes "Dokumenten"-Konzept halten (im Unterschied zur relationalen Modellierung), und siehe da, Notes widerspricht mit der unverständlichen Implementierung @GetDocField "Du darfst nur aus anderen Dokumenten lesen".
florianh78:
So, jetzt hab ich eine funktionierende Lösung bzw. eher einen Workaround gefunden. Hier eine kurze Skizze für alle, die's interessiert:
1) Beim Öffnen/Aktualisieren des Feldes im Dokument wird ein LotusScript angestossen, das den neuen Feldinhalt im Profildokument ablegt. Als Feldname dient dabei KEYWORDS_ + UNID.
2) Daraufhin kann dieses Feld in der Berechneter-Text-Formel mit den entsprechenden Profildokument-@-Funktionen ausgelesen werden.
Da ist wohl noch niemand drauf gekommen, denn meine Frage hab ich in abgewandelter Form mehrfach auch im Lotus Developer Domain Forum gefunden, doch nie mit positiver Antwort.
Hat meine Lösung etwa gravierende Nachteile, die ich noch nicht sehe?
Grüße,
Florian
ata:
... wie legst du das Profildokument an, mit einem Key?
... greifen eventuell mehrere Personen schreibend auf dieses Dokument zu - könnte Probleme geben...
ata
florianh78:
@ata:
Das ganze steht dann im benutzerspezifischen Profildokument, also greifen schonmal nicht mehrere User schreibend zu.
In diesem Dokument sind dann nach und nach folgende versteckte Felder enthalten:
KEYWORDS_UNID1 = kw1, kw2, kw3, ...
KEYWORDS_UNID2 = kw4, kw5, ...
Werds wahrscheinlich so machen, daß ich beim Öffnen des benutzerspez. Profildokuments alle diese Felder lösche, damit sich keine Leichen ansammeln. Das beeinträchtigt ja die Funktionalität nicht, denn ich überschreibe/lege neu an mittels ReplaceItemValue.
Grüße,
Florian
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln