SlideShare una empresa de Scribd logo
1 de 46
テクてくLotus技術者夜会 2014年8月 
非表示式とご相談 
ネオアクシス株式会社 
阿部覚
2 
ごあいさつ
所属 ネオアクシス株式会社(neoaxis.co.jp) 
     ※合併前は TISソリューションビジネス (TSB) 
これまでの夜会は(辛うじて)未欠席 
会社の謀略で名刺には Notesエバンジェリスト とあります 
式言語好きということになっている 
blog "abOut.nsf" http://blogs.yahoo.co.jp/jftfw228 
facebook /abesat 
twitter @abesat 
mixi あう゛
3 
非表示式って
私の認識: 
処理(アクション、ボタン、エージェント)の 
次に移行しづらい存在、なぜなら、きめ細かいから 
改修の際も要注意 
 標準の「設計の分析」では出てこない存在 
 デザイナーのフォーム内で 
 コピペするときに忘れてはならない存在
4 
そもそも論から・・
そもそも「非表示式」って 
こんがらがらない? 
(Status != “申請中”) | 
(@UserName != Approver)
5 
xxがxxでない、または、 
xxがxxでないときは、 
→非表示である 
(Status != “申請中”) | 
(@UserName != Approver) 
正直、私はこういう式、 
すっと理解できません
6 
「非表示」 って日本語が 
いけてないのでは? 
英語は否定がない 
"Hide Formula"(隠し式?)
7 
とりあえず 
「隠す」だったらわかり易いかも? 
Status != “申請中” 
@If(Status = “承認済”;@False; 
@True)
8 
とりあえず 
「隠す」だったらわかり易いかも? 
Status != “申請中” 
ステータスが「申請中」でないとき 
表示しない 
ステータスが「申請中」でないとき
隠す
とりあえず 
「隠す」だったらわかり易いかも 
@If(Status = “承認済”;@False; 
ステータスが「承認済」なら非表示でない 
9 
他は非表示 
@True) 
ステータスが「承認済」なら隠さない 
他なら隠す
10 
「申請中」でないとき隠す 
「承認済」なら隠さない、 
他なら隠す 
でも、否定はちょっと残っている 
私たちの日常感覚でいけば…
11 
Status != “申請中” 
@If(Status = “承認済”;@False; 
@True) 
○○のとき「表示する」
だったら、もっとわかり易くない?
12 
Status = “申請中” 
@If(Status = “承認済”;@True; 
@False) 
IBMさん、 
次のNotes/Dominoからは 
「非表示式」をやめて 
「表示式」に変更してよ??
13 
もし 本当に 
「非表示式」が「表示式」に 
変更されたら 
既存アプリはどうする、 
全部の式を直さなきゃならない?
新バージョンでは、既存の式が 
こんな風に 
自動変換される仕組みにすればOKさ! 
14 
! ( いままで 
書かれていた 
非表示式)
新バージョンでは、既存の式が 
こんな風に 
自動変換される仕組みにすればOKさ? 
!(Status != “仮保存”) 
!(@If(Status = “承認済”;@False; 
15 
@True)) 
結局否定形が増えてしまう・・・ 
複数行の式やコメント(Rem)付きは 
自動変換困難かも
16 
非表示式→表示式に変更するなら、 
ここも揃えなきゃおかしいよね! 
Before
17 
非表示式→表示式に変更するなら、 
ここも揃えなきゃおかしいよね! 
常に表示するときは 
式がなくても 
チェック必要に 
表示するところは 
もれなくチェック 
After
18 
既存アプリのことを考えると 
更なる混乱を生むだけっぽいので 
IBMさん、妙案がない限り 
このままでいいです!
19 
とりあえず 
式が表示式に見えるよう、 
自分で工夫しよう 
@If の式なら 
こんなことができるかな
20 
式の先頭に 
hide := @True ; 
show := @False ; 
とつけた上で、 
@If(Status = “仮保存”; 
show; 
hide)
21 
hide := @True ; 
show := @False ; 
いちいち1個1個の非表示式に 
これ書くのは非効率では? 
 →  じゃぁ、こうしちゃえ
22 
フォームの先頭に非表示の 
表示用の計算結果フィールドを置く 
●Showフィールド式の値 @False 
●Hideフィールド式の値 @True
23 
これで各式の先頭部分は不要に。 
hide := @True ; 
show := @False ; 
@If(Status = “仮保存”; 
Show; 
Hide)
24 
ここまでやってきて、 
XPagesやってる方は 
気づかれてますよね?
25 
XPageでは 可視 
つまり表示式です。 
式がなくても 
チェックは入る
26 
話はかわって
非表示式って、 
「段階分け」できない? 
こんな表があったとして
この部分の表示は承認者のみ 
27 
表全体は 
ステータスが承認中のときだけ表示 
この部分の表示は担当者のみ
28 
Status != "承認中" 
(Status != "申請中") | 
(@UserName != Approver) 
(Status != "申請中") | 
(!@Contains(@UserRoles; [Tanto]))
29 
全体の非表示条件は同じだけど 
Status != "承認中" 
表内の特定部分だけ 
式を変えなきゃならない 
(Status != "承認中") | 
(@UserName != Approver) 
こういうのがいっぱいあると 
表全体の非表示条件が変わるとき 
改修が面倒
30 
こんな風にできない? 
全体は統一された式 
Status != "承認中" 
追加条件が必要な部分に 
単独の式を加えるだけ 
@UserName != Approver 
!@Contains(@UserRoles;"[Tanto]")
31 
さて、XPagesやってる方は 
気づかれましたよね? 
XPageでは 
「パネル」を使って 
内部で独立した可視を指定できる 
表とセルで可視を分けられるってのもある
IBMさん、フォームやサブフォームにも 
32 
似たようなこと 
クライアントでもできないかな 
「パネル」追加希望します! 
とりあえず・・・ 
現状で可能な、 
非表示式を軽量化できる工夫は?
非表示式を軽量化する工夫・・
33 
●サブフォームを使う 
●レイヤーを使う 
●プログラム可能な表を使う 
●計算結果テキストを使う
34 
サブフォームを使う 
△ 編集中にダイナミックに切り替わらない 
△ 非表示エリアの数分だけ、 
  都度サブフォームを増やすのは・・・
35 
レイヤーを使う 
段落ごとに個別の非表示式を 
追加できるけど 
△収まるところに収まって 
 くれないので 
 用途は限定的・・
36 
プログラム可能な表を使う
37 
プログラム可能な表を使う
38 
プログラム可能な表を使う 
△いちいち「$表名」フィールドが必要など、 
 やや手間 
○式は、「表示式」的に記述できる 
ここではわざと 
表示してますが 
「$表名」フィールド 
と 
表タブは非表示に
39 
限定的だけどちょっとした工夫、 
計算結果テキスト 
条件にあうときだけ 
改行+表示したい内容
あと、繰り返し使う複雑な条件は、 
表示用の計算結果にまとめましょう! 
以上、あくまで あべ案 でした。 
ほかに、こんな工夫があるよ、 
という方いますか? 
40
41 
おまけの戯言
さて、今では 
新しくつくるフォームよりも 
既存アプリ式のメンテが多いと思います 
メンテナンスを楽にするために 
デザイナーに「非表示式確認モード」が 
欲しいです!
IBMさん、こんなのできませんか? 
カーソルを置いた個所と、同じ非表示 
式の範囲が明示される 
42 
Status!="申請中"
IBMさん、こんなのできませんか? 
カーソルを置いた個所と、同じ非表示 
式の範囲が明示される 
43 
(Status != "申請中") | 
(@UserName != Approver)
44 
おまけの戯言22 
常に非表示なら、どれがスタンダード? 
別に正解は持ち合わせてませんが…
45 
おまけの戯言33 
IBMさん、 
こういうのを 
全部クリアしてくれる機能も 
欲しいです!
46 
ありがとうございました。 
以上で 
終了いたします!

Más contenido relacionado

Más de Satoru Abe

202104 functiontalkinnotesknowsworkshop28th
202104 functiontalkinnotesknowsworkshop28th202104 functiontalkinnotesknowsworkshop28th
202104 functiontalkinnotesknowsworkshop28thSatoru Abe
 
202101 のの会@関数Talk 27th functiontalkinnotesknowsworkshop27th
202101 のの会@関数Talk 27th functiontalkinnotesknowsworkshop27th202101 のの会@関数Talk 27th functiontalkinnotesknowsworkshop27th
202101 のの会@関数Talk 27th functiontalkinnotesknowsworkshop27thSatoru Abe
 
202012 Volt開発をiPhoneで_tektech volt_develop_iphone
202012 Volt開発をiPhoneで_tektech volt_develop_iphone202012 Volt開発をiPhoneで_tektech volt_develop_iphone
202012 Volt開発をiPhoneで_tektech volt_develop_iphoneSatoru Abe
 
202011 のの会@関数Talk 26th functiontalkinnotesknowsworkshop26th
202011 のの会@関数Talk 26th functiontalkinnotesknowsworkshop26th202011 のの会@関数Talk 26th functiontalkinnotesknowsworkshop26th
202011 のの会@関数Talk 26th functiontalkinnotesknowsworkshop26thSatoru Abe
 
202010 のの会@関数Talk 25th functiontalkinnotesknowsworkshop25th
202010 のの会@関数Talk 25th functiontalkinnotesknowsworkshop25th202010 のの会@関数Talk 25th functiontalkinnotesknowsworkshop25th
202010 のの会@関数Talk 25th functiontalkinnotesknowsworkshop25thSatoru Abe
 
202009 のの会@関数Talk 24th @function-talk-in-notesknows-workshop
202009 のの会@関数Talk 24th @function-talk-in-notesknows-workshop202009 のの会@関数Talk 24th @function-talk-in-notesknows-workshop
202009 のの会@関数Talk 24th @function-talk-in-notesknows-workshopSatoru Abe
 
202008 のの会@関数Talk 23rd @function-talk-in-notesknows-workshop
202008 のの会@関数Talk 23rd @function-talk-in-notesknows-workshop202008 のの会@関数Talk 23rd @function-talk-in-notesknows-workshop
202008 のの会@関数Talk 23rd @function-talk-in-notesknows-workshopSatoru Abe
 
202007 のの会@関数Talk 22nd functiontalkinnotesknowsworkshop22nd
202007 のの会@関数Talk 22nd  functiontalkinnotesknowsworkshop22nd202007 のの会@関数Talk 22nd  functiontalkinnotesknowsworkshop22nd
202007 のの会@関数Talk 22nd functiontalkinnotesknowsworkshop22ndSatoru Abe
 
202006 のの会@関数Talk 21st @function-talk-in-notesknows-workshop
202006 のの会@関数Talk 21st @function-talk-in-notesknows-workshop202006 のの会@関数Talk 21st @function-talk-in-notesknows-workshop
202006 のの会@関数Talk 21st @function-talk-in-notesknows-workshopSatoru Abe
 
202003 functiontalkinnotesknowsworkshop20th
202003 functiontalkinnotesknowsworkshop20th202003 functiontalkinnotesknowsworkshop20th
202003 functiontalkinnotesknowsworkshop20thSatoru Abe
 
202002 のの会@関数Talk 19th @function-talk-in-notesknows-workshop
202002 のの会@関数Talk 19th @function-talk-in-notesknows-workshop202002 のの会@関数Talk 19th @function-talk-in-notesknows-workshop
202002 のの会@関数Talk 19th @function-talk-in-notesknows-workshopSatoru Abe
 
Tektek202002 NotesのローカルアプリをBoxに置くはなし - How to browse Notes databases in Box
Tektek202002 NotesのローカルアプリをBoxに置くはなし - How to browse Notes databases in Box Tektek202002 NotesのローカルアプリをBoxに置くはなし - How to browse Notes databases in Box
Tektek202002 NotesのローカルアプリをBoxに置くはなし - How to browse Notes databases in Box Satoru Abe
 
201912 テクてくLT | Simple Bar Chart on Notes Client 公開版
201912 テクてくLT | Simple Bar Chart on Notes Client 公開版201912 テクてくLT | Simple Bar Chart on Notes Client 公開版
201912 テクてくLT | Simple Bar Chart on Notes Client 公開版Satoru Abe
 
201912 のの会@関数Talk 18th
201912 のの会@関数Talk 18th201912 のの会@関数Talk 18th
201912 のの会@関数Talk 18thSatoru Abe
 
201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop
201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop
201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshopSatoru Abe
 
201910 テクてく☕カフェ| HCLだけに任せられるか! 我々の夢見る コラボ環境再創造Can we leave it to HCL only? Re...
201910 テクてく☕カフェ| HCLだけに任せられるか! 我々の夢見る コラボ環境再創造Can we leave it to HCL only? Re...201910 テクてく☕カフェ| HCLだけに任せられるか! 我々の夢見る コラボ環境再創造Can we leave it to HCL only? Re...
201910 テクてく☕カフェ| HCLだけに任せられるか! 我々の夢見る コラボ環境再創造Can we leave it to HCL only? Re...Satoru Abe
 
201910 のの会@関数Talk 16th
201910 のの会@関数Talk 16th201910 のの会@関数Talk 16th
201910 のの会@関数Talk 16thSatoru Abe
 
201908 のの会@関数Talk 15th
201908  のの会@関数Talk 15th201908  のの会@関数Talk 15th
201908 のの会@関数Talk 15thSatoru Abe
 
201907 のの会@関数Talk 14th
201907  のの会@関数Talk 14th201907  のの会@関数Talk 14th
201907 のの会@関数Talk 14thSatoru Abe
 
201906 のの会@関数Talk 13th
201906  のの会@関数Talk 13th201906  のの会@関数Talk 13th
201906 のの会@関数Talk 13thSatoru Abe
 

Más de Satoru Abe (20)

202104 functiontalkinnotesknowsworkshop28th
202104 functiontalkinnotesknowsworkshop28th202104 functiontalkinnotesknowsworkshop28th
202104 functiontalkinnotesknowsworkshop28th
 
202101 のの会@関数Talk 27th functiontalkinnotesknowsworkshop27th
202101 のの会@関数Talk 27th functiontalkinnotesknowsworkshop27th202101 のの会@関数Talk 27th functiontalkinnotesknowsworkshop27th
202101 のの会@関数Talk 27th functiontalkinnotesknowsworkshop27th
 
202012 Volt開発をiPhoneで_tektech volt_develop_iphone
202012 Volt開発をiPhoneで_tektech volt_develop_iphone202012 Volt開発をiPhoneで_tektech volt_develop_iphone
202012 Volt開発をiPhoneで_tektech volt_develop_iphone
 
202011 のの会@関数Talk 26th functiontalkinnotesknowsworkshop26th
202011 のの会@関数Talk 26th functiontalkinnotesknowsworkshop26th202011 のの会@関数Talk 26th functiontalkinnotesknowsworkshop26th
202011 のの会@関数Talk 26th functiontalkinnotesknowsworkshop26th
 
202010 のの会@関数Talk 25th functiontalkinnotesknowsworkshop25th
202010 のの会@関数Talk 25th functiontalkinnotesknowsworkshop25th202010 のの会@関数Talk 25th functiontalkinnotesknowsworkshop25th
202010 のの会@関数Talk 25th functiontalkinnotesknowsworkshop25th
 
202009 のの会@関数Talk 24th @function-talk-in-notesknows-workshop
202009 のの会@関数Talk 24th @function-talk-in-notesknows-workshop202009 のの会@関数Talk 24th @function-talk-in-notesknows-workshop
202009 のの会@関数Talk 24th @function-talk-in-notesknows-workshop
 
202008 のの会@関数Talk 23rd @function-talk-in-notesknows-workshop
202008 のの会@関数Talk 23rd @function-talk-in-notesknows-workshop202008 のの会@関数Talk 23rd @function-talk-in-notesknows-workshop
202008 のの会@関数Talk 23rd @function-talk-in-notesknows-workshop
 
202007 のの会@関数Talk 22nd functiontalkinnotesknowsworkshop22nd
202007 のの会@関数Talk 22nd  functiontalkinnotesknowsworkshop22nd202007 のの会@関数Talk 22nd  functiontalkinnotesknowsworkshop22nd
202007 のの会@関数Talk 22nd functiontalkinnotesknowsworkshop22nd
 
202006 のの会@関数Talk 21st @function-talk-in-notesknows-workshop
202006 のの会@関数Talk 21st @function-talk-in-notesknows-workshop202006 のの会@関数Talk 21st @function-talk-in-notesknows-workshop
202006 のの会@関数Talk 21st @function-talk-in-notesknows-workshop
 
202003 functiontalkinnotesknowsworkshop20th
202003 functiontalkinnotesknowsworkshop20th202003 functiontalkinnotesknowsworkshop20th
202003 functiontalkinnotesknowsworkshop20th
 
202002 のの会@関数Talk 19th @function-talk-in-notesknows-workshop
202002 のの会@関数Talk 19th @function-talk-in-notesknows-workshop202002 のの会@関数Talk 19th @function-talk-in-notesknows-workshop
202002 のの会@関数Talk 19th @function-talk-in-notesknows-workshop
 
Tektek202002 NotesのローカルアプリをBoxに置くはなし - How to browse Notes databases in Box
Tektek202002 NotesのローカルアプリをBoxに置くはなし - How to browse Notes databases in Box Tektek202002 NotesのローカルアプリをBoxに置くはなし - How to browse Notes databases in Box
Tektek202002 NotesのローカルアプリをBoxに置くはなし - How to browse Notes databases in Box
 
201912 テクてくLT | Simple Bar Chart on Notes Client 公開版
201912 テクてくLT | Simple Bar Chart on Notes Client 公開版201912 テクてくLT | Simple Bar Chart on Notes Client 公開版
201912 テクてくLT | Simple Bar Chart on Notes Client 公開版
 
201912 のの会@関数Talk 18th
201912 のの会@関数Talk 18th201912 のの会@関数Talk 18th
201912 のの会@関数Talk 18th
 
201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop
201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop
201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop
 
201910 テクてく☕カフェ| HCLだけに任せられるか! 我々の夢見る コラボ環境再創造Can we leave it to HCL only? Re...
201910 テクてく☕カフェ| HCLだけに任せられるか! 我々の夢見る コラボ環境再創造Can we leave it to HCL only? Re...201910 テクてく☕カフェ| HCLだけに任せられるか! 我々の夢見る コラボ環境再創造Can we leave it to HCL only? Re...
201910 テクてく☕カフェ| HCLだけに任せられるか! 我々の夢見る コラボ環境再創造Can we leave it to HCL only? Re...
 
201910 のの会@関数Talk 16th
201910 のの会@関数Talk 16th201910 のの会@関数Talk 16th
201910 のの会@関数Talk 16th
 
201908 のの会@関数Talk 15th
201908  のの会@関数Talk 15th201908  のの会@関数Talk 15th
201908 のの会@関数Talk 15th
 
201907 のの会@関数Talk 14th
201907  のの会@関数Talk 14th201907  のの会@関数Talk 14th
201907 のの会@関数Talk 14th
 
201906 のの会@関数Talk 13th
201906  のの会@関数Talk 13th201906  のの会@関数Talk 13th
201906 のの会@関数Talk 13th
 

非表示式とご相談