ページビューの合計

2017年7月18日火曜日

レポート~ユーザー情報交換会 in 秋田

みなさま、こんにちは!!
梅雨明けが待ち遠しい今日このごろ。先般の九州北部豪雨災害に見舞われました皆様につきましては、一刻も早い復旧が望まれます。また個人的に何もできないことに歯がゆさすら感じております。
どんどん暑くなって参ります。くれぐれも無理なさらずに、水分・塩分補給にはご留意ください。

さて今回は一旦ワークフローを休ませていただき、7月14日(金)に開催されました、ノーツコンソーシアム ユーザー情報交換会の雰囲気をお伝えできればと考えております。

9時半 秋田空港集合・・・当日朝で間に合うのに驚きました

今回主催頂いておりますTDK様のバスで出発です。



最初の目的地であるTDK秋田様本荘工場(西サイト・東サイト)へ

http://www.tdk.co.jp/about_tdk/tdk_network/honjo_east.htm
http://www.tdk.co.jp/about_tdk/tdk_network/honjo_west.htm

薄層チップコンデンサをはじめとする電子部品の工場であり、ほぼ全体がクリーンルームかと思われます。

もちろん工場内に立ち入ることはできず、両サイトをバスで周回頂きました。



そのまま今回の"裏"目的である「岩カキ」を目指し、道の駅 象潟へ。

トイレ休憩もそこそこに、岩カキ目指して歩きました。

15分という短いタイムスケジュールでしたが、もちろん堪能です!


続いて"真"の目的地である、TDK様 歴史みらい館へ到着です。
早速館内の見学ですが、展示内容等は申し訳ありませんが、サイトをご覧ください。

特に盛り上がったのは、歴代のカセットテープ類が壁面いっぱいに展示されたスペース。
昔よく利用させて頂きました。
昼食をはさみ、午後からは本題である「ユーザー情報交換会」

テーマは、
●ノーツのグローバル対応について
●ユーザーお困りごと相談

グローバル対応については、もともとよくできた製品のため、大きな問題点はありませんでした。
しいて挙げるとすると、文字コードの問題と、ユーザー側の「英語力」の問題など。

またフォームの作り方などに関するTipsも、その場で参加いただきましたパートナー様から紹介があり、たいへん参考になりました。

ユーザーお困りごと相談では、各社から持ち出された内容を発表。
内容によっては、ザ・ノーツ研究会にて検討し、結論を頂ける予定です。

「ノーツの今後について」や、「情報発信等」については白熱した議論が交わされましたので、今後に期待です。

次回は10月に東京にて開催です。
会員の皆様、特に参加されたことのない企業様、ぜひ参加をご検討ください!!


最後に歴史みらい館周辺の写真を数枚。
とりわけ夕日は最高でした!!
(TDK様に言わせると、これでも92点だったそうです)


2017年7月10日月曜日

簡単! @関数だけで、一次承認ワークフロー ~その3

みなさま、こんにちは!
今週は明日の某社フォーラムや、金曜のノーツコンソーシアム ユーザー情報交換会と、私にとっては盛りだくさんな1週間です。
なんとなく上付いた気持ちに喝を入れつつ、本業に集中しております。

さて今回はいよいよワークフローに関わるアクションを作成して参ります。

まずは申請を送付するボタンです。


●申請
 式:
  @Command([FileSave]);
  @MailSend(Sendto;"";"";createdby+"からの申請通知";"";createdby+"からのフロー申請が届きました。"+@NewLine+"こちらをご確認ください ⇒ ";[IncludeDoclink] );
  @Command([FileCloseWindow])

 プリビュー(読み込み)・読み込みモード時に非表示
 式によりアクションを非表示にする:
  Status!="1.承認依頼中"|@IsDocBeingEdited=0


クリックすることで文書を保存し、承認者に文書リンク付のメールメッセージを送信します。
ステータスが「1.承認依頼中」の編集モード時に表示されるようにしています。


●承認
 式:
  @If(@IsDocBeingEdited; @True;@Command( [EditDocument] ; 1 ));
      @SetDocField(@DocumentUniqueID;"Sign";@Name([CN];@UserName));
  @SetDocField(@DocumentUniqueID;"Status";"2.承認済");
  @Command([FileSave]);
  @MailSend(createdby;"";"";Sendto+"からの申請承認通知";"";Sendto+"からの申請承認通知が届きました。"+@NewLine+"こちらをご確認ください ⇒ ";[IncludeDoclink] );
  @Command([FileCloseWindow])

 式によりアクションを非表示にする:
  Status!="1.承認依頼中"|@IsNewDoc=1


クリック時に承認者の氏名を「署名(Sign)」フィールドに登録し、ステータスを「2.承認済」に変更した上で文書を保存し、申請者へ承認されたというメールを送信します。
ステータスが「1.承認依頼中」且つ、新規文書でない場合に表示されます。


●却下
  @If(@IsDocBeingEdited; @True;@Command( [EditDocument] ; 1 ));
  @SetDocField(@DocumentUniqueID;"Sign";@Name([CN];@UserName));
  @SetDocField(@DocumentUniqueID;"Status";"3.却下");
  @Command([FileSave]);
  @MailSend(createdby;"";"";Sendto+"からの申請却下通知";"";Sendto+"により、申請が却下されました。"+@NewLine+"こちらをご確認ください ⇒ ";[IncludeDoclink] );
  @Command([FileCloseWindow])

 式によりアクションを非表示にする:
  Status!="1.承認依頼中"|@IsNewDoc=1


クリック時に却下者の氏名を「署名(Sign)」フィールドに登録し、ステータスを「3.却下」に変更した上で文書を保存し、申請者へ却下されたというメールを送信します。
こちらも承認同様、ステータスが「1.承認依頼中」且つ、新規文書でない場合に表示されます。


上記3つのアクションをフォームに加えます。
もちろん一般的な「編集」「戻る」「印刷」なども追加しておきます。

ビューには「終了」と「新規作成」ボタンを加えておきます。


以上でフローに関係するボタンの設計と表示が完了しました。

あとはフレームセットや、ナビゲータを加えれば、Notesクライアントとしての機能はほぼ完成となります。


申し訳ありません、確認時間が十分に取れないまま、公開してしまいました。
もし不備等ございましたら、修正させて頂きますので、ご了承ください。



2017年7月4日火曜日

簡単! @関数だけで、一次承認ワークフロー ~その2.1

みなさま、こんにちは!
台風が近づいてきてますね(汗
神戸は夕方の退社時間あたりが再接近のようです。
皆様、くれぐれもお気をつけください。

さて連日の掲載になりますが、昨日カレンダービューについての不具合を記載致しましたが、早速当日夜にIBM Champions for ICS 小野様よりサンプルDBが届きました!!
カレンダービューの列式を工夫することにより、解決されておりましたので、ご紹介させて頂きます。

結論としては、昨日作成したアプリでは、ビューの1列目に開始日を設定し、2列目の期間を複数日分の値を設定し、表現しようとしていました。
頂いたサンプルでは全く視点を変更したものでした。
1列目の日付に開始日と終了日を与え、@Explodeを使用し、複数値をリスト化するというものです。

確かに私個人でも、フォームの日付フィールドを複数値にするという案を考えたことがあったのですが、使用ユーザーの入力が煩雑になるため、採用していませんでした。

今回は列の計算式で複数化されているため、ユーザーの操作は全く変更することなく解決できました。

それでは頂きました情報について、案内させて頂きます。

まずカレンダービューを開きます。

1列目、「開始日」の値を下記式に変更します。


 開始日:式
StartTime := "08:00:00";
EndDate := @If(End=""; Start; End);
@TextToTime(@Explode(@TextToTime(@Text(Start) + "-" + @Text(EndDate)))  + " " + @Text(StartTime))


要はStartとEndをハイフンで繋いで複数化し、@Explodeを使ってリスト化するというものです。

列のプロパティでは、

 列情報タブ 複数値の分離記号:カンマ
 ソートタブ 複数値を別のエントリで表示にチェック


2列目については、

 期間:式
StartTime := @TextToTime("08:00:00");
EndTime := @TextToTime("18:00:00");
(EndTime - StartTime) / 60


とし、常に"600"となるようにしました。

以上で、ビュー上では日付ごとに分解されたリストとして表示されることになります。


実際にビューを見てみましょう。


この例では、7月4日~7日に有給休暇届けを。
10日~12日に遅刻届けを作成したものになります。

もちろんそれぞれ1文書で申請した内容であり、無事カレンダービューにて3日以上のエントリーが表示されるようになりました。


小野様、とても迅速なご提案ありがとうございます!!
この不具合はかなり以前から気になっていたのですが、小野様のおかげで心からスッキリさせて頂きました。
既に社内アプリケーションの全ての改修も完了致しました!

2017年7月3日月曜日

簡単! @関数だけで、一次承認ワークフロー ~その2

みなさま、こんにちは!
今週から7月。暑くなりますが、イベントも目白押しで、夏バテしている暇もありません。
特に来週末にはノーツコンソーシアム ユーザー情報交換会が秋田の『TDK歴史みらい館』にて開催されます。年数回ですが、ユーザー会員の皆様とお会いできることが楽しみで仕方ありません。

それでは本日の内容について始めさせて頂きます。
先日に引き続き、今回は主にワークフローのビューを作成して参ります。


●申請日順|byDate
 申請日:created
  ソート:降順
 申請者:Dsp_Applier
 内容:Title
 開始日:Start
 終了日:End
 期間:@Text(Term)+"日"
 承認者:Sendto
 ステータス:Status



●ステータス別|byStatus
 ステータス:Status
  展開できる行に三角アイコンを表示する
  昇順・カテゴリ別
 申請日:created
  ソート:降順
 申請者:Dsp_Applier
 内容:Title
 開始日:Start
 終了日:End
 期間:@Text(Term)+"日"
 承認者:Sendto



●申請者別|byApplier
 申請者:Dsp_Applier
  展開できる行に三角アイコンを表示する
  昇順・カテゴリ別
 申請日:created
  ソート:降順
 内容:Title
 開始日:Start
 終了日:End
 期間:@Text(Term)+"日"
 承認者:Sendto
 ステータス:Status


なおせっかく日付と期間のフィールドがありますので、カレンダービューも作成してみましょう。


●カレンダー|Calender(スタイル:カレンダー) 
 開始日:Start
  ソート:昇順
  日付の表示 及び 時刻の表示 の両方にチェック
  列を非表示
 期間:(End-Start)/60 (分単位に変換)
  列を非表示
 申請者:Dsp_Applier+"【"+Title+"】"


カレンダービューの作り方はヘルプに記載されていますが、要点として
 1列目:日時(日付と時刻の両方を表示)/昇順/非表示
 2列目:期間(分単位で期間を設定、必要なければ、デフォルト値で"0"でも可)/非表示
 3列目:カレンダーに表示する内容
となります。



なお本ビューについてひとつ不具合がございます。
期間が2日以内ですと、正しくカレンダーに両日表示されるのですが、3日を超えますと初日にしか表示されません。

上記ですと、6/19の申請は6/19~21の3日間の申請になりますが、カレンダーには初日のみしか表示されません。
反して6/26の申請は、6/26~27の2日間の申請であり、正しくカレンダーに表示されています。


但し、設計側で見ると正しい数値が設定されております。

こちらがカレンダーの設計画面です。
2列目に分の値が正しく入っていることが分かります。


もしご存知の方いらっしゃいましたら、フォロー頂けますと幸いです。

簡単ですが、以上でビューの準備が完了致しました。
次回はいよいよフローに関わるアクションを作りたいと思います。