202305 のの会@関数Talk 45th | Talks around @Functions in Notes and Domino

191 Views

February 02, 25

スライド概要

Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第44回は @DocFields について

profile-image

Notes/Domino worker - Formula language ♡er, #IBMChampion '15 & #HCLAmbassador '20 - '23, Nature Game (Sharing Nature) leader

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

@ -notes knows community- 2023/05/11 @関数Talk 第45回 公開版 ✔ @DocFields @ 阿部 覚 (tw:) @abesat Talks around @Functions in Notes and Domino 45th

2.

@ 意外と知られていない…? 私はけっこう使っていまして @

3.

@ @DocFields @ で放談

4.

@ @DocFields ヘルプによれば 「文書のすべてのフィールドのリストを返します。」 「この関数は、文書内で実行するどの式でも使用できます。 列式やビュー選択式では機能しません。」 @

5.

@件名と本文をテキスト入力するだけの 単純なフォームでためしてみましょう テキストフィールド3つだけのフォームを作りました TitleとBodyTxtは編集可能な フツーのフィールド DocFieldsは 表示用の計算結果で ここに式として @DocFields を入れておきます @

6.

@このフォームで文書を作成した時 F9キーまたはF5キーを押すと @

7.

@Ctrl+S で保存すると F9キーまたはF5キーを押すと @

8.

@Ctrl+S で保存すると F9キーまたはF5キーを押すと @

9.

@また、保存後に一度閉じた文書を開くと @

10.

@ @DocFields は、前述のように、 ・文書内のすべてのフィールドのリスト なんだけど、とりあえずは こんな性格がある…と思われます ・$で始まる自動生成フィールドも含む ・表示用の計算結果も含む (表示中の文書内で一時的にでも存在する間は) @ ・文書更新したり保存するタイミングで計算される (保存の「直前」に計算されるのでは)

11.

@私はどんなことに使ってるかというと ビューで使っています いくつかのフォームが混在するDBで どんなフォームの文書でもとりあえず 多少は中身を表示してくれるビュー を作って、利用しています @

12.

どんなフォームの文書でもとりあえず @ 多少は中身を表示してくれるビュー: @ 列ごとに、 " @DocFields の○個目 " の 「フィールドID」と、(可能なら)「その内容」を 表示しています

13.

@ あれ、待てよ? 冒頭で… @DocFields ヘルプによれば 「文書のすべてのフィールドのリストを返します。」 @ 「この関数は、文書内で実行するどの式でも使用できます。 列式やビュー選択式では機能しません。」

14.

@ビューで動いてるよ、ヘルプ間違ってるやん と、突っ込もうとしてたんですが @ よくよく見ると、少し事情がありそうで…

15.

@こちらの列は、式もそのまま @DocFields ですが 文書プロパティ上には残っていないフィールド 文書を開いたときしか表示されないはずの 表示用の計算結果や、$始まりのシステムフィールドが ビュー列上の @DocFields で表示されることがあります @ どうやらビュー列上 @DocFields は、 文書が保存される時点の画面UIが反映される感じなのです (👆「る」であって「た」ではなさそう😬)

16.

@ でもまあ、そこを踏まえてさえおけば 文書上に常にあるものは表示してくれてるわけなので ビューで使ってもいいんじゃない? 例えばこんな使い方はできると思っていますが @

17.

@文書リンクやDBリンクなど、 Notesのリンクが文書内に貼り付けられると $Links というフィールドが自動生成されます $Links をビュー列で指定しても何も表示されません (@IsAvailable 関数も使えません) でも、@DocFields には含まれるので、 たとえば こんな式で 列アイコンを使って @ リンクの存在をビューで表示できます

18.

を使った他の応用例として、 @@DocFields いまは更新がなくなってしまった Notes サポートのブログに2例 設計を隠してあるDBで文書のフィールドを表示する http://hnagasim.blog8.fc2.com/blog-entry-191.html @ スマートアイコン: アイテムの変更と削除 http://hnagasim.blog8.fc2.com/blog-entry-23.html 特にこちら 私は強烈重宝しています

19.

@ 最後に私のフォームでの応用例をちらっと どんなフォームで作られた文書でも とりあえず全フィールドの中身を テキスト表示する着せ替えフォーム @

20.

@とりあえず全フィールドの中身を テキスト表示する着せ替えフォーム は フォームにフィールドはひとつも置かず たったひとつの計算結果テキストを置きまして そこへ@DocFieldsを使った式を入れます @

21.

@これで、ひとまず文書内の全フィールドの IDと値を表示しちゃうものです @ フィールド定義のないアイテムや 隠しフィールド等の確認に 本来のフォームで表示中の文書を 「フォームの切り替え」で、 あるいは、設計上のフォームが失われた文書の 中身を見るのに使えるかと

22.

@ 式については次回 他の関数も使用するため 放談は @For @Elements などの予定でおります♥ @

23.

@ 今回もお付き合い ありがとうございました 😀 @