こんばんは爆  笑

 

GWに突入しましたねハート

皆様は9連休ですか??飛び石連休ですか??

 

4月は今日で最後!!

5月も元気にNotes/Dominoの開発をしていきましょう!!

 

さて、皆様NotesViewにある「フォームの式」ってご存知ですか??

筆者も10年位前に初めて知ったのですが、ざっくりいうと

ビューに異なるフォームが選択されていても、

フォームの式に書いてあるフォーム名のフォームでビューにある文書を開くことが出来るんですキラキラ

(わかりづらいガーン

 

当時は、そんなことも知らなかったので

例えばですが、管理部門にはFormAのレイアウトで見せたいけど、利用者にはFormBのレイアウトで見せたい時とかありますよね??

 

その時、フォーム式に[ADMIN]ロールを持っている人はFormA、それ以外はFormB・・・などと式を書いて簡単に切り替えることが出来たんです。

(今はXPagesとかでやるかもですが)

そうやって考えると、当時からNotes/Dominoは画期的だったんですね照れ

 

ということで、この「フォーム式」について少し調べなければいけなかったので、

調査した内容を書いていきたいと思います。

(不足分や指摘事項があったら、次回以降にこっそり教えてください)

 

 

1)フォームを2つ用意します。

・FormA→背景を赤系の色

・FormB→背景を青系の色

 

 

※どちらもValフィールド(テキスト、編集可能)を作成して保存します。

 

2つフォームが出来たら、FormBを新規作成しValフィールドに適当な値を入れて保存します。

 

 

2)ビューを2つ用意します。

・すべての文書→選択式も何もなし。1列目の列式は「Form」で昇順ソート

・FormAView →選択式は何もなし。フォームの式に「FormA」と記述し1列目の列式は「Form」で昇順ソート

 

以上で準備は出来ましたグッ

 

検証

 

FormAViewから1で作成したFormB文書が表示されていると思います。

文書を開くと・・・

 

FormAで開くことが出来ました。

 

プロパティを確認してもFormBですねー拍手

 

では、すべての文書から開いてみましょう目

 

こちらはFormBとして表示されます。

 

こんなに簡単に設定できるんですねびっくり

 

どうせNotesクライアントからだけなんでしょ??と思いますよね?

 

ちゃんとURLにViewを指定してあげると、動作するんです!!

超便利おねがい

 

10年前の自分に教えてあげたい・・・笑い泣き

 

せっかくなので、次の検証です。

FormAフォームとFormBフォームに「Form」フィールドを作成して書き換えたらどんな動きになるんでしょうか??

 

早速追加します。

Form(テキスト、編集可能、デフォルト値:Form)

 

 

FormAのフォームを準備します。

Valフィールドの値のみ変更し、保存します。

 

FormAViewから、文書を開きます。

 

Valフィールドの値は書き換わっていますが、

FormフィールドはFormAを使って文書更新しても書き換わることはないようです。

 

 

続けて、Formフィールドの値を「FormA」に変更して保存します。

 

すべての文書で確認すると・・・FormAに変わっていますねひらめき電球

 

文書を開くとFormAに変わっていることが確認できます。

この機能を使えば、前期のフォームデザインはAだったけど、今期のデザインはBになったっていうことも強制的に変えられますねニコニコ

 

じゃあ、この機能も当然ブラウザでも出来ちゃうのかな??と思い動作確認してみます。

 

 

フォームの式がないすべての文書をブラウザから開き、FormA文書を開きます。

編集モードに変更し、Formの値を書き換えます。

 

書き換えたら、*保存して閉じるボタンをクリックします。

 

*保存して閉じるボタンの中身は

@Command([FileSave]);@Command([FileCloseWindow])

 

文書も保存されたし、Formの値を確認してみましょうラブ

 

あれ??

変わってなくねガーン

 

 

この方法ではFormフィールドの値は書き換わりませんでしたえーん

 

でも・・・何としても書き換えたいムキー

 

次回、色々な方法を試してFormフィールドを書き換えできるか検証したいと思います!!

 

本日は長くなりすぎたのでこの辺で・・・

 

 

あでゅーバイバイ