Autor Thema: Auswahl per Formel auf Feld das nicht in Ansicht ($Users) des NAB steht  (Gelesen 1767 mal)

Offline rambrand

  • Senior Mitglied
  • ****
  • Beiträge: 469
  • Geschlecht: Männlich
Hallo,

ich steh vor dem Problem, ich muss drei Auswahlfelder füllen mit den Feldern Location, Department und OfficeZIP aus den Personendokuemten des NAB.
Dazu wollte ich über $Users gehen. Bei Location auch kein Problem, das kann ich per DBColumn auslesen.
Nur die Felder Department und OfficeZIP stehen nicht in der Ansicht drin. Erschwerend kommt dazu, ich darf die Ansicht nicht erweitern, da die Anwendung auch bei anderen Kunden laufen soll. Also muss ich immer ein Standard-NAB voraussetzen.

Ich hab keinen Plan, wie ich die Felder in Formelsprache auslesen soll. DBLookup geht nicht, weil ich ja die gesamte Ansicht durchschauen muss.
Derzeit neige ich fast dazu ... geht in Formel nicht.

Bye,
Markus
« Letzte Änderung: 20.06.14 - 17:08:34 von rambrand »
Domino/Notes ab 4.6 aktuell 10.1FP3
Traveler 10.0.1FP1
PHP-Entwickler
Domino/Notes-Entwickler (Hobby)
Consultant (Informationssicherheit & Datenschutz)

Offline bredemeier

  • Frischling
  • *
  • Beiträge: 49
Hallo Markus,

kannst du dir nicht per @DbLookup( class : cache ; server : database ; view ; key ; columnNumber ; [RETURNDOCUMENTUNIQUEID]) die ID des Dokumentes geben lassen und dann per @GetDocField( documentUNID ; fieldName ) die Werte ziehen?

Gruß, Volker

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Wieso machst Du das mit einem DBColumn? Und wieso muss der Wert in der Ansicht stehen?

Nimm ein DBLookup und verwende anstelle der Spaltennummer den Feldnamen. Wichtig ist, dass der Wert im Dokument steht, was in der Ansicht steht, ist irrelevant (außer der ersten sortierten Spalte, um das richtige Dokument zu finden).

Oder, wie Volker schreibt, über GetDocField ...

Offline rambrand

  • Senior Mitglied
  • ****
  • Beiträge: 469
  • Geschlecht: Männlich
Hallo Peter,
hallo Volker,

ich hab mich vielleicht etwas unklar ausgedrückt, oder ich versteh nicht woraus ihr raus wollt :-)

Ich muss für drei Kombinationsfelder die Auswahl füllen. Das erste soll alle Lokationen beinhalten (sortiert und jeweils nur einmal). Das zweite alle Abteilungen und das dritte alle Gruppe (dazu verwenden wir das Feld OfficeZIP).
Dazu muss ich alle (Personen-)Dokumente im NAB abklappern, um alle möglichen Werte der Felder zu bekommen. Ein DBLookup hilft mir nichts, ich müsste ja einen key angeben, der dann nur auf ein oder mehrere Dokumente zutreffen würde, aber halt nicht alle.
Beim DBColumn war das halt easy, einfach die Spalte reinlesen lassen, aber als Grundvoraussetzung, es gibt den gesuchten Wert in einer Spalte.
Deswegen steh ich auf dem Schlauch.

Ich hab mir schon überlegt mittels LS-Agent drei Hilfsfelder ins Profildok zu schreiben, aus denen ich dann die Werte für die Kombinationsfelder auslesen kann. Wenn es doch mit Formel gehen würde, würde ich das präferieren.

Bye,
Markus
Domino/Notes ab 4.6 aktuell 10.1FP3
Traveler 10.0.1FP1
PHP-Entwickler
Domino/Notes-Entwickler (Hobby)
Consultant (Informationssicherheit & Datenschutz)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Hallo Markus,

da habe ich Dich wirklich falsch verstanden. Du brauchst die Liste ALLER bisher verwendeter Locationen, Department und OfficeZip? Das geht sehr gut mittels DBColumn auf eine kategorisierte Ansicht (um doppelte Werte auszuschließen), aber dann müssen die Daten in der Ansicht sein, da hast Du vollkommen Recht.

Ein Profildokument, das periodisch aktualisiert wird, ist eine Variante (sicherlich die schnellste), alternativ kannst Du das im Postopen in ein Feld "berechnet zur Anzeige" rechnen (das Dokument muss dazu im Bearbeitenmodus sein, oder Du musste es im Postmodechange wiederholen). Dann sind die Daten ganz frisch, aber es dauert länger und Du riskierst evtl. ein 32K-Problem.

Um das Mengenproblem zu umgehen, ist es vielleicht ratsam, für jedes Feld ein eigenes Profildokument zu verwenden.

Offline rambrand

  • Senior Mitglied
  • ****
  • Beiträge: 469
  • Geschlecht: Männlich
Hallo Peter,

hab das jetzt mit dem Profildokument realisiert und lass den Agent einmal nachts drüberlaufen. Optional kann der auch mal manuell gestartet werden, falls notwendig.

Der Tipp mit DBColumn und den Kategorien ist gut. Ich hatte das immer mit @unique eingedampft. Aber wenn ich die kategorisierte Spalte mit DBColumn einlese, gewinne ich Performance.

Danke.

Bye,
Markus
Domino/Notes ab 4.6 aktuell 10.1FP3
Traveler 10.0.1FP1
PHP-Entwickler
Domino/Notes-Entwickler (Hobby)
Consultant (Informationssicherheit & Datenschutz)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz