O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

201812 のの会@関数Talk 8th

329 visualizações

Publicada em

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

Publicada em: Software
  • Login to see the comments

  • Seja a primeira pessoa a gostar disto

201812 のの会@関数Talk 8th

  1. 1. -notes knows community- 2018/12/13 ネオアクシス株式会社 阿部覚 (tw:) @abesat @関数Talk 第8回 公開版
  2. 2. 今月は なにやら急転直下の事変が起きて おそらく私もみなさんも そわそわの最中ですが このトークはあんまし関係なしに すすめたいと思います😅
  3. 3. @ThisName @ThisValueの 雑談
  4. 4. IBMさんのヘルプ フィールドの、 名前や値を返す関数ですが それぞれの関数のヘルプには この↓注記が付されています
  5. 5. いまは も使えます いまは も使えます Notes/Domino R5 以前は存在せず、 現在のフィールド名を式で使いたいときは 引用符つきでフィールド名を書く必要が ありました "FieldName" → @ThisName 現在のフィールド値を式で使いたいときは 引用符なしでフィールド名を書く必要が ありました FieldName → @ThisValue
  6. 6. かつてはこうする必要がありました @ThisValueで例示すると いまはこんな式でもOKです
  7. 7. つまり、過去の方法で 代替できないこともないですが、 何がうれしいかといえば • フィールド名の 書き間違え、つづりミスを防ぎやすい • 複数のフィールドで、同じ式をつかえて 開発を省力化できる ということだと思います
  8. 8. でも、少し残念なことを ここでは2つ挙げようと思います
  9. 9. 残念なことその1 例:コメント入力がない時は 非表示にしたい @If(@IsDocBeingEdited; @False; @ThisValue=""; @True; @False)
  10. 10. 残念なことその1 フィールドのプロパティにあっても 段落の非表示式です 非表示式では使えません
  11. 11. 残念なことその2 フィールド名間違い 古くからのDBのバグを修正するとき Sales_3 と @ThisValue のどちらに直す?
  12. 12. 残念なことその2 古くからのDBのバグを修正するとき いっそ、 全部のフィールドの式を @This~に直したい衝動にかられます
  13. 13. もうひとつ、 @ThisName のほうは いまいち利用しづらい というのもありますが これはまた機会があれば
  14. 14. @Failureな 雑談
  15. 15. これまでも出したように @Failure といえば 編集可能なフィールドの 「入力の確認」で @Successと組み合わせて こんなふうに使用されます
  16. 16. ところで、前2回を通じて • @All、@True、@Yes、@Success は 数値の1である • @False、@No は 数値の0である というお話をさせていただきました
  17. 17. つまり…こんな感じ @All @True @Yes @Success 要するに、1 @False @No 要するに、0
  18. 18. @Trueと@False、 @Yesと@Noは、対で使われますが @All @True @Yes @Success 1 @False @No 0
  19. 19. では、 @Successと対で使われる@Failureも 値は0なの? @Success 1 @Failure 0
  20. 20. そこで、 ヘルプに「@Failure は入力確認式のみで使用します。」とあるのを無視して 計算結果のフィールド値として @Failureを指定してみます
  21. 21. 文書を作成するとこうなりました @Failureで指定したメッセージが そのまま@Failureの戻り値に。 0が返るわけではないようです ここで、ある疑問がわき、
  22. 22. 文書保存時にこんな警告が出るわけですが この入力確認式だと、
  23. 23. 文書保存時に警告… 入力確認式、こうしちゃうと、 出たっ!
  24. 24. いくつか試してみると どうやら入力確認式は、 戻り値が数値なら保存OK 戻り値が文字列だと保存NGで その文字列が警告メッセージになる @Success、@Failure どちらも使わずとも機能するようです
  25. 25. 実はヘルプを見直すと こんなことが書かれていました これだけ読んでもぴんときませんね… 今回はじめて 意味が分かった気がします IBMさんのヘルプ
  26. 26. 今回もありがとうございました!

×