IM-BIS for Accel Platform IM-BIS デザイナヘルプ 第30版 2023-10-01

ボタン(一時保存モーダル)

画面アイテム「ボタン(一時保存モーダル)」は、一時保存を実行するためのアイテムです。
入力したデータを申請処理をせずに、保存することができます。
一時保存を行ったデータは、ワークフローの「一時保存一覧」、または「未処理一覧」から呼び出して、編集・登録することができます。
詳細は「 IM-FormaDesigner 仕様書 」-「 IM-FormaDesigner における一時保存の仕様 」を参照してください。

基本設定

ラベル

入力項目の名称などの補助項目として使用します。
ラベルに設定した名称を、入力欄の左に表示します。

ボタンサイズレベル

ボタンの表示サイズをレベル単位で指定します。
レベルの数字が小さいほど、表示するサイズが大きくなります。

入力チェック

画面アイテムで利用する入力チェックを設定します。

  • 「する」をオン

    申請時と同様の入力チェックが行われます。

  • 「しない」をオン

    以下の最小限の入力チェックのみ行われます。

    • 最大文字数
    • 数値のみ
    • 数値桁数
    • 小数部桁数
    • 日付形式

    コラム

    以下の入力チェックは行われません。

    • 必須チェック
    • 必須選択チェック
    • 最小文字数
    • 英数字のみ
    • 負数
    • 添付ファイルの個数 最少
    • 添付ファイルの個数 最大
    • 正規表現

詳細設定

アイテム名

同一フォーム内で画面アイテムを識別するための名前を指定します。

画面の種類(行項目)

  1. 申請

    ワークフローの申請画面の時の表示タイプを設定します。

  2. 再申請

    ワークフローの再申請画面の時の表示タイプを設定します。

  3. 承認

    ワークフローの確認・承認画面の時の表示タイプを設定します。

  4. 参照

    ワークフローの参照画面の表示タイプを設定します。

表示・入力タイプ(列項目)

  1. 表示

    html上に画面アイテムを存在させます。
  2. 非表示

    html上に画面アイテムを存在させません。

コラム

再申請や承認時に、一時保存を実行できるようにするには、表示タイプ:再申請・承認に対して、入力タイプ:入力に設定してください。

表示タイプ:表示

../../../../../../_images/display20.png

アイテムサイズ・配置

フォーム内での表示の位置・高さ・幅を指定します。

画面アイテムとして指定した領域(「フォーム・デザイナ」画面上で赤い点線で囲まれる範囲)の横の長さ(幅)をピクセル単位で指定します。

画面アイテムとして指定した領域(「フォーム・デザイナ」画面上で赤い点線で囲まれる範囲)の縦の長さ(高さ)をピクセル単位で指定します。

X

画面アイテムとして指定した領域(「フォーム・デザイナ」画面上で赤い点線で囲まれる範囲)の左上頂点のフォーム左上からの横位置をピクセル単位で指定します。

Y

画面アイテムとして指定した領域(「フォーム・デザイナ」画面上で赤い点線で囲まれる範囲)の左上頂点のフォーム左上からの縦位置をピクセル単位で指定します。

一時保存設定

  • 一時保存設定
    表示する一時保存モーダルへのパラメータを設定します。

注意

一時保存モーダルへのパラメータ設定が有効になるのは、「PC版」で表示したときのみです。
「スマートフォン版」で表示した場合はパラメータ設定の有無に関わらず、画面アイテム「ボタン(一時保存)」クリック時と同様の動作になります。

案件名 / 処理コメント

あらかじめ指定した値や、フォーム内の他の画面アイテムの値などを参照して処理するための計算や関数を設定します。
他の画面アイテムの値を参照する場合には、参照する画面アイテムの「フィールド識別ID」(※)で指定します。
固定の文字を指定する場合は、ダブルクォーテーション「”」で囲みます。

※画面アイテム「複数行文字列」、「リッチテキストボックス」は対象外です。

コラム

画面アイテム「日付」等、データ型が日付またはタイムスタンプであるアイテムの値を参照する場合は、日付関数を利用することで任意のフォーマットに変換できます。

モーダル入力値の保持

モーダルを表示する際に前回表示した内容を復元するかを指定します。
チェックをオンにすると、前回表示した内容を復元します。
画面遷移をした場合、入力内容は破棄されます。
クライアントサイドスクリプトでモーダルの各種制御を行い、モーダルを開く都度スクリプトを実行したい場合、チェックをオフにしてください。

注意

  • 本アイテムを複数配置しても、モーダル入力値はアイテムごとではなく共通で用いられます。
    チェックをオンにしているボタンでモーダルを表示する際、それよりも先に別に配置しているボタンでモーダルを表示していた場合はそこで入力された値が保持されます。
    複数のボタンを配置し、それぞれ異なったクライアントサイドスクリプトでモーダルの各種制御を行いたい場合、チェックをオフにしてください。
  • ボタン(処理モーダル)とボタン(一時保存モーダル)は別アイテムとなりますので、モーダル入力値も別となります。

インタフェース制御

モーダルの各項目に対するインタフェースの制御(表示、入力不可、必須)を指定します。
制御の内容と設定値ごとの動作は以下の通りです。
  • 表示
    • チェックをオン: 項目を表示します。(初期値)
    • チェックをオフ: 項目を非表示にします。
  • 入力不可
    • チェックをオン: 項目を入力不可(参照のみ)にします。
    • チェックをオフ: 項目を入力可とします。(初期値)
  • 必須
    • チェックをオン: 項目を必須入力にします。
    • チェックをオフ: 項目を任意入力にします。(初期値)

下記の表では、設定可能な組み合わせに image_display マークをつけています。

項目名 表示 入力不可 必須
案件名 image_display image_display  
申請基準日 image_display    
申請権限者 image_display    
処理コメント image_display image_display image_display

実行画面における動的制御

クライアントサイドスクリプトでモーダルの各種制御を行うことができます。

  • モーダル内の情報に対するインタフェース制御
  • モーダル表示用パラメータ情報への値指定

製品としてサポートするスクリプトの設定方法は以下の通りです。

  • 画面アイテム「スクリプト」のスクリプト
  • アクション設定: 初期表示イベント(カスタムスクリプト)
  • アクション設定: 任意のアイテムのイベント(カスタムスクリプト)

制御を行うには、グローバル変数 window.forma.modalInfo.xxx に対して設定情報を指定してください。

  • 変数名 xxx は表示するモーダルの種類によって異なります。

    • 申請モーダル: showApplyParameter
    • 処理モーダル: showProcessParameter
    • 確認モーダル: showConfirmParameter
    • 一時保存モーダル: showTemporarySaveParameter
  • インタフェース制御を行う場合、 xxx.interfaceControl 以下へ設定情報を指定してください。
  • フロー設定(分岐開始/差戻し先/動的承認/確認/縦配置/横配置)への値設定を行う場合、 xxx 以下へ対象のフロー設定毎の設定情報を指定してください。
    詳細は以下のドキュメントを参照してください。
    • IM-Workflow プログラミングガイド 」-「 modal
    • 上記ページより、表示するモーダルの種類に応じて showApply , showConfirm , showProcess , showTemporarySave のリンク先を参照してください。

注意

  • ここで行う制御はデザイナで行った設定より優先されます。
  • 以下のパラメータについては制御不可能となります。
    • flowId - フローID
    • userDataId - ユーザデータID
    • systemMatterId - システム案件ID
    • nodeId - ノードID
  • このスクリプトがモーダル表示の都度有効となるのは、デザイナで行った モーダル入力値の保持 のチェックがオフの時のみです。

以下に申請モーダル表示時の設定例を記載します。

window.forma.modalInfo.showApplyParameter = {
  interfaceControl: {
    matterName: {
      display: true,
      readonly: true
    },
    applyBaseDate: {
      display: true
    },
    applyAuthUserCd: {
      display: true
    },
    authUserDepartmentInfo: {
      display: true,
      readonly: true
    },
    priorityLevel: {
      display: true,
      readonly: true
    },
    processComment: {
      display: true,
      readonly: true,
      required: true
    },
    attachmentFile: {
      display: true
    },
    stamp: {
      display: true
    },
    nego: {
      display: true,
    }
  },
  branchSelects: [
    {
      branchStartNodeId: "branch_start1",
      forwardNodeIds: [
        "horizontal1"
      ]
    }
  ],
  dynamicNodeConfigs: [
    {
      enable: true,
      nodeId: "dynamic1",
      nodeInformation: "サンプル課11が初期値としてセットされます。",
      readonlyEnableToggle: true,
      searchCondition: {
        criteria: null
      },
      processTargetConfigs: [
        {
          pluginId: "jp.co.intra_mart.workflow.plugin.authority.node.dynamic.department",
          parameter: "comp_sample_01^comp_sample_01^dept_sample_11"
        }
      ]
    }
  ],
  confirmNodeConfigs: [
    {
      nodeId: "confirm1",
      nodeInformation: "サンプル課11が初期値としてセットされます。",
      searchCondition: {
        criteria: null
      },
      processTargetConfigs: [
        {
          pluginId: "jp.co.intra_mart.workflow.plugin.authority.node.confirm.department",
          parameter: "comp_sample_01^comp_sample_01^dept_sample_11"
        }
      ]
    }
  ],
  horizontalNodeConfigs: [
    {
      nodeId: "horizontal1",
      nodeInformation: "サンプル課11が初期値としてセットされます。",
      dispatchControl: {
        max: 3,
        min: 1
      },
      searchCondition: {
        criteria: null
      },
      matterNodeExpansions: [
        {
          nodeName: "横配置1",
          searchCondition: {
            criteria: null
          },
          processTargetConfigs: [
            {
              pluginId: "jp.co.intra_mart.workflow.plugin.authority.node.dynamic.department",
              parameter: "comp_sample_01^comp_sample_01^dept_sample_11"
            }
          ]
        }
      ]
    }
  ],
  verticalNodeConfigs: [
    {
      nodeId: "vertical1",
      nodeInformation: "サンプル課11が初期値としてセットされます。",
      dispatchControl: {
        max: 1,
        min: 1
      },
      searchCondition: {
        criteria: null
      },
      matterNodeExpansions: [
        {
          nodeName: "縦配置1",
          searchCondition: {
            criteria: null
          },
          processTargetConfigs: [
            {
              pluginId: "jp.co.intra_mart.workflow.plugin.authority.node.dynamic.department",
              parameter: "comp_sample_01^comp_sample_01^dept_sample_11"
            }
          ]
        }
      ]
    }
  ],
  matterName: "案件名初期値設定",
  applyAuthUserCd: "aoyagi",
  applyBaseDate: "2020/12/25",
  authUserDepartmentInfo: {
    companyCd: "comp_sample_01",
    departmentSetCd: "comp_sample_01",
    departmentCd: "dept_sample_11"
  },
  priorityLevel: "1",
  processComment: "申請コメント初期値設定"
};

処理後の遷移先制御

コラム

この機能は 2022 Winter(Freesia) より追加されました。

画面アイテム「スクリプト」でモーダル処理後の遷移先を制御できます。
製品としてサポートするスクリプトの設定方法は以下の通りです。
  • 画面アイテム「スクリプト」のスクリプト
制御を行うには、以下の関数を利用して遷移先を制御してください。
window.forma.modal.setNextPagePath('遷移先の画面パス');

コラム

(例) 遷移先を「ホーム画面」に変更したい場合は、以下のように設定します。

window.forma.modal.setNextPagePath('home');
設定すると以下の処理の遷移先が変更されます。
  • 申請モーダル

    • 申請
    • 再申請
    • 取止め
  • 処理モーダル

    • 承認
    • 否認
    • 保留
    • 保留解除
    • 差戻し
    • 引戻し
  • 確認モーダル

    • 確認
  • 一時保存モーダル

    • 一時保存

注意

  • 連続処理、連続確認の場合は、次の案件ノードがあれば、該当のユーザコンテンツに遷移します。
    次の案件ノードがなければ、呼出元一覧画面に遷移します。
  • アクション設定(アイテムイベント)のカスタムスクリプトでは設定できません。
  • タブフォームを利用する場合は、ヘッダフォームにスクリプトを設定してください。
    タブフォームにスクリプトを設定した場合は、設定が反映されません。
    ヘッダフォームに別アイテムを置かない場合は、スクリプトの画面アイテムプロパティ「アイテムサイズ・高さ」を「0」に指定する事で、ヘッダフォームを使用しない場合と同じ見た目で表示されます。