Autor Thema: Verknüpfung eines Feldes in zwei Masken  (Gelesen 2341 mal)

Offline MarkusL

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Geschlecht: Männlich
Verknüpfung eines Feldes in zwei Masken
« am: 29.03.10 - 12:09:20 »
Hallo zusammen,

habe leider keinen Eintrag zu meinem Problem gefunden.

Ich habe in einer DB die beiden Masken "Erfassung" und "Konfiguration".

In der "Konfiguration" sollen ca. 25 Werte erfasst werden, die in der "Erfassung" angezeigt werden. Die Werte können sich im Laufe der Zeit ändern.

Ich wollte ein DB-Profildokument erstellen, aber wegen einiger negativer Einträge hier, habe ich das nicht gemacht. Ausserdem ist mir nicht klar, wie ich mir das Profildokument wieder anzeigen lassen kann, so dass es eine bestimmte Nutzergruppe ändern könnte.

Somit ist die "Konfiguration" ein einfaches Dokument geworden.

Wenn ich mir die 25 Felder mit @dblookup ziehe, bin ich der Meinung, dass dies erhöhte Rechenleistung je Dokument beansprucht und da wir über Citrix und mehreren User am Tag ca. 200 Dokumente in dieser DB bearbeiten, ist mir das zu kritisch.

Also wollte ich das ganze mit @getdocfield darstellen. Aber dazu müsste ich die Dokument-ID des "Konfigurations"-Dokumentes haben. Da ich die Schablone aber für mehrere DBs verwenden will, kann ich die ID nicht fest einbinden.

Jetzt bin ich mit meinem Anfängerlatein am Ende. Gibt es eine andere Möglichkeit als die oben beschriebenen, die 25 Felder auszulesen?

Danke für die Hilfe im voraus.

Schöne Grüße
Markus
Version Lotus Notes / Domino: 8.5.3
Server: 1 Cluster, 1 weiterer Server
Anzahl Benutzer: ca. 230

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Verknüpfung eines Feldes in zwei Masken
« Antwort #1 am: 29.03.10 - 12:27:41 »
Hallo und Willkommen,

Frage.
Du sagst, dass sich die Werte aendern koennen.
In welcher Deiner beiden Masken sollen denn dann die Aenderungen vorgenommen werden?


Andreas

Offline MarkusL

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Geschlecht: Männlich
Re: Verknüpfung eines Feldes in zwei Masken
« Antwort #2 am: 29.03.10 - 12:51:59 »
Hi Andreas,

in der Konfig sollen bei Bedarf die Änderungen von einer bestimmten Benutzergruppe vorgenommen werden, so dass sich die Felder in der Erfassung bei der Anlage eines neuen Dokumentes automatisch füllen. Sobald ein Dokument in der Erfassung gespeichert wurde, sollen sich die Feldinhalte nicht mehr ändern.

Markus
« Letzte Änderung: 29.03.10 - 13:25:43 von MarkusL »
Version Lotus Notes / Domino: 8.5.3
Server: 1 Cluster, 1 weiterer Server
Anzahl Benutzer: ca. 230

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Verknüpfung eines Feldes in zwei Masken
« Antwort #3 am: 29.03.10 - 13:24:42 »
Hallo,

Auf Anhieb fallen mir das 2 Moeglichkeiten ein.

Maskenformel in der Ansicht oder
Teilmasken, wobei ich eher zu der Variante den Teilmasken tendiere.


Andreas

Offline MarkusL

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Geschlecht: Männlich
Re: Verknüpfung eines Feldes in zwei Masken
« Antwort #4 am: 29.03.10 - 13:28:08 »
Hallo Andreas,

aber in den Teilmasken muss ich die Feldwerte doch auch mit @getdocfield o.ä. aus dem Konfig-Dokument auslesen oder nicht?

Markus
Version Lotus Notes / Domino: 8.5.3
Server: 1 Cluster, 1 weiterer Server
Anzahl Benutzer: ca. 230

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Verknüpfung eines Feldes in zwei Masken
« Antwort #5 am: 29.03.10 - 13:44:24 »
Nein.

Du erstellst eine Teilmaske, mit all Deinen Feldern, die editiertbar sind.
Wenn Du moechtest, kannst Du in dieser Teilmaske auch die Felder "berechnet zur Anzeige" zusaetzlich erstellen.
Befindet sich das Dokument im Editmodus und handelt es sich um die Maske "Konfiguration", dann blende die editierbaren Felder ein ansonsten die berechneten Felder.
Alternativ kannst Du auch eine zweite Teilmaske erstellen, in der die entsprechenden Feld nur berechnet sind.

Anschliessend erstelltst Du die Maske "Konfiguration" und "Erfassung" und bindest in beide Maske die erstellt Teilmaske ein.
Wenn Du mit zwei Teilmasken arbeiten moechtest, dann muss die entsprechende Teilmaske per Formel berechnet werden.


Andreas

Offline MarkusL

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Geschlecht: Männlich
Re: Verknüpfung eines Feldes in zwei Masken
« Antwort #6 am: 29.03.10 - 14:04:07 »
Hallo Andreas,

danke für die Hilfe. Das wäre eine Lösung. Nur leider kommt die zu spät, da ich bereits Erfassung-Masken erstellt habe und hier viele Formeln drin stecken. Im Prinzip sind die angesprochenen änderbaren Felder nur die Beschreibung zu den eigentlich berechneten Feldern. Das ganze ist in Tabellen strukturiert. Also kann ich im Moment nicht mit Teilmasken arbeiten. Das werde ich bei der nächsten DB vorher überdenken.

Ich gebe mich jetzt erstmal geschlagen.

Danke für die Hilfe.

Gruß Markus
Version Lotus Notes / Domino: 8.5.3
Server: 1 Cluster, 1 weiterer Server
Anzahl Benutzer: ca. 230

Offline Keydins

  • Aktives Mitglied
  • ***
  • Beiträge: 163
  • Geschlecht: Männlich
Re: Verknüpfung eines Feldes in zwei Masken
« Antwort #7 am: 26.04.10 - 15:50:07 »
Hallo Markus,

du könntest für das Dokument mit den 'Stammdaten' eine versteckte Ansicht erstellen, die nur eine Spalte mit der DokumentUNID enthält. Dann kannst du per @DbColumn diese Spalte abrufen und erhälst die UNID des 'Stammdatendokuments', die du dann im weiteren Verlauf deiner Formel an die diversen @GetDocField übergeben kannst.

Zusätzlich empfiehlt sich, beim Anlegen eines 'Stammdatendokuments' zu prüfen, ob in der Datenbank schon ein deratiges Dokument gespeichert ist (ansonsten bekommst du mehrere IDs über das @DbColumn zurückgeliefert).
Gruß Dirk

Aktuelle Notesumgebung
~800 BasicClients 9.0.1 FP9 SHF55
  10 FullClients 9.0.1 FP7 SHF143
    7 DominoServer 9.0.1 FP9 HF 139 / 64 Bit

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Verknüpfung eines Feldes in zwei Masken
« Antwort #8 am: 26.04.10 - 16:10:15 »
@Keydins,

Das wuerde aber nur dann einigermassen funktionieren, wenn er die
Dokumenten-ID des entsprechenden Stammdatendokumentes kennt.

Und dieses geht aus seiner bisherigen Beschreibung nicht hervor, dass er diese kennt.

Und desweiteren koennte er ja dann die Formel gleich in den entsprechenden
Felder verwenden, sofern deise berechnet bzw. berechnet zur Anzeige sind und braucht kein @SetField.


Andreas

Offline Keydins

  • Aktives Mitglied
  • ***
  • Beiträge: 163
  • Geschlecht: Männlich
Re: Verknüpfung eines Feldes in zwei Masken
« Antwort #9 am: 26.04.10 - 16:35:29 »
So wie ich ihn verstanden habe, verzichtet er auf das klassische Konfigurationsdokument (Profildokument), aus dem er per @GetProfileField Daten abrufen könnte, weil die Stammdaten im laufenden Betrieb änderbar sein sollen und er dann ggf. durch ein Caching-Problem nicht immer die aktuellen Daten für seine 'Erfassungsdokumente' bekommt.

Anstelle eines Profidokuments setzt er auf ein reguläres Dokument. Dieses Dokument kann er auf Basis der verwendeten Maske in einer Ansicht anzeigen lassen. Und auf eben jene Ansicht greift er dann per @DbColumn zu, um sich aus einer Spalte die UNID dieses Dokuments abzuholen.

Mit dieser ID kann er dann in seinen 'Erfassungsdokumenten' mit Hilfe des @GetDocField die gewünschten Felder mit Daten füllen (Berechnet beim Anlegen). Idealerweise schreibt er die UNID des 'Stamdatendokuments' in ein verstecktes Feld (ebenfalls Berechnet beim Anlegen), das von der Notesreihenfolge vor den anderen Feldern liegt. Somit muss er nicht in jeder Feldformel das @DbColumn aufrufen, um an die UNID der Stammdaten zu kommen.

Lasse mich aber gerne korrigieren, wenn ich den Prozess ansich falsch verstanden habe.

Gruß Dirk
Gruß Dirk

Aktuelle Notesumgebung
~800 BasicClients 9.0.1 FP9 SHF55
  10 FullClients 9.0.1 FP7 SHF143
    7 DominoServer 9.0.1 FP9 HF 139 / 64 Bit

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Verknüpfung eines Feldes in zwei Masken
« Antwort #10 am: 27.04.10 - 07:02:25 »
Du kannst auch mit einem DBLookup (oder DBColumn, je nach Aufbau der Ansicht) alle Daten holen. Erstelle in der Ansicht eine Spalte, in der alle 25 Felder in einem String angezeigt werden, getrennt durch ein eindeutiges Trennzeichen (oder auch mehrere) oder maskiert (z.B. <Feld>Wert1:Wert2</Feld>). Das Ergebnis wird dann auf die 25 Felder des neuen Dokuments verteilt. Hilfreiche Funktionen sind @Left, @Right, @Word, @Implode, @Explode

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz