201805 のの会@関数Talk 2nd | Talks around @Functions in Notes and Domino

>100 Views

May 11, 18

スライド概要

Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆこうと思います。
第2回は @IsNewDoc・@WindowTitle・@Now について

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/05/09 ネオアクシス株式会社 阿部覚 (tw:) @abesat

2.

前回=初回の「おためし篇」では、 どんな関数を扱うかは@Randomです、 と申しました。 とはいえ、何か取り上げ方の物差しがないと、 節操がなさそうな ネタ切れもおきそうな予感がしていますが、 現時点では、今回も@Randomです。(汗)

3.

の雑談

4.

IBMさんのヘルプ つまりは 「新規作成中の文書かどうか」を 表す関数ですね

5.

ヘルプでの用例は いずれもウィンドウタイトル式ですが

6.

私がとくに @IsNewDocの使用をおすすめしたいのは たとえば 「作成時の計算結果」フィールドです。

7.

IBMさんのヘルプ 「作成時の計算結果」? そもそも作成時しか動かないのに @IsNewDocで 「作成時かどうか」を みる意味があるの?

8.

問題は、そのフィールドが 既存アプリケーションに あとから改修で追加されたもので ある場合です。

9.

(例)今までなかったけど、今度から 文書作成者の現所属部署も表示することにしよう! 後から追加した作成時の計算結果 作成者の所属を自動で出すような式が この部分にあるとお考え下さい 古い文書には、もともと入ってない所属は 新たに計算・表示しないようにします。

10.

IBMさんのヘルプ ヘルプには、便宜上こう書かれていますが 作成時の計算結果は、正確には 「フィールドが初めて生成された場合に計算を実行」 するものと考え、既存アプリに追加する場合には 注意してください。 編集可能フィールドを後から追加する場合も 「デフォルトの式」や「入力の確認」で @IsNewDocによるチェックが意味を持ちます。

11.

の雑談

12.

IBMさんのヘルプ 要するに、これを返す関数ですね!

13.

私が云いたいこと: @DbTitleは、 使えるところでは積極的に使いましょう 私がよく使う箇所 ・ウィンドウタイトルの式 ・ナビゲーション

14.

と、いうのは、 古くからNotes/Dominoを使用している 環境では こういう残念なアプリを時々見かけるからです。 オモテの名前と 中の名前が違うよ!

15.

原因は: ナビゲーション上のページでは ”××チーム掲示板”を値で指定していた 後から利用者がDBプロパティ上で タイトルだけ変更

16.

こんな状況を予防するためにも 設計内で「アプリの名前」を指定する箇所では 直接アプリ名を書くよりも なるだけ@DbTitleをご活用ください。

18.

@Nowは、現在の日時を返す関数ですが Notes/Domino 6から パラメータが追加になっています。

19.

IBMさんのヘルプ

20.

パラメータを使うと、 サーバーの時間を返すことができます。 パラメータを使わなければ、 セットされるのはローカルコンピュータ、 つまりは手元のパソコンの時間です。 (できれば逆にしてほしかった…)

21.

よく考えると日付を返す3つの関数には このパラメータはありません。 昨日を返す 今日を返す 明日を返す @Yesterday @Today @Tomorrow それぞれのヘルプにはこんなことが書かれています。 IBMさんのヘルプ

22.

したがって、もし 昨日・今日・明日の値を どうしてもサーバーから取得したい場合は (PCの時間を不正に変更して文書の時間をごまかす いたずらを断固防止したい場合は) @Nowを代わりに使った式を組み立てる必要が ありそうです。 その式についてはまたの機会に…

23.

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