Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Troubleshooter am 18.12.12 - 10:31:41

Titel: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Troubleshooter am 18.12.12 - 10:31:41
Hi,

ich habe in einer Maske eine Kontrollkästchenliste mit Synonymen für die Schlüsselwörter.
Wie kann ich nun in einem Dokument die Synonyme der ausgewählten Optionen auslesen? Ich komme immer nur an das eigentliche Schlüsselwort :/

Lg
Florian
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: ascabg am 18.12.12 - 10:36:01
Hallo,

Wenn das Dokument gespeichert wird, dann werden doch die Alias-Werte in das entsprechende Feld eingetragen
und nicht die Werte, die angezeigt werden.

Oder verstehe ich hier etwas nicht richtig?


Andreas
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Troubleshooter am 18.12.12 - 10:40:25
Prinzipiell richtig, ich habe nur meine Frage nicht ausreichend formuliert.

Wir haben für eine Notes-Anwendung Konfigurationsdokumente angelegt. In diesen Dokumenten werden bei den Listen - wie du richtig schreibst - die Synonyme abgespeichert. Nun muss ich aber von einem anderen Dokument(typ) über LotusScript auf diese Werte zugreifen und da haperts...
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: ascabg am 18.12.12 - 10:49:59
Koenntest Du die Anforderung noch etwas genauer erlaeutern?
Ich bin aktuell noch nicht so ganz munter.

Direkt auf dei Werte aus dem Konfig-Dokument zugreifen?  ???


Andreas
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Troubleshooter am 18.12.12 - 10:59:01
Klar:

Maske "Konfiguration":
Feld "Name", Text
Feld "Typ", Kombinationsfeld mit fest definierten Werten ("Bestellung", "Lieferung", ...)
Feld "Optionen", Kontrollkästchenfeld mit fest definierten Werten

Maske "Bestellung"
Feld "Nummer", Zahl
Feld "Optionen", Text

Maske "Lieferung"
Feld "Nummer", Zahl
Feld "Optionen", Text

Nun hab ich verschiedene Konfigurations-Dokumente und je Typ ("Bestellung", "Lieferung") setze ich diverse Optionen in den Konfigurationsdokumenten.
Wenn ich nun eine Bestellung oder Lieferung erfasse, sollen die in den Konfigurationsdokumenten definierten Optionen in die jeweiligen Dokumente übernommen werden, um 1) schnell und ohne Umwege (Lookups,..) darauf zugreifen zu können und 2) keine Abhängigkeit zu erzeugen (zukünftig könnten sich in den Konfigurationsdokumenten die Optionen verändern, bereits existierende Bestellungen/Lieferungen sollen davon aber unberührt bleiben)

Ich hoffe, ich konnte es nun ausführlich erklären :)
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Peter Klett am 18.12.12 - 12:07:37
Du darfst die Optionen in den Optionsfeldern nicht direkt aus den Konfigurationsdokumenten lesen, sondern aus einem Feld des Dokuments, dass sich - höchst wahrscheinlich berechnet beim Anlegen - diese Optionen in das Dokument holt. Somit hat jedes Dokument seine eigenen Optionen, auch wenn sich in den Konfigurationsdokumenten etwas ändert. Und auf dieses zusätzliche Feld/Item im Dokument kannst Du dann auch per Script zugreifen.

Hoffe, es beantwortet Deine Frage, zumindest beantwortet es die, die ich verstanden habe ;)
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Troubleshooter am 18.12.12 - 13:18:08
Hi Peter,

indirekt ;)
So wie du es beschreibst, habe ich es ja bereits. Also ein eigenes Feld je Dokument, in dem die Optionen gespeichert werden. In meinem Fall scheitert es aber daran, die in den Konfig-Dokumenten ausgewählten Optionen eben in die anderen Dokumente zu übertragen, um sie dort abzuspeichern.
Also Zugriff habe ich schon darauf, nur nicht auf die Synonyme

Lg
Florian
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Peter Klett am 18.12.12 - 13:26:37
Ok, fangen wir mal ganz vorne an:

Was sind die anderen Dokumente?
Was verstehst Du unter Synonymen?
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: ascabg am 18.12.12 - 13:31:36
Also ich verstehe immer weniger.

Im Konfig-Dokument fuer die Bestellungen hast Du die Werte definiert, die als Checkbox im Dokument fuer eine Bestellung moeglich sind. Ausserdem hast Du im Konfig-Dokument, quasi als Standard definiert, welche der Checkboxen bereits aktiviert sein sollen beim erfassen einer neuen Bestellung.

Soweit meine Auslegung des geschilderten Sachverhaltes.


Andreas
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Troubleshooter am 18.12.12 - 14:11:19
Zitat von: Peter Klett
Ok, fangen wir mal ganz vorne an:

Was sind die anderen Dokumente?
Was verstehst Du unter Synonymen?

die anderen Dokumente sind Dokumente der Maske "Bestellung" oder "Lieferung"
Synonyme = Schlüsselwortsynonyme der Listen

Zitat von: ascabg
Also ich verstehe immer weniger.

ich versuchs nochmal zu erklären:

-------

Aufbau der Datenbank:

Maske "Konfiguration":
... Feld "Name", Text
... Feld "Typ", Dropdown mit fest definierten Werten ("Bestellung", "Lieferung", ...)
... Feld "Optionen", Checkboxliste mit fest definierten Werten ("Betreff anzeigen|ZeigeBetreff", "Gesamtsumme berechnen und anzeigen|ZeigeGesamtsumme", "Adressdaten anzeigen|ZeigeAdresse")

Maske "Bestellung"
... Feld "Nummer", Zahl
... Feld "Optionen", Text

Maske "Lieferung"
... Feld "Nummer", Zahl
... Feld "Optionen", Text

-------

Dokument
... Feld "Form" = "Konfiguration"
... Feld "Name" = "Formular für Bestellungen"
... Feld "Typ" = "Bestellung"
... Feld "Optionen" = "ZeigeBetreff", "ZeigeGesamtsumme"

Dokument
... Feld "Form" = "Konfiguration"
... Feld "Name" = "Formular für Lieferungen"
... Feld "Typ" = "Lieferung"
... Feld "Optionen" = "ZeigeBetreff", "ZeigeAdresse"

Dokument
... Feld "Form" = "Bestellung"
... Feld "Nummer" = "1"
... Feld "Optionen" = ???

Dokument
... Feld "Form" = "Bestellung"
... Feld "Nummer" = "2"
... Feld "Optionen" = ???

Dokument
... Feld "Form" = "Lieferung"
... Feld "Nummer" = "1"
... Feld "Optionen" = ???

-------

Immer, wenn ein Dokument der Maske "Bestellung" oder "Lieferung" erstellt wird, sollen die jeweiligen definierten/ausgewählten Optionen des dazugehörigen Dokuments der Maske "Konfiguration" überommen werden.
Nur wenn ich das mit LotusScript probiere, erhalte ich immer nur die Schlüsselwörter (z.B. "Betreff anzeigen") und nicht die Synonyme (z.B. "ZeigeBetreff"). Ich benötige aber die Synonyme!

Lg
Florian
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Peter Klett am 18.12.12 - 14:14:57
Wie greifst Du denn per Script auf die Konfigurationsdokumente zu?
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Troubleshooter am 18.12.12 - 14:21:00
vereinfacht:

Code
Dim ViewConfig As NotesView
Dim DocConfig As NotesDocument

Set ViewConfig = db.GetView("(Konfigurationen)")
Set DocConfig = ViewConfig.GetDocumentByKey([Typ], True) ' [Typ] - "Bestellung", "Lieferung"

If Not DocConfig Is Nothing Then
    Dim N As Integer

    For N = 0 To UBound(DocConfig.Optionen) ' Optionen = Liste der ausgewählten Optionen im Konfigurationsdokument
         MsgBox DocConfig.Optionen(N)
    Next
End If
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: ascabg am 18.12.12 - 14:21:16
Ich frage jetzt mal ganz bescheiden an.

Aliaswerte (Synonyme) sind aber schon erlaubt? (siehe Eigenschaften des betreffenden Feldes fuer die Checkboxen)


Andreas
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Peter Klett am 18.12.12 - 14:25:41
Schau mal in die Felderliste eines (geschlossenen) Konfigurationsdokuments, welche Werte sich im Item "Optionen" befinden, das werden die gleichen sein, die Du per Script ausliest. Es wird dort schon nicht so sein, wie Du erwartest und hat nichts mit LotusScript zu tun.
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Troubleshooter am 18.12.12 - 14:27:47
;)
Ja, sind sie. In den Dokumenten der Maske "Konfiguration" werden sie ja auch richtig gespeichert
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Peter Klett am 18.12.12 - 14:31:38
;)
Ja, sind sie. In den Dokumenten der Maske "Konfiguration" werden sie ja auch richtig gespeichert

Hast Du wirklich in die Felderliste eines geschlossenen Konfigurations-Dokuments geschaut? Ich glaube nicht, dass die Werte korrekt sind, denn das Script ist sinngemäß richtig und gibt Dir genau das aus, was wirklich in den Dokumenten steht. Und wenn das falsch ist, kann der Inhalt der Konfig-Dokumente nicht richtig sein.
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Troubleshooter am 18.12.12 - 14:39:21
Ja, habe ich. Das ist ja das, was ich nicht so ganz verstehe, denn den Code hab ich ja auch schon in anderen Anwendungen eingesetzt.

Wird hierbei eigentlich auch irgendetwas gecached? Also besteht die Chance, dass nach einem Neustart des Notes-Clients und Designers das Problem behoben ist?
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Peter Klett am 18.12.12 - 14:45:03
Das hätte ich an Deiner Stelle schon längst einmal getan, wenn es solche Merkwürdigkeiten gibt, um das auszuschließen, auch wenn ich in diesem Falle nicht wirklich daran glaube. Wie alt sind denn die Konfig-Dokumente?

Bist Du sicher, dass Du auf die richtige Datenbank zugreifst? Nicht, dass Du in eine Testdatenbank mit falschen Daten greifst und diese Daten mit einer produktiven Datenbank vergleichst?
Titel: Re: Auslesen der Schlüsselwortsynonyme mit LotusScript
Beitrag von: Troubleshooter am 18.12.12 - 14:50:53
"Leider" der Klassiker: zig Tabs offen und keine Lust, alle nach dem Neustart erneut öffnen zu müssen... ;)

Nachdem ich alle Notes-Anwendungen geschlossen habe und auch hartnäckige Prozesse per Taskmanager beendet habe, hats nun funktioniert. ::)
War aber definitiv die richtige Datenbank - selbst wenn ich auf die Pro-DB zugegriffen hätte, sind dort diese Features noch nicht implementiert, dh. dort hätte es dann andere Fehlermeldungen hageln müssen.

Vielen Dank auf jeden Fall für eure Geduld und Hilfestellung! :)

Und die Moral von der Geschicht': auf Notes-Neustart verzichte nicht ;)

Lg
Florian