iNotes宛先選択の表示順選択肢のCustomize (続々々)
「iNotes宛先選択の表示順選択肢のCustomize (続々)」の記事で、Address Pickerの表示順のView選択のCustomizeをForms9_x.nsfで行いましたが、DJX Userは問題が無いのですが、DJXを使っていないUserの場合に組織Codeや役職Codeの分離が行われない問題が発生することが分かりました。
これではForms9_x.nsfを使ってまでCustomizeする意味は無いというのは前回書いた通りです。
では、一旦、ひとつ前のForms9.nsfでCustomizeした「iNotes宛先選択の表示順選択肢のCustomize (続)」の状態まで戻します。
ここでの問題は、標準のMail Template用のAddress Pickerの表示順のView選択に使われるNamePick.BTM配列に要素が存在せずに表示がErrorするという内容でした。
逆に、標準Mail Templateで作成されたDBであっても、DJX用のViewが表示できれば問題は解決するハズです。
/* $HaikuForm - 1168.1 */
<NotesDictionary><NOTESVAR NAME={$ContentType} VALUE={"application/x-javascript"}></NotesDictionary> function GNI(sTmp, Yc, CXb){var Cwx=DMx();if(Cwx && Cwx.fnDisplayName) sTmp=Cwx.fnDisplayName(sTmp, Yc, CXb, Cwx);return sTmp;}
<InsertNotesSubForm name=s_NamePickerDJXViewList> <InsertNotesSubForm name=s_NamePickerDJXViewListExt>
検索結果から設計要素を開くことはできるのですが、改行制御が行われずに表示されてしまい、見にくい状態になりますので、通常通り開きます。
以下の部分で利用され、DJX Templateかどうかを判断し、DJXのSubformをLoadするかどうかが決定されています。
<InsertNotesSubForm name=l_CommonNamePickerStyles> <InsertNotesSubForm name=@{@If(IsDJXTemplate="1";"s_CommonNamePickerDJXCodeLoader";"")}>
これで、標準Templateの場合は、アドレス表示選択にDJXの選択リストが表示されなかったことが分かります。
完全に固定化してしまっても良いのですが、今回は動作を見るため、以下のように変更します。
これで、DJX Templateでない場合もDJX CodeがLoadされて動作するハズです。
@If(IsDJXTemplate="1";"s_CommonNamePickerDJXCodeLoader";"s_CommonNamePickerDJXCodeLoader")
これで以下のように、標準Template UserでもDJXの宛先選択が正常に表示され、部署階層/役職順も部署/役職Codeが外された状態で表示されるようになります。
勿論、DJX Template Userでも問題はありません。
少し強引なやり方ですが、これでMail DBの設計をDJX Mail Templateで設計置換する必要はなくなりますので、試してみたいという方はお試しください。
シリーズ化する積りは無かったのですが、長い記事になってしまいました。