ページビューの合計

2017年1月10日火曜日

【第1回】タイムレコーダーアプリ作成~アプリケーションの準備~


新年、あけましておめでとうございます!!
旧年中はたいへんお世話になり、本当にありがとうござました。

本年も私は相変わらずかと思いますが、マイペースながら一歩ずつ進んで参りますので、よろしくお願い致します。


まずはひとつ、宣伝です。
リコー様主催にて、【Notes Festa 2017 in 大阪】が今月20日(金曜)に開催されます。
私はもちろん参加させて頂きます!
お近くの方、ぜひご参加ください!!


さて年末に少し書きましたが、年も変わったことですので、新たなテーマ【タイムレコーダーアプリ】の作成ということで継続させて頂きます。

背景についてはお手数ですが、前回記事をご覧ください。

なお本テーマではどうも順序を追った説明に少し自身がありません。
数回目に「あーーーっ」と修正するような事が発生するかもしれませんので、予めご了承ください。


さて今回はアプリケーションの作成を行います。

デザイナーで【新規アプリケーション】作成を行います。
手順不明な方は、昨年の【第1回】ノーツアプリ作成~アプリケーションの作成~をご覧ください。

今回はXPagesでの構築になりますので、直接サーバーに作成することとします。

ダイアログの設定ですが、
 サーバー名:貴社サーバーを選択してください。
 タイトル:タイムレコーダー(特に指定ではありません。自由です。)
 ファイル名:test\time-recorder.nsf(こちらも自由です。私のほうではtestフォルダ内に作成しました。)
 テンフーレート:未入力


以上で【OK】します。


続いてフォームを作成します。
今回は出社・退社のみを記録するタイムレコーダーを作成しますので、それぞれについてフォームを作成します。

まずは出社フォームです。
 名前:出社_営業1部(部署名は貴社に合わせてください)
 別名:Work01



今回は別名が重要になりますので、今後の設定内容についても記載通りに作成されることを推奨致します。


さてフォームの内容です。
XPagesをフロント画面として使用することを前提としておりますので、本来は見栄えなど必要ないのですが、先々ノーツクライアントから利用するかもという事も踏まえ、少しだけ体裁を整えております。


まず登録する社員のボタンを作成します。
【作成】-【ホットスポット】-【ボタン】をクリックします。
プロパティは
 ラベル:社員名(画面では【楢○ 正剛】)
 幅:6cm(適当で構いません。勝手に6.001cmになりました。)
 フォントサイズ:28(こちらも適当、もちろんデフォルトでも構いません。)


式には
 @SetField("creator";"楢○ 正剛");
 @Command([FileSave]);
 @Command([FileCloseWindow]);
 @Command([FileCloseWindow])
※もちろん氏名のところには、社員名を設定してください。


続いてこのボタンをコピーして、下にふたつ貼り付けます。

それぞれのプロパティについて、
 ラベル及び式の社員名を変更してください。(画面では【阿○ 勇樹】【駒○ 友一】)



※もちろんこちらは必要な社員数分作成してください。

次にもうひとつボタンを配置します。
 ラベル:戻る
 幅:6cm(適当で構いません。勝手に6.001cmになりました。)
 フォントサイズ:28(こちらも適当、もちろんデフォルトでも構いません。)

式には
 @Command([FileCloseWindow])

色も適当で構いません。もちろん変更する必要もありません。


続いてフィールドを4個作成します。

creatorフィールド
 種類:テキスト、編集可能

bushoフィールド
 種類:テキスト、編集可能
 デフォルト値:"部署名"(画面では【"営業1部"】としています。)

timeフィールド(この時間を打刻時間として記録します)
 種類:日付/時刻、作成時の計算結果
 式:@Created

stampフィールド
 種類:ラジオボタン、編集可能
 選択:選択肢を入力⇒ 出社|1
               退社|2
   ※選択項目の後ろの番号(別名)を使用しますので、必ず設定しておいてください。
 デフォルト値:"1"(こちらで出社時の打刻と記録します)


以上でひとつ、フォームが完成です。



次に退社フォームです。

こちらもフォームを新規作成してもいいのですが、せっかくあるフォームをコピーすることで、かなりの労力が削減されます。
せっかくですので、【出社_営業1部】のフォームをコピーして作りましょう。

フォームの一覧で【出社_営業1部】を選択し、コピー。
そのままペーストしてください。
コピペの手段はメニューからでも右クリックでも、Ctrl+Cでも構いません。

すると【コピー出社_営業1部】というフォームが表示されます。


それではまずはフォーム名から変更します。

【コピー出社_営業1部】が選択された状態で【F2】キーを押してください。

名前の変更ダイアログが開きますので、
 名前:退社_営業1部
 別名:Leave01

に変更します。



続いて【退社_営業1部】の中身を修正します。

既に必要なボタンとフィールドは作成された状態にありますので、プロパティのみの変更になります。



しかも修正が必要なのはたった1ヶ所。

stampフィールドのデフォルト値を【"1"】⇒【"2"】にするだけ。



このフィールドが出社と退社の切り替えを行っていますので、選択肢である「退社」の別名である「2」を設定するだけで完了です。


いかがですか?
ノーツデザイナーの高速開発!!

このようにノーツではさまざまな要素をコピーして再利用することが可能です。
今回の開発には、コピーを多用致しますので、お楽しみに!!



ビューはひとつだけ作成します。(運用上必要な場合は、別途作成ください。)
 ビュー名:日付順|date


ビューに列は4つ
 日時
  幅:14
  ソート:降順(必要に応じて、【列のヘッダーをクリック時にソート】を設定、画面では両方を設定。)
  列の値:time
  スタイル:日付/時間(日付と時刻り両方の表示にチェック)

 部署
  幅:12
  列の値:busho

 社員名
  幅:10
  列の値:creator

 項目
  幅:7
  列の値:@If(stamp="1";"出社";"退社")



以上で一旦完了です。



タイムレコーダーをタッチパネルのデバイスで利用することを前提にしているため、できるだけ1画面に収まるように作成したいと考えます。

数名の会社様でしたら、今回の2枚のフォームで完結できるのですが、人数が増えてくるとどうしても画面を探すことになります。
そのため次回はもう2部署追加する手順を紹介させて頂きます。

0 件のコメント:

コメントを投稿