入力オブジェクトを特定の承認者から必須入力にする

✔ 概要

ここでは決裁者以降の承認時に入力テキストを必須入力にする方法を説明します。
必須項目を入力せずに承認しようとすると、アラートを表示し、入力を促します。

注意

  • 本設定は、フォーム、旧バージョン形式のフォーム(JSP)および旧バージョン形式のフォーム(PDF)で利用できます。
    Liteフォームでは利用できません。

情報表示フィールドとスクリプトを利用する方法で実現します。
決裁者の情報表示フィールドにIDが入っているかどうかを判定基準として、入力テキストの必須入力属性を変更する方法を説明します。

フォーム形式により、設定方法が異なります。

フォームの場合(V5.2.0以降のフォーム)

注意

本設定は、V5.2.0以降のフォームで利用可能です。
V5.2.0より前のバージョンのフォーム、Liteフォームおよび旧バージョン形式のフォーム(JSP/PDF)では利用できません。

ヒント

以降の説明では、フォームを表示しているユーザーの情報を参照、オブジェクトへ必須入力を指定するため JavaScript の API を利用します。
それぞれのAPIは、以下の名前空間で公開しています。JavaScript API リファレンス もあわせて参照ください。

  • フォームを表示しているユーザーの情報を参照
    • iftc.cwf.api.Forms
  • 必須入力の設定
    • iftc.cwf.api.FormObject

設定方法

フォームの設定

承認者が承認フォームを表示したタイミングで実行される処理のため、承認フォームに処理を実装します。

オブジェクトの配置/設定

  • 入力テキストを配置します。ここでは例として、オブジェクト名「ITEXT000」とします。

    • [表示]タブ

      項目 設定値
      必須入力 チェックしない

送信ボタン設定

  • Formエディターのメニューバーで[オプション - 送信ボタン設定]を選択し、[送信ボタン設定]ダイアログを表示します。

  • [承認ボタン]タブを選択し、クリック時のJavaScriptの[編集]ボタンをクリックします。

  • [JavaScriptの編集]ダイアログが表示されます。

  • 現在の処理中ユーザーが「決裁者」または「閲覧者」の場合、「必須入力」のチェックを行う以下のスクリプトを記述します。

    // APIをインスタンス化
    const forms = new iftc.cwf.api.Forms();
    
    // 現在処理中のユーザーの役割を取得
    const userRole =  forms.getCurrentWorkFlowNode().role;
    
    // 処理中のユーザーが「決裁者」または「閲覧者」であるとき
    if( ( userRole == '2' ) || ( userRole == '3' ) ){
      // 必須入力を有効とする
      new iftc.cwf.api.FormObject( 'ITEXT000' ).setRequired( true );
    }
    

    注釈

    「ITEXT000」の部分には、配置したオブジェクト の入力テキストのオブジェクト名を記載してください。

  • 入力終了後、[OK]ボタンをクリックし[JavaScriptの編集]ダイアログを閉じます。

フォームの保存、アップロード

Formエディターでフォームを保存し、フォームをサーバーにアップロードします。

動作確認

ワークフローシステムにログインし、申請/承認を行います。
決裁者以降の承認者の場合、必須入力になることを確認します。

フォームの場合

注意

本設定は、V5.2.0より前のフォームでも利用可能です。
Liteフォームおよび旧バージョン形式のフォーム(JSP/PDF)では利用できません。

設定方法

フォームの設定

承認者が承認フォームを表示したタイミングで実行される処理のため、承認フォームに処理を実装します。

オブジェクトの配置/設定

  • 入力テキストを配置します。ここでは例として、オブジェクト名「ITEXT000」とします。

    • [表示]タブ

      項目 設定値
      必須入力 チェックしない
  • 情報表示フィールドを配置し、決裁者のIDを表示する設定をします。
    ここで設定した情報表示フィールドに値が格納されているかを決裁者の判定に使用します。

    • [情報の種類]タブ

      項目 設定値
      表示する情報の種類 決裁者
      項目 ID
    • [表示]タブ

      項目 設定値
      表示 非表示
      出力時

      [設定]ボタンをクリックし、[出力時表示設定]ダイアログにて以下を選択します。

      出力時表示設定 [表示]設定の値を使用する

JavaScriptファイルの登録

情報表示フィールドに決裁者のIDが格納された場合のみ、「必須入力」のチェックを行うJavaScriptを設定します。

決裁者が入力フォームを表示すると情報表示フィールドにIDが格納されます。
これを利用し、[承認する]ボタンクリック時に決裁者のIDが設定されていた場合、必須入力チェックを行います。

  • 以下のJavaScriptをテキストファイルに記述し、拡張子を"js"にして、JavaScriptファイルを作成します。ファイル名は任意ですが、半角英数字に限ります。

    例)submitCheck.js

    function submitCheck(elm,usr){
      var ret = true;
      if(usr.value != ""){
    
      // 決裁者の場合
        if(elm.value == ""){
          alert(" 必須入力です。");
          ret = false;
        }
      }
      return ret;
    }
    

    注意

    登録するファイルはUTF-8形式で作成してください。

  • 作成したJavaScriptファイルをサーバーおよびフォームに登録します。

    ヒント

    JavaScriptファイルの登録については、 外部ファイルとしてJavaScriptを登録する を参照ください。

送信ボタン設定

  • Formエディターのメニューバーで[オプション - 送信ボタン設定]を選択し、[送信ボタン設定]ダイアログを表示します。

  • [承認ボタン]タブを選択し、クリック時のJavaScriptの[編集]ボタンをクリックします。

  • [JavaScriptの編集]ダイアログが表示されます。以下のスクリプトを記述します。

    // 入力テキスト
    var txt = document.getElementsByName("ITEXT000")[0];
    
    // 決裁者ID
    var usr = document.getElementsByName("DCN_EMP_ID-A")[0];
    
    // 決裁者入力判定
    if(!submitCheck(txt, usr)){
    
      // 未入力のため終了
      return false;
    }
    

    注釈

    • 「ITEXT000」の部分には、配置したオブジェクト の入力テキストのオブジェクト名を記載してください。
    • 「DCN_EMP_ID-A」の部分には、配置したオブジェクト の情報表示フィールドのオブジェクト名を記載してください。
      オブジェクト名は[情報の種類]タブの設定に応じて自動で設定されるため、[決裁方法]や[条件]の設定により異なります。判定に使用するオブジェクト名に合わせてスクリプトを記述してください。

    注意

    オブジェクトの設定により、オブジェクトの取得方法が異なります。
    詳細は スクリプトを利用してオブジェクトの内容を取得する を参照ください。

  • 入力終了後、[OK]ボタンをクリックし[JavaScriptの編集]ダイアログを閉じます。

フォームの保存、アップロード

Formエディターでフォームを保存し、フォームをサーバーにアップロードします。

動作確認

ワークフローシステムにログインし、申請/承認を行います。
決裁者以降の承認者の場合、必須入力になることを確認します。

旧バージョン形式のフォーム(JSP)の場合

設定方法

フォームの設定

承認者が承認フォームを表示したタイミングで実行される処理のため、承認フォームに処理を実装します。

オブジェクトの配置/設定

  • 入力テキストを配置します。ここでは例として、オブジェクト名「PTEXT000」とします。

    • [表示]タブ

      項目 設定値
      必須入力 チェックしない
  • 情報表示フィールドを配置し、決裁者のIDを表示する設定をします。
    ここで設定した情報表示フィールドに値が格納されているかを決裁者の判定に使用します。

    • [情報の種類]タブ

      項目 設定値
      表示する情報の種類 決裁者
      項目 ID
    • [表示]タブ

      項目 設定値
      表示と印刷 非表示
      出力時

      [設定]ボタンをクリックし、[出力時表示設定]ダイアログにて以下を選択します。

      出力時表示設定 [表示]設定の値を使用する

JavaScriptファイルの登録

情報表示フィールドに決裁者のIDが格納された場合のみ、「必須入力」のチェックを行うJavaScriptを設定します。

決裁者が入力フォームを表示すると情報表示フィールドにIDが格納されます。
これを利用し、[承認する]ボタンクリック時に決裁者のIDが設定されていた場合、必須入力チェックを行います。

  • 以下のJavaScriptをテキストファイルに記述し、拡張子を"js"にして、JavaScriptファイルを作成します。ファイル名は任意ですが、半角英数字に限ります。

    例)submitCheck.js

    function submitCheck(elm,usr){
      var ret = true;
      if(usr.value != ""){
    
      // 決裁者の場合
        if(elm.value == ""){
          alert(" 必須入力です。");
          ret = false;
        }
      }
      return ret;
    }
    

    注意

    登録するファイルはUTF-8形式で作成してください。

  • 作成したJavaScriptファイルをサーバーおよびフォームに登録します。

    ヒント

    JavaScriptファイルの登録については、 外部ファイルとしてJavaScriptを登録する を参照ください。

オブジェクトの設定

  • [承認する]ボタンをダブルクリックし、[送信ボタンのプロパティ]ダイアログを表示します。

  • [JSP]タブを選択し、[追加]ボタンをクリックします。

  • [JavaScriptの編集]ダイアログが表示されます。「イベントタイミング」で「onClick」を選択し、以下のスクリプトを記述します。

    // 入力テキスト
    var txt = document.getElementsByName("PTEXT000")[0];
    
    // 決裁者ID
    var usr = document.getElementsByName("DCN_EMP_ID-A")[0];
    
    // 決裁者入力判定
    if(!submitCheck(txt, usr)){
    
      // 未入力のため終了
      return false;
    }
    

    注釈

    • 「PTEXT000」の部分には、配置したオブジェクト の入力テキストのオブジェクト名を記載してください。
    • 「DCN_EMP_ID-A」の部分には、配置したオブジェクト の情報表示フィールドのオブジェクト名を記載してください。
      オブジェクト名は[情報の種類]タブの設定に応じて自動で設定されるため、[決裁方法]や[条件]の設定により異なります。判定に使用するオブジェクト名に合わせてスクリプトを記述してください。
  • 入力終了後、[OK]ボタンをクリックし[JavaScriptの編集]ダイアログを閉じます。

フォームの保存、アップロード

Formエディターでフォームを保存し、フォームをサーバーにアップロードします。

動作確認

ワークフローシステムにログインし、申請/承認を行います。
決裁者以降の承認者の場合、必須入力になることを確認します。

旧バージョン形式のフォーム(PDF)の場合

注意

旧バージョン形式のフォーム(PDF)はサポートを終了しました。
現在公開しているスクリプトは正しく動作しない可能性があります。
記載のスクリプトを利用する際は、事前に正しく動作するか検証してください。

設定方法

フォームの設定

承認者が承認フォームを表示したタイミングで実行される処理のため、承認フォームに処理を実装します。

オブジェクトの配置/設定

  • 入力テキストを配置します。ここでは例として、オブジェクト名「PTEXT000」とします。

    • [表示]タブ

      項目 設定値
      必須入力 チェックしない
  • 情報表示フィールドを配置し、決裁者のIDを表示する設定をします。
    ここで設定した情報表示フィールドに値が格納されているかを決裁者の判定に使用します。

    • [情報の種類]タブ

      項目 設定値
      表示する情報の種類 決裁者
      項目 ID
    • [表示]タブ

      項目 設定値
      表示と印刷 非表示
      出力時

      [設定]ボタンをクリックし、[出力時表示設定]ダイアログにて以下を選択します。

      出力時表示設定 [表示]設定の値を使用する

アクション(PDF)の設定

情報表示フィールドに決裁者のIDが格納された場合のみ、「必須入力」のチェックを行うAcrobat JavaScriptを設定します。

決裁者が入力フォームを表示すると情報表示フィールドにIDが格納されます。
これを利用し、決裁者のIDが設定されていた場合必須入力にします。

  • Formエディターのメニューバーで[オプション - アクション(PDF) - ページのアクション]を選択し、以下を設定します。

    項目 設定値
    トリガー ページを開く
    アクション

    [追加]ボタンをクリックし以下を設定します。

    アクションの選択 JavaScriptの実行
    JavaScriptの編集

    以下のAcrobat JavaScriptを記述します。

    // 入力フォームでのみ実行する
    if(this.getField("SUBMIT").display == display.visible){
    
      // 決裁者の情報表示フィールドが空でない場合
      if(this.getField("DCN_EMP_ID-A").valueAsString != ""){
    
        // オブジェクトを取得
        var obj = this.getField("PTEXT000");
    
        // 必須入力にする
        obj.required = true;
      }
    }
    

    注釈

    • 「PTEXT000」の部分には、配置したオブジェクト の入力テキストのオブジェクト名を記載してください。
    • 「DCN_EMP_ID-A」の部分には、配置したオブジェクト の情報表示フィールドのオブジェクト名を記載してください。
      オブジェクト名は[情報の種類]タブの設定に応じて自動で設定されるため、[決裁方法]や[条件]の設定により異なります。判定に使用するオブジェクト名に合わせてスクリプトを記述してください。
  • 入力終了後、[OK]ボタンをクリックし[JavaScriptの編集]ダイアログ、[ページのアクション]ダイアログを閉じます。

フォームの保存、アップロード

Formエディターでフォームを保存し、フォームをサーバーにアップロードします。

動作確認

ワークフローシステムにログインし、申請/承認を行います。
決裁者以降の承認者の場合、必須入力になることを確認します。