テーブル型の立替データから、必要項目の CSV を出力する

2015年5月4日
"立替金の申請フロー" ほど[テーブル型データ]が似合うワークフローはない。
  • 各社それぞれに "入力フォーマット" があり、
  • 部署・ヒトそれぞれに "申請件数" が違う。
任意の列数を設計でき、しかも任意の行数入力を受け付けられる[テーブル型データ]は、業務プロセス設計者の強い味方だ。要するに "可変長のデータ" をシンプルに設計できる。

しかし一方で、業務データを集計する人は困っている。つまり "集計する時のフォーマットは違うんだ!" (事件は現場で起きているんだ風)などの悩みを持っていたりする。

以下のワークフローは、フロー終盤において自動的にデータ整形される。要するに "次の業務" で利用しやすいデータを別途作成しておく発想だ。こういう整形ケースでは、どうしても[スクリプト工程]を登場させることになってしまう。(プログラミング知識は身を助ける)

[立替金申請フロー-CSV生成]


この業務プロセスでは、フロー終盤において "CSVテキスト" が自動生成される。
  • テーブル型データの1・2・4・5列目のデータ
  • 所属組織のID
  • 申請者アドレス
が都合良く並んでいるため、経理担当が Excel 等にペーストする際にも、非常に効率が良い。

この手の表形式のデータを集計する際に、抜け落ちてしまいがちなデータは、"所属組織のID" や "申請者アドレス" といった共通データだ。つまり立替金申請者の立場で言えば、すべての行に "自組織の名前" や "自分のアドレス" を何度も入力するなんてナンセンスだ。

しかし集計者の立場で言えば、すべての立替金レコードを分解して、「全社の旅費交通費にいくら?」とか「営業部の接待費はいくら?」といった分析をしたくなるのだ。

同じ情報であっても、情報活用者に応じて、見せ方や並べ方を加工しておく。業務プロセスの設計時に、その心がけがあれば、業務の効率はまた一段と改善されるだろう。

[立替金申請フロー-CSV生成:「1.申請」画面]

★[CSV生成] の設定画面

★[CSV生成] のスクリプト例
//// == 参照 / Retrieving ==

// mytable: com.questetra.bpms.core.model.formdata.ListArray
var mytable = data.get("5"); // テーブル型データを取得

// employee: com.questetra.bpms.core.event.scripttask.QuserView
var employee = data.get("1"); // ユーザ型データを取得

// div: com.questetra.bpms.core.event.scripttask.QgroupView
var div = data.get("2"); // 組織型データを取得


//// == 演算 / Calculating ==

divId = div.getId();
employeeMail = employee.getEmail();

// 立替日, 所属組織, 立替者, 費目, 支払先, 金額
var i=0;
var n = mytable.size();
var textcsv = "";
var texttsv = "";

for (i=0; i<n; i++){
textcsv += mytable.get(i, 0) + ", ";
textcsv += divId + ", ";
textcsv += employeeMail + ", ";
textcsv += mytable.get(i, 1) + ", ";
textcsv += mytable.get(i, 3) + ", ";
textcsv += mytable.get(i, 4) + "\n";

texttsv += mytable.get(i, 0) + "\t";
texttsv += divId + "\t";
texttsv += employeeMail + "\t";
texttsv += mytable.get(i, 1) + "\t";
texttsv += mytable.get(i, 3) + "\t";
texttsv += mytable.get(i, 4) + "\n";
}


//// == 代入 / Updating ==

retVal.put("19", textcsv ); 
retVal.put("20", texttsv ); 

★生成されたCSV/TSVデータ

<データ項目一覧画面>


[雛形ダウンロード (無料)]
<類似プロセス>

≪関連記事≫

[英文記事(English Entry)]

0 件のコメント :

コメントを投稿