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
<<マイクロソフトの牙城を崩せるか--「Workplace」に力を入れるIBM | ホーム | 全社的な「IT活用の底上げ」が会社を「強く」する>>

コメント

これは知りませんでした、これ使えますよ。
R5まではあるDBのデータ使って別DBのフォームに書き込みしたい場合は

@Command([Compose];"移動先フォーム");
@Command([EditGotoField];"移動先フィールド名");
@Command([EditInsertText];移動元フィールド名);
(以下[EditGotoField]と[EditInsertText]を繰り返す。)

というようなプログラム書いていましたが、下記の欠点がありました。

1.移動先フォームのフィールドにデフォルト値が設定してあると記述がダブる。
2.編集可能フィールドでないと動かない。

@UpdateFormulaContextを使えばこの欠点が解消されたDBを跨がるプログラミングが可能です。
  1. 2005/08/03(水) 13:34:53 |
  2. NDOMINO-S #-
  3. [ 編集]

なるべくプログラミングは簡単に。という観点からすると、とてもいい@関数だと思います。

ただ、ややこしい使い方をすると、このsubjectはどこで設定されてるんだぁ!? ってことになる可能性大かなぁ、と思いました。
  1. 2005/08/03(水) 21:10:10 |
  2. chate #-
  3. [ 編集]

はじめまして。 
別DBのNotesの文書をお客様へ転送するメールを作成するボタンを作れ
という指令を受け、ヘルプ見ながら@関数って便利だなーと作ってみたのですが
ToとSubjectはできたのですが CCへ入れられず困ってます。。

メールのMemoのフォームを見て「cc」、「copyTo」を試してみたのですが
ダメでした。CCに入れるにはどうしたら良いのでしょうか?
なにか適当なテキスト等ありましたら教えていただけませんでしょうか?
  1. 2006/02/09(木) 22:28:53 |
  2. ao #-
  3. [ 編集]

aoさんこんにちは。
設計の非表示の部分をよく調べたらわかると思いますが、Notesクライアントでは「EnterCopyTo」フィールドを使っています。「CopyTo」フィールドはWebクライアントの方で使っています。R4までは「CopyTo」しかなかったのですがR5以降がこの仕様になっています。
  1. 2006/02/13(月) 08:58:46 |
  2. NDOMINO-S #-
  3. [ 編集]

NDOMINO-Sさん
なるほどCopyToではなく、EnterCopyToだったのですね。
無事、要件を満たすものができました。勉強になりました。

落ち着いたら、ヘルプ読み込んでみます。 ありがとうございました。
  1. 2006/02/13(月) 23:20:43 |
  2. ao #-
  3. [ 編集]

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://nsfl10n.blog9.fc2.com/tb.php/47-d0386ed2
03 | 2017/04 | 05
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 - - - - - -

Search

Featured Entries

Recent Entries

Recent Comments

Recent Trackbacks

Archives

Category

Links

Ads

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