みなさま、こんにちは!!
先週はノーツコンソーシアムの拡大理事会が開催され、昨年に続き参加させて頂いて参りました。
参加者がいくつかのグループに分かれ、かなり濃い内容の議論が交わされることができました。
基本的に多くの方のNotes/Dominoに対する意見が一致しており、今後に期待を膨らませている状況であることが明確に理解できるいい機会となりました。
今回を踏まえ、来年の研究会の発表が待ち遠しい限りです。
さて今回は先般のLookupに続き、私がNotesに魅せられた@関数のひとつ、【@MailSend】について記述致します。
Lookup同様、既にご存知の方にとっては当たり前のことかと思いますが、個人的にはユーザー企業がアプリケーションを構築する上で重要な機能のひとつと感じておりますので、改めて取り上げさせて頂きます。
前回同様、ヘルプ文書を見てみます。
今回は「検索」で【MailSend】としてみましょう。
バージョンにより多少異なるかと思いますが、以下のような結果が表示されます。
注意すべきは単に【MailSend】と言っても、大きく二種類ある点に注意していただく必要があります。
ひとつは【@MailSend(式言語)】。もうひとつは【MailSend @コマンド(式言語)】です。
後者は以下の通り、「文書が読み込みモードか編集モードで開いているか、ビューで選択されていなければなりません。文書には文書の受信者を指定する [宛先] フィールドが含まれていなければなりません。」とあります。
つまりフォームが開かれるあるいは、ビューで選択されており、[宛先]となるフィールドが存在していなければ思うように動かないということになります。
ということで、【@MailSend(式言語)】についてもう少し詳しくみてみましょう。
ヘルプ文書にもありますが、【@MailSend(式言語)】については2通りの使い方があります
最初の使い方ですが、該当文書内に[sendTo]というフィールドがあれば、パラメーターを必要とせず、[sendTo]で指定されたユーザー宛にメール送信されることになります。
パラメーターを使用した場合の構文は下記となります。
@MailSend( sendTo ; copyTo ; blindCopyTo ; subject ; remark ; bodyFields ; [ flags ] )
sendTo 、copyTo、blindCopyToの3項目については、いわゆるメールの宛先、cc、bccを指定するパラメーターになります。
それぞれ文字列または文字列リストが設定可能であり、[sendTo]のみ必須となります。
subjectはメールの件名となります。ブランク("")でも可能ですが、可能なかぎりわかり易い件名となるようにすべきです。文字列はもちろん、フォーム内のフィールドやフィールドを含む文字列も設定可能です。
続いてremarkです。こちらも任意項目ですが、メール本文の先頭に置く文字列になります。
次にbodyFieldsですが、こちらがメール本文の内容となります。
分を改行したい場合は、【+@NewLine+】で接続します。
最後にflagsです。
詳細はヘルプ文書を見て頂きたいのですが、ひとつ重要なflagとして、[INCLUDEDOCLINK]が挙げられるかと思います。
これは選択された文書への文書リンクをメール本文に追加してくれます。
つまりワークフローのようなメールを送信させるためには必須のflagsになります。
さて、それでは実際に弊社で使用している勤怠関連ワークフローで使用している例をみてみましょう。
フォームの[申請]ボタンに設定したアクションにて、以下の式を実行させております。
@Command([FileSave]);
@MailSend(sendTo;"";"";Name +"からの届出";"";Name +"からの届出通知が届きました。"+@NewLine+"こちらをご確認の上、承認の場合は「承認」ボタンのクリックをお願い致します。 ⇒ ";[INCLUDEDOCLINK] );
@Command([FileCloseWindow])
フォーム内に[sendTo]、[Name]というフィールドがあり、それぞれ[承認者]と[申請者]が設定されております。
上の式では、まず文書を保存し、[sendTo]を宛先とし、件名には「[Name]からの届出」と表示されます。
本文には
[Name]からの届出通知が届きました。
こちらをご確認の上、承認の場合は「承認」ボタンのクリックをお願い致します。 ⇒
と改行を含んだ文字列がセットされ、最後の「⇒」の後ろに、文書リンクが追加される形となります。
実際に承認者に届いたメールは下記のようになります。
もちろん文書リンクをクリックすることで、申請文書が開き、承認等を実施することが可能となります。
以上、基本的な@関数ではありますが、それほど手間ひまかからずに簡単なワークフローができるという優れた関数です。
まだまだ私の知らない関数や使ってことのない関数が大量に存在するNotesの素晴らしさ、高機能さを感じつつ、今回の投稿とさせて頂きます。
0 件のコメント:
コメントを投稿