Autor Thema: Funktionsweise Computed for Display-Feld  (Gelesen 707 mal)

Offline buzzy666

  • Aktives Mitglied
  • ***
  • Beiträge: 177
  • Ich liebe dieses Forum!
Funktionsweise Computed for Display-Feld
« am: 15.02.24 - 10:28:47 »
Mahlzeit zusammen,

ich habe in eine Maske eine handvoll CfD-Felder eingefügt in der naiven Hoffnung, dort den Inhalt eines versteckten Feldes anzeigen können zu lassen, ohne das Dok zu bearbeiten und zu refreshen.
Die Formel so eines Feldes ist z.B.

tmp := "";
@For(i := 1; i <= @Elements(schaltungen); i := i +1;
   tmp := tmp + @Char(10) + @Explode(schaltungen)[1]
);
@Explode(tmp; @Char(10))


Wobei "schaltungen" ein Listenfeld ist, in dem z.b. sowas steht

CE653K3TAA052404386146;1;80;20;P;-;-
CE653K3TAA052404386147;2;80;20;P;-;-
CE653K3TAA052404386148;3;80;20;P;-;-


In o.g. Fall sollten in dem CfD-Feld also lediglich stehen

CE653K3TAA052404386146
CE653K3TAA052404386147
CE653K3TAA052404386148


Nun erscheint das aber erst so, nachdem ich das Dok bearbeitet und mal F9 gedrückt habe. Laut Hilfe würde ich das anders erwarten:

A computed-for-display field formula recalculates each time a user opens or saves a document. Use this type of formula in a field to display information that is relevant only to the immediate session, such as the current time or the results of calculations that you don't need to save. The field value exists during the current session only and is not stored. You cannot display the contents of a computed-for-display field in a view.

Komischerweise sehe ich die o.g. Felder auch in den Dok-Eigenschaften (inkl. Wert).
Aber das sollte doch an sich so funktionieren wie ich mir das dachte, oder?

Grüße,
Buzzy


Offline buzzy666

  • Aktives Mitglied
  • ***
  • Beiträge: 177
  • Ich liebe dieses Forum!
Antw:Funktionsweise Computed for Display-Feld
« Antwort #1 am: 15.02.24 - 10:49:34 »
Funfact: wenn ich die Felder umbenenne funktionieren sie wie erwartet... I love Notes  ???

Offline CarstenH

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 672
  • Geschlecht: Männlich
Antw:Funktionsweise Computed for Display-Feld
« Antwort #2 am: 15.02.24 - 10:57:07 »
Mich wundert eher, warum du die Formelsprache mit Schleifen und Zählern benutzt, als wäre es Script.

Die CfD-Formel für deinen Anwendungsfall ist ein ganz simpler Einzeiler:

Code
@Word(Schaltungen;";";1)

Getestet, funktioniert. Im Bearbeiten- und Ansichtsmodus. Siehe Screenshot.

HTH
Carsten

Offline Riccardo Virzi

  • Junior Mitglied
  • **
  • Beiträge: 70
Antw:Funktionsweise Computed for Display-Feld
« Antwort #3 am: 15.02.24 - 11:01:27 »
Ganz wichtig bei computed for display Feldern: das Feld darf NICHT im Dokument gespeichert werden.

Nehmen wir mal an, das Feld heißt schaltungen_display. Wenn Du Dir die Feldeigenschaften im !!!geschlossenen!!! Notes Dokument ansiehst, zum Beispiel in einer Ansicht, dann darfst Du kein Feld schaltungen_display sehen. Wenn Du das Dokument im Notes Client öffnest, muss das Feld sichtbar sein. Wenn Du das Dokument schließt und nochmal in einer Ansicht die Feldeigenschaften ansiehst, muss das Feld wieder weg sein.

Wenn das Feld schaltungen_display im Dokument gespeichert ist, dann hat das genau den von Dir beschriebenen Effekt: öffne das Dokument und das computed field wird NICHT neu berechnet. Erst wenn Du manuell F9 drückst oder nochmal speicherst. Benennst Du den Feldnamen um in schaltungen_display_1 und das Feld schaltungen_display_1 ist NICHT im Dokument gespeichert, dann wird das Feld direkt beim Öffnen berechnet.

Das ist ein bekanntes Feature ;D:
Computed for display Felder werden normalerweise beim Speichern entfernt. Bestimmte Skript Funktionen interessiert das aber nicht. Ich glaube in der Klasse NotesDocument die Funktion computeWithForm gehört da mit dazu.

Offline buzzy666

  • Aktives Mitglied
  • ***
  • Beiträge: 177
  • Ich liebe dieses Forum!
Antw:Funktionsweise Computed for Display-Feld
« Antwort #4 am: 29.02.24 - 09:22:54 »
Mich wundert eher, warum du die Formelsprache mit Schleifen und Zählern benutzt, als wäre es Script.

Die CfD-Formel für deinen Anwendungsfall ist ein ganz simpler Einzeiler:

Code
@Word(Schaltungen;";";1)

Getestet, funktioniert. Im Bearbeiten- und Ansichtsmodus. Siehe Screenshot.

HTH
Carsten

Guter Punkt  :o
Das macht's deutlich übersichtlicher :-)
Merci!

Grüße,
Buzzy

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz