会費滞納者リストをクラウド型ワークフローで管理する

2011年1月15日
同窓会の会費って、払ってる? 若い世代ほど「ヤボな話」に聞こえるらしい。すなわち若い間は、同窓会自体に価値を感じないのだそうだ。
ところで、最近では同窓会会費もネットで振り込む時代。通信費を抑えるために「督促」はメールで行う組織も多い。
「請求対象者」の会員数が少ない組織なら、毎年決まった時期に『1.請求対象会員情報入力』を一件一件手作業で行い、その後はチーム作業として『3.入金確認(再送信判断)』で≪消し込み作業≫を行っていけばよい。メールの送信文面は、送信相手に合わせて、雛形(初期値)に追記するのも良いだろう。




「請求対象者」の会員数が多い組織なら、『1.請求対象会員情報入力』の手作業は考えにくい。そんな場合はSpreadSheetから流し込むワークフロー定義がおススメだ。




ワークフローにプロセスを多数起動するSpreadSheets設定 (Questetra BPM Suite SaaS Edition)

1. ワークフロー側の受信テスト(必ずしも実施する必要はない)
アクティベート後に『バージョン詳細』から「外部システム連携用のURL」を確認する。
例)

https://s.questetra.net/XXXXXXXX/System/Event/MessageStart/start?processModelInfoId=ZZ&nodeNumber=WW&key=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

上記例は data[0] (対象者)、data[1] (メールアドレス)、data[2] (請求金額)の3要素が入力値なので、例えば

https://s.questetra.net/XXXXXXXX/System/Event/MessageStart/start?processModelInfoId=ZZ&nodeNumber=WW&key=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY&data[0].input=Barack+Obama&data[1].input=barack@example.com&data[2].input=5000

と言うアクセスを受けると新規プロセスが一つ生成される。試しにコノ長いURLをブラウザに入力してみる(真っ白画面で成功)。すると、タスク一覧にタスクが一つ出現する。

  • マニュアルパラメータ定義方法を参照
  • 注1:「XXXXXXXX」と「YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY」はIDとパスワードみたいなモノなので、各自で置き換え。(公開しちゃダメ)
  • 注2:「ZZ」と「WW」は利用環境によって数字が異なる。

2. 請求者一覧情報のファイル作成
Google Docs にログインし『新規作成>スプレッドシート』で新規ファイルを作成する。
  • ファイル名「請求者一覧」
  • データ項目として「Member (対象者)」「Email address」「Amount to bill (請求金額)」の3つを作成
するとA列に「Member」、B列に「Email address」、C列に「Amount to bill」のスプレッドシートが出来上がる。

3. 請求者一覧情報の流し込み準備
請求者一覧情報がワークフロー側に送出されるスクリプトを書く。
ファイルを開いた状態から「ツール>スクリプト>スクリプトエディタ」を選択しスクリプトを作成する。

function myFunction() {

}

とある記載を、(極力何も考えず?)、以下の内容に書き変えて保存する。
(「XXXXXXXX」と「YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY」、「ZZ」、「WW」は各自で置き換えが必要)
(日本以外の方はJSTも置き換えが必要)

function startWorkflow() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;
  var numRows = 100; //最大100人を仮設定
    
  var dataRange = sheet.getRange(startRow, 1, numRows, 3);
  var data = dataRange.getValues();
  
  for ( var i = 0; i < data.length; ++i) {
    var row = data[i];
    
    var member = row[0];
    var email = row[1];
    var amount = row[2];
    
    var url = "https://s.questetra.net/XXXXXXXX/System/Event/MessageStart/start";
    var payload = 'processModelInfoId=ZZ';
    payload += '&nodeNumber=WW';
    payload += '&key=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY';
    payload += '&title=' + encodeURIComponent(member + ' : ' + amount);
    payload += '&data[0].input=' + encodeURIComponent(member);
    payload += '&data[1].input=' + encodeURIComponent(email);
    payload += '&data[2].input=' + encodeURIComponent(amount);
    var params = {
      method: 'post',
      payload: payload
    };
    UrlFetchApp.fetch(url, params);
  }
}

4. 請求者一覧情報の流し込み実施

スクリプトエディタを開いた状態で、[▶] (Run selected function) ボタンを押下すると、スクリプトが実行される。請求者一覧情報がワークフローに流し込まれ、最初のタスク『1.請求対象会員情報入力』が入力データ数分生成される。

※『ツール>スクリプト>管理...』を選択し、このスクリプトを実行 (Run) してもよい。


0 件のコメント :

コメントを投稿