IM-BIS for Accel Platform IM-BIS デザイナヘルプ 第31版 2024-04-01

ボタン(処理モーダル)

画面アイテム「ボタン(処理モーダル)」は、入力したデータの登録処理(ワークフローの申請・再申請・承認等)を実行するためのアイテムです。

基本設定

ラベル(申請・再申請・承認・参照)

ボタンのラベルとして使用します。
ラベルに設定した名称を、ボタン上に表示します。
「ボタン(処理モーダル)」では、表示タイプに合わせて表示する名称を設定できます。
  • 申請:申請画面時に表示する名称を設定します。デフォルト値は「申請」です。
  • 再申請:再申請画面時に表示する名称を設定します。デフォルト値は「再申請」です。
  • 承認:承認画面時に表示する名称を設定します。デフォルト値は「承認」です。
  • 参照:参照画面時に表示する名称を設定します。デフォルト値は「更新」です。

ボタンサイズレベル

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

詳細設定

アイテム名

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

画面の種類(行項目)

  1. 申請

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

  2. 再申請

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

  3. 承認

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

  4. 参照

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

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

  1. 表示

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

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

表示タイプ:表示

../../../../../../_images/display_imw.png

アイテムサイズ・配置

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

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

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

X

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

Y

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

申請設定 / 処理設定 / 確認設定

  • 申請設定
    表示する申請モーダルへのパラメータを設定します。
  • 処理設定
    表示する処理モーダルへのパラメータを設定します。
  • 確認設定
    表示する確認モーダルへのパラメータを設定します。

注意

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

案件名 / 優先度 / 処理コメント / 確認コメント

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

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

コラム

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

モーダル入力値の保持

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

注意

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

インタフェース制御

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

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

項目名 表示 入力不可 必須
案件番号 image_display    
案件名 image_display image_display  
申請基準日 image_display    
申請日 image_display    
申請権限者 image_display    
処理者 image_display    
担当組織 image_display image_display  
優先度 image_display image_display  
処理コメント image_display 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」に指定する事で、ヘッダフォームを使用しない場合と同じ見た目で表示されます。