Notes/Dominoの開発をされている方は、フィールドの種類に「式」なるものがあることは、何となくご認識されてるかもしれません。

でも、何に使うものだろう。
ヘルプを見るとこんなことが書かれています。
「購読リストを集計するのに使用されます。これは [購読] データベース (headlines.nsf) と連携して動作します。」
購読?そういわれても、あまり馴染みがないなぁ。
この作文では、そこを説明させていただきたい。。というわけではありません。
そもそも「式」と名乗るからには純粋に「式」として使うことって出来ないだろうか?
話を進める前に。
いったんこちらの吉田さんの記事を紹介しておきたいと思います。
昨年これが出た時は、「がーん 隠し持ってたつもりのネタを吉田さんに先行された~」、だったのですが、
式言語の @Eval関数を使って式を共通化する、というお話が載っています。
あるテキストフィールドに式を書き、複数の個所から@Eval関数で参照すれば式を共通化できるというもの。
ただ、@Evalが参照するテキストフィールドでは
式の引用符や中括弧をエスケープしなくてはならない点が制限である旨を書かれています。
ここで、参照先のフィールドを「式」にしたら?
フィールドの種類「式」と「式を表示」を選択します。

そうすると、
フィールド内には純粋に対象の式だけを書けば良く、全体を引用符で囲まなくて済み。だからエスケープも考慮しなくて済みます。
@Eval関数を介してこのフィールドの式は、きちんと期待どおりに動きます。
式フィールドを使えば@Eval関数を使って式を指定するハードルがぐんと下がると思います。
私自身は、@Evalは必須チェック(入力の確認/Input Validation)でよく利用します。
Notes/Dominoはフィールドの見出し名をフィールドの属性として持たないので、
見出し名を変数にして@Evalの式でフィールドに渡し、
見出し名を変数にして@Evalの式でフィールドに渡し、
フィールドの側では保存時に限り「○○(見出し名)は必須です」といったメッセージをだす形です。
ただ、式フィールドの使用には、わずかにひっかかることがあります。
文書にフィールド値が保存されてしまう点です。
テキストフィールドなら「表示用の計算結果」を指定すれば文書に値が残りません。が、「式」フィールドには「表示用の計算結果」がありませんから、文書にフィールド値が保存されます。
1文書あたりのサイズとして大したことはないのですが、同じ値を全文書が持つのは、いまいち美しくない。
そんなわけで、私は今後のリリースで「式」フィールドに「表示用の計算結果」がサポートされることを待っているのですが、IBMさん、
そもそもこんな使われ方想定してなかったでしょうけど、検討してくれないかなぁ。
続きを読む