-Notes/Dominoに関すること-Notes/Dominoに関する事をテキトーに書いていきます。いつまで持つかお楽しみということで。当ブログに掲載しているサンプルは、すべて利用者の自己責任とします。明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。してもと言う場合は、筆者にあらかじめご連絡ください。記事そのもののリンクについてはご自由に行っていただいてよいです。xxのようなサンプルを作って欲しいとかxxxの作り方を教えて欲しいというお問い合わせには応じていません。このようなお問い合わせは、株式会社エフまでご一報ください。2020年2月13日木曜日InitiallyModifiedについて皆さん、こんにちは。今日もヘルプに載っていない機能についての話です。日本語のみの投稿とします。今回は、NotesDocumentクラスのInitiallyModifiedプロパティです。いつものようにコードアシスタントを確認してみます。コードアシスタントに表示されるこのようにNotesDocumentクラスのプロパティとして候補に表示されるのがわかります。ヘルプを確認してみましょう。見事なまでにないのがわかりますね・・・しかし、今回はここであきらめずに検索してみました。ヘルプの検索結果おや?検索結果が出てきましたね。JavaScriptクラスのメンバーとして検索されました。文書が最初に変更された日付/時刻。ここで勘の鋭い方はNotesDocumentクラスのLastModifiedプロパティを思い出すのではないでしょうか?はい、InitiallyModifiedはこのプロパティと対になっているものです。具体的にどういったものかについて説明します。InitiallyModifiedは文書のプロパティのうち、「更新日(初回)」を取得するものです。LastModifiedは文書のプロパティのうち、「更新日(現在のファイル)」を取得するものです。どのプロパティを取得する?本当にそうなのかを確認するために、以下のようなサンプルを作成してみました。Subこれはビューアクションです。ビューで選択した最初の文書のプロパティを取得して画面に表示するものです。実行結果どうでしょう?説明の通りになっていますね。実はこのInitiallyModifiedは「@Modified」関数で代用できるそうです。使わなくても何とかなるでしょう。ソースコードに統一性を持たせたいのであれば、こちらを使ったほうがいいかもしれません。設計の更新日時を取得する方法を読むと良いでしょう。8.5から実装されたものになります。どうりでJavaScriptのヘルプに載っているんですね...それでは今日はこの辺で...Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。共有この投稿へのリンクリアクション:2020年2月10日月曜日CancelSendOnMissingKeyについて皆さん、こんにちは。ここのところ、英語で記事を書きました。Masterの加藤さまからの課題ということで書いてみました。Masterとしては(私自身を含めて)、誰も納得しないでしょう。新しいことを調べた結果について書き上げました。日本語にしなかったのには理由があります。実は、HCLへの苦情のつもりで書きました。私のブログは基本的にヘルプに書いてあることを元にしてあります。ヘルプを読んでもわからない、わかりにくいだろうというところを補足するつもりで書いてきたのです。サンプルなんかもそうです。ヘルプの補足なのです。日本語で書いても、HCLには届かないだろうということで英語で書いたのです。CancelSendOnMissingKey)を日本語化したものをここに書きます。英語が堪能な方にとっては、同じことの繰り返しになりますので、この記事はスルーしていただいてかまいません。始めましょう・・・コードアシスタントには出てくるけど、ヘルプの記述がないものがいくつかあります。今日はその中の一つであるNotesSessionクラスのCancelSendOnMissingKeyプロパティについて調べた結果を書いていきます。1.構文コードアシスタントを使うことでメソッドやプロパティの構文が表示されます。コードアシスタントによる構文の確認これによると、このプロパティの構文は次のようになりそうです。False2.デフォルト値これはプロパティなので、デフォルト値があるはずです。Falseのどちらかになります。NotesDocumentクラスのプロパティなので、Notes文書についても考慮する必要があります。新規文書の場合と既存文書の場合です。*厳密に言えば、既存文書の場合、色々なパターンが存在しますが、ここでは単にすでに作成してある文書とだけにしておきます。それぞれのデフォルト値はどうなっているのかについて調べてみましょう。次のようなコードを作成しました。Subこれを実行した結果は次の通りです。既存文書の場合どうやら、デフォルト値は常にFalseのようです。3.サンプルでは、この値をTrueに変更したら何が起きるのでしょうか?プロパティの名前から、メール送信に関するものではないかと推測しています。そこで、以下のようなサンプルを作ってみました。Sub実行してみたら、こんなエラーが出ました。エラーが発生...どうやら、メールを送信できないようにするようです。ちなみに、この後、プロパティをTrueにしてからNotes文書を保存するというサンプルを作成・実行してみましたが、正常に保存できました。上のサンプルで見たように、Trueにしておくと、メール送信が失敗します。これを利用して、画面の入力チェックやビジネスロジックのチェックに使うと良いのではないでしょうか?ただ、エラー番号が4000という一般的なエラー番号になっているので、その他のエラーとの切り分けがしづらいところです。できれば、他のエラー番号を割り当ててほしいですね。5.まとめサンプルではメール送信時のエラー判定用として使えそうだという話をしましたが、プロパティの名前からすると、正しい使い方とは言えなさそうです。どなたか、この機能について知っていたら、是非教えてください。それでは今日はこの辺で...Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。reading.Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。reading.Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。共有この投稿へのリンクリアクション:2020年1月24日金曜日フレームに表示する内容を動的に変更してみるこんにちは。Masterになってしまいました。昨年(2019年)はコミュニティ活動はほぼできてなかったというのに・・・なので、今年は少しブログにも力を入れようかと思います(思うだけならいいかな?)。1月ももう1週間で終わろうという時期ですが、2020年初ブログといきます。今日は、フレームセットのちょっとしたテクニックです。フレームセットを使ったNotesアプリケーションを普段から開発している方にはわかりきった話かと思いますが、あまり紹介されていないようなのであえて書きます(自分自身の備忘録でもあります)。通常、フレームセットはフレームを区切って、それぞれのフレームに何を表示させるのかを選択します。あるフレームセットはこんな感じでしょうか。フレームセットのサンプル左側にアウトライン用のフレーム、右上がビュー表示用のフレーム、右下はプレビュー用のフレームです。それぞれのフレームに何を表示するかはプロパティ画面で設定します。下図は、「(一般用アウトラインページ)」というページを表示させるように設定したものです。「値」は黄色のフォルダアイコンをクリックして、設計要素を選択しています。「値」を設定する箇所に「@」というアイコンがあります。ここをクリックしてみましょう。名前付き要素の式の編集なにやら新しいダイアログが表示されました。「名前付き要素の種類についての式」には"Page"、「名前付き要素の名前についての式」には"pgOutlineGeneral"と書かれています。※英語になっているのは別名を設定しているためですはい。ここは、フレームに表示したい内容を式で記述できるのです。なれば、ここに条件式を記述することでフレームに表示する内容を動的に変更できるのではないでしょうか?やってみましょう。内容はこのようなものです。[Admin]ロールを付与されている場合とそうでない場合とで表示するページを変更しています。@If(@IsMember("[Admin]";@UserRoles);"pgOutlineAdmin";"pgOutlineGeneral")これでフレームセットを保存して、Notesアプリケーションをフレームセットから開いてみます。[Admin]ロール保有時こちらは、[Admin]ロールを付与されているユーザーが開いた場合です。続いて[Admin]ロールが付与されていないユーザーが開いた場合です。左側のフレームの部分が異なっています。設定文書を作成しておき、その値によって表示させるフレームを変更したりすることができます。環境設定文書の値によって、表示するフレームを変更しているこれは、弊社のNotesアプリケーションの画面ですが、環境設定文書の値によってフレームに表示する内容を変更しています(色違いのページを表示するようにしています...実際にはもう少し複雑なことをしています)。クライアントのタイプによって表示するフレームそのものを変更するなんてこともできるでしょう。Nomadで使う場合にも応用できる技になっています。すれば、すでにあるフレームセットはそのまま使えて、Nomad用に新しくフレームセットを作成すれば、PCで見たときはきれいだけどモバイルだと・・・のように悩む必要もありません。Notes/Dominoはいろいろな場面で使われることを想定して実装されてきたものです。既存の機能を使いこなせば、10年以上前に作成されたアプリケーションでもきれいに生まれ変わらせることはできるでしょう。さぁ、あなたもチャレンジ!というところで今日はこの辺で・・・Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。