202007 のの会@関数Talk 22nd | Talks around @Functions in Notes and Domino

318 Views

November 15, 20

スライド概要

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

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- 2020/07/09 @関数Talk 第22回 公開版 @ 阿部 覚 (tw:) @abesat

2.

@ 今回は Notes文書の「種類」と絡めて こちらの関数のおはなしをさせて頂こうと思います @

3.

@ @AllChildren @AllDescendants @ を雑談

4.

@ まずは予習として、Notesの文書を構成する「フォーム」の 種類について フォームには3つの種別があります ● ● 「文書」 ● ● 「返答」 ● ● 「返答への返答」 @ ふつうは「文書」を使用しますが 他の文書を親文書と認識するタイプの文書には 「返答」または「返答への返答」を使用します いつものように製品画面は英語版を使用しています

5.

@ まずは予習として、フォームのタイプについて 「返答」「返答への返答」が 使用されているアプリケーション(DB)では、 ビューがこんな風にスレッド表示されています @ (ビューのプロパティで「返答文書の階層表示」が使用されています)

6.

@ まずは予習として、フォームのタイプについて 「返答」は 作成時に選択中のスレッド内で、 常に先頭の「文書」に対する返答となります ←選択中の文書は これだけど @

7.

@ まずは予習として、フォームのタイプについて 「返答」は 作成時に選択中のスレッド内で、 常に先頭の「文書」に対する返答となります 作成時に選択中の文書はこれだけど @ したがって階層表示の中で必ず2階層目の文書になります。 「常に親文書に対する"子"レベルの文書になる」 といえばわかりやすいでしょうか Mother !

8.

@ まずは予習として、フォームのタイプについて 「返答への返答」は 作成時に、選択中の文書そのものに対する返答となります ←選択中の文書 @

9.

@ まずは予習として、フォームのタイプについて 「返答への返答」は 作成時に、選択中の文書そのものに対する返答となります Mother ! @ 「返答への返答」という呼び方にだまされそうですが 「常に"孫"レベルの文書になる」というわけではなく、 選択中の文書次第で、 "子"にも "孫"にも "ひ孫"にも "やしゃご"…にも、なりえます

10.

@ 予習の復習 @

11.

@ 予習の復習(引用元は中野さんのブログ) https://harunakano.blogspot.com/2010/02/blog-post_17.html @

12.

@ と、ここまで確認したところで やっと関数のお話です @

13.

@AllChildrenと@AllDescendantsについて @ ビューの選択式で使用する関数です SELECT Form = "Main" | @AllChildren SELECT Form = "Main" | @AllDescendants @ 書式はほぼこの通り 先頭文書の条件 以外は、常にこの形で使うと考えてよいと思います (なお試してみた所、式の順番違いはOKみたい (なお試してみた所、式の順番違いはOKみたい SELECT SELECT @AllDescendants @AllDescendants || Form Form = = "Main" "Main" など) など)

14.

@AllChildren @ SELECT Form = "Main" | @AllChildren 先頭文書(親文書)と、その子文書を表示します つまり親子レベルまでしかスレッド表示しないです @

15.

@AllDescendants @ そもそもDescendantsとは 👇 SELECT Form = "Main" | @AllDescendants @ 先頭文書(親文書)と、連なるすべての子文書・孫文書…を表示します

16.

@ 関数単体でのSELECTは… 条件部分を除いて 返答文書だけを表示 …はできません @ @AllDescendantsも同様 @AllDescendantsも同様 (詳しい方には念のため: ビューのプロパティで「返答文書の階層表示」を 解除しても表示されません)

17.

@ ところで、中野さんはこうも書いていました @

18.

@ 問題 もし、「文書」と「返答への返答」の2フォームだけで ディスカッションDBを実現した場合 SELECT Form = "Document" | @AllChildren この式を使ったビューはどうなるでしょうか? ("Document"は「文書」のフォーム名と仮定) @ 1.「返答の返答」は表示しない。「文書」だけ 2.「返答の返答」も「文書」の"子"なら表示 3.「返答の返答」もすべて表示

19.

@ 確認しましょう ここを @AllChildrenに 変更すると: @

20.

@ 答え: こうなります @

21.

@ 答え: 1.「返答の返答」は表示しない。「文書」だけ 2.「返答の返答」も「文書」の"子"なら表示 3.「返答の返答」もすべて表示 @

22.

@ 答え そもそも、フォームの種類 「返答」「返答への返答」の違いって、 文書を作成するときの動きの違いだけ、だと思われます つまりは 「おかあさんの決め方」 だけの違いです @ 生まれたときに ・スレッドの先頭文書 ・選択中の文書 どちらを見てるかの違い ですね

23.

@ 答え @AllChildrenは 「返答」のフォームで 表示対象を判断してるのではなく 純粋に1階層目の返答(子文書) だけを拾っているようです @

24.

@ ご参考ですが 手元にある環境(V10)で見る限り 標準のディスカッションテンプレートでは 「返答」フォームを使っていません Responseという名称の 「返答の返答」フォーム 「文書」と 「返答への返答」の 2つでディスカッションを実現 …しているようです @

25.

@ おまけで… @

26.

@ @IsResponseDoc をちょこっと雑談 @

27.

@IsResponseDoc @ 現在の文書が「返答文書かどうか」を返す関数です 現在の文書が「返答文書かどうか」を返す関数です 返答文書なら1を返しそうでなければ0を返します 返答文書なら1を返しそうでなければ0を返します 通常は 「文書」フォームの文書なら0 「返答」「返答への返答」フォームの文書なら1です。 …ということは: @

28.

@IsResponseDoc @ @AllDescendantsの代わりに使えてしまいます 「返答文書の階層表示」をしていれば、ですが… @

29.

@ 今回ところどころで触れた 「返答文書の階層表示」 については ブログなどで フォローしたいと思います 今回もお付き合い ありがとうございました 😀 @