フォーム内の入力値を案件名に自動入力する方法

このCookbookでは、IM-FormaDesignerで作成した申請画面から入力内容を案件名に設定する方法を紹介します。

この方法を利用するとIM-FormaDesignerの入力内容をIM-Workflowの標準処理画面の案件名やコメントに設定できます。

完成イメージ

サンプルでは、申請件名と申請内容に入力した内容をIM-Workflowの申請画面の案件名とコメントに反映させます。


1. 申請画面に案件名とコメントを入力して「申請」をクリックする。
2. 入力した内容が申請画面の案件名とコメントに反映される。

[iframe width="100%" height="400" src="https://dev-portal.intra-mart.jp/imart/certification?im_user=aoyagi&im_password=aoyagi&im_tenant_id=default&im_url=im_workflow/user/apply/apply_direct/im_cb_113730_wf&imui-theme-builder-module=headwithcontainer"]

完成サンプル

以下はアプリケーション定義のサンプルです。
ダウンロードしてご利用ください。

上記のサンプルの利用条件は以下の通りです。

  • intra-mart Accel Platform(Advanced) 2016 Spring(8.0.13), IM-FormaDesigner 2016 Spring(8.0.12)以降のバージョンであること
  • サンプルデータのインポートが行われていること

サンプルは、intra-mart Accel Platform(Advanced) 2016 Spring(8.0.13), IM-FormaDesigner 2016 Spring(8.0.12)で動作確認を行っています。

レシピ

  1. IM-FormaDesignerで申請画面を作成する。
  2. 作成した画面に案件名を受け渡すスクリプトを実装する。
  3. WF連携を設定する。
  4. フローを作成する。

1. IM-FormaDesignerで申請画面を作成する。

IM-FormaDesignerで申請画面を作成してください。
フォームに案件名とコメントを入力するためのアイテムを配置してください。

2. 作成した画面に案件名を受け渡すスクリプトを実装する。

次に、申請画面にスクリプトアイテムを配置してください。
以下はスクリプトの実装例です。


//案件名(テキストボックスのデフォルト値がある場合)
var mattername = $('[name=%案件名のフィールド識別ID%]').val();
if (mattername != '') {
    $('[name=imwMatterName]').val(mattername);
}

//案件名
$('[name=%案件名のフィールド識別ID%]').change(function() {
    var mattername = $('[name=%案件名のフィールド識別ID%]').val();
    $('[name=imwMatterName]').val(mattername);
});

//コメント
$('textarea[name=%コメントのフィールド識別ID%]').change(function() {
    $('#form').append('');
    var imwComment = $(this).val();
    $('input[name="imwComment"]').val(imwComment);
});

一時保存や再申請で値を反映する場合には、強制パラメータフラグに'1'を指定してください。
詳しくは以下のドキュメントをご覧ください。

3. WF連携を設定する。

IM-FormaDesignerのアプリケーションのWF連携を設定してください。
設定画面では「アプリケーション名を案件名に設定する」のチェックボックスをオンにしてください。
この設定を行った場合、以下のタグが自動的に追加されます。



設定しない場合、スクリプトで上記のタグを追加してください。

詳しくは以下のドキュメントをご覧ください。

4. フロー定義を作成する。

今回のCookbookで作成した設定をワークフローで実行するには生成されたコンテンツ定義をフロー定義に設定してください。
ワークフローの実行に必要な設定が完了したらワークフローの申請を行うことができます。

詳しくは以下のドキュメントをご覧ください。