201812 のの会@関数Talk 8th | Talks around @Functions in Notes and Domino

143 Views

December 16, 18

スライド概要

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

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- 2018/12/13 @関数Talk 第8回 公開版 ネオアクシス株式会社 阿部覚 (tw:) @abesat

2.

今月は なにやら急転直下の事変が起きて おそらく私もみなさんも そわそわの最中ですが このトークはあんまし関係なしに すすめたいと思います😅

3.

@ThisName @ThisValueの 雑談

4.

IBMさんのヘルプ フィールドの、 名前や値を返す関数ですが それぞれの関数のヘルプには この↓注記が付されています

5.

Notes/Domino R5 以前は存在せず、 現在のフィールド名を式で使いたいときは 引用符つきでフィールド名を書く必要が ありました "FieldName" → いまは @ThisName も使えます 現在のフィールド値を式で使いたいときは 引用符なしでフィールド名を書く必要が ありました FieldName → いまは @ThisValue も使えます

6.

@ThisValueで例示すると かつてはこうする必要がありました いまはこんな式でもOKです

7.

つまり、過去の方法で 代替できないこともないですが、 何がうれしいかといえば • フィールド名の 書き間違え、つづりミスを防ぎやすい • 複数のフィールドで、同じ式をつかえて 開発を省力化できる ということだと思います

8.

でも、少し残念なことを ここでは2つ挙げようと思います

9.

残念なことその1 例:コメント入力がない時は 非表示にしたい @If(@IsDocBeingEdited; @False; @ThisValue=""; @True; @False)

10.

残念なことその1 非表示式では使えません フィールドのプロパティにあっても 段落の非表示式です

11.

残念なことその2 古くからのDBのバグを修正するとき フィールド名間違い Sales_3 と @ThisValue のどちらに直す?

12.

残念なことその2 古くからのDBのバグを修正するとき いっそ、 全部のフィールドの式を @This~に直したい衝動にかられます

13.

もうひとつ、 @ThisName のほうは いまいち利用しづらい というのもありますが これはまた機会があれば

14.

@Failureな 雑談

15.

これまでも出したように @Failure といえば 編集可能なフィールドの 「入力の確認」で @Successと組み合わせて こんなふうに使用されます

16.

ところで、前2回を通じて • @All、@True、@Yes、@Success は 数値の1である • @False、@No は 数値の0である というお話をさせていただきました

17.

つまり…こんな感じ 要するに、 1 要するに、 0 @All @True @False @Yes @No @Success

18.

@Trueと@False、 @Yesと@Noは、対で使われますが 1 0 @All @True @False @Yes @No @Success

19.

では、 @Successと対で使われる@Failureも 値は0なの? 1 0 @Success @Failure

20.

そこで、 ヘルプに「@Failure は入力確認式のみで使用します。」とあるのを無視して 計算結果のフィールド値として @Failureを指定してみます

21.

文書を作成するとこうなりました @Failureで指定したメッセージが そのまま@Failureの戻り値に。 0が返るわけではないようです ここで、ある疑問がわき、

22.

この入力確認式だと、 文書保存時にこんな警告が出るわけですが

23.

入力確認式、こうしちゃうと、 文書保存時に警告… 出たっ!

25.

いくつか試してみると どうやら入力確認式は、 戻り値が数値なら保存OK 戻り値が文字列だと保存NGで その文字列が警告メッセージになる @Success、@Failure どちらも使わずとも機能するようです

26.

実はヘルプを見直すと こんなことが書かれていました IBMさんのヘルプ これだけ読んでもぴんときませんね… 今回はじめて 意味が分かった気がします

27.

今回もありがとうございました!