nsfl10n

Lotus Notes/Domino のブログ。nsf:Notes Storage Facility。l10n:Localization。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告|
  3. トラックバック(-)|
  4. コメント(-)

@UpdateFormulaContext(l10n)

@UpdateFormulaContext(l10n)

 最近、文書を転送する際につけるメールのタイトルの設定に関する質問を受けた。Notes 6 では、これをとてもシンプルに解決する@関数が追加された。

 新しい関数というのは、@UpdateFormulaContext で、すべての動作がコードが走っている環境に切り替わります。例えば、文書を作成すると、普通はコードが文書が作成される前の環境で動き続けます。しかし、Notes 6 クライアント上で新しい@関数を使うと、作成された文書上でコードが動くことになるのです。

 アクションボタンに書いたコードがあります。そのボタンは、文書を転送し、タイトルを転送するメッセージに設定します。

@Command([MailForward]);
@UpdateFormulaContext;
@SetField("Subject"; "This is the subject")

 この@関数は Notes 6 で追加されたものなので、もし Notes 5 と Notes 6 が混在する環境なら、メッセージを転送する際に Notes 5 クライアントでエラーが発生しないようにして処理を抜けるようにしないといけません。タイトルは設定されませんが、ユーザーはエラーメッセージに遭遇しないようにする必要もあるのです。このような感じで書けば問題ないはずです:

@Command([MailForward]);
@If(@TextToNumber(@Version) < 184; @Return(""); 0);
@UpdateFormulaContext;
@SetField("Subject"; "This is the subject")

 バージョンが 184 より低かったら、つまり Notes 5 ユーザーだったら、残りのコードを実行しません。メッセージは転送され、コードはそこで止まります。

 Notes 6 のヘルプにはこんな風に書いてあります:

 コードでアクセスしている Notes Client ウィンドウへの式のコンテキストを更新します。たとえば、コードで [Response] という新しいフォームに @Command([Compose]:"Response") を使ってアクセスする場合は、@UpdateFormulaContext を使用して式のコンテキストを新しいフォームに切り替えます。コードのそれ以降のすべての関数は、現在の文書ではなく Response 文書のコンテキストで実行されます。

====引用ここまで====


 過去ログ読んでたら、訳した文章なのか、自分で書いた文章なのか判りづらかったので、訳文メインの場合は、タイトルの次に(l10n)と付けてみました。

スポンサーサイト
  1. 2005/08/02(火) 22:22:53|
  2. Designer|
  3. トラックバック:0|
  4. コメント:5
07 | 2005/08 | 09
Sun Mon Tue Wed Thu Fri Sat
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

Search

Featured Entries

Recent Entries

Recent Comments

Recent Trackbacks

Archives

Category

Links

Ads

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。