3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

入社3年目の開発エンジニアです。
今回も引き続き、記事を書いていきます。

今回のお題は「コピー新規を対象外にする手法」について説明していきます。

コピー新規とは

コピー新規は、申請した案件を複製して申請を行う処理を指します。
今回はコピー新規を活用し、
項目を指定してコピー対象外にする処理を実現しようと思います。

実践

①アクション設定をクリックする
image.png

②初期表示イベント画面で追加ボタンをクリック後、
アクションをカスタムスクリプトに切り替える
説明の部分は任意入力ですが、「コピー新規」と入力します。
image.png

③設定ボタンをクリック後、スクリプトコードを書く

main.js
//申請画面のみ処理を適用
if ($("[name='imwPageType']").val() == 0 || $("[name='imwPageType']").val() == 1) {
  var args = [];
  args.data = {};
  var recycle_data_id = $("[name='imfr_recycle_data_id']").val();
  var recycle_id = $("[name='imfr_recycle_id']").val();
  var sampleName01 = $("[name='sampleName01']").val();

  //コピー新規時に対象のidが空の場合のみ処理を実行
  if(recycle_data_id != '' && recycle_id != '') {
    //入力したテキストをクリア
    args.data.sampleName01 = "";
    formaItems.product_72_textbox.setItemData.sampleName01(args);
    
    //コピー新規後(初回時)に暗黙パラメータの値をリセット	
    recycle_data_id  = $("[name='imfr_recycle_data_id']").val('');	
    recycle_id = $("[name='imfr_recycle_id']").val('');	
  }
} 

上記スクリプトはクライアントサイドスクリプトAPI、暗黙リクエストパラメータを使って、
JavaScriptベースで処理を作成しました。
今回、「名前」項目に対してコピー新規の対象外にしてみたいと思います。

④確定ボタンをクリック後、更新ボタンをクリックする

動作確認

①案件一覧から申請したWFの「コピー新規」をクリックする
image.png

②申請画面に遷移すると、入力された名前が空になっていることを確認
image.png

最後に

申請したWFからコピー新規を行った際に入力された項目に対して、コピー対象外にする手法を記事にしました。
普段はコピー新規を行うと入力したすべての値がそのままコピーされますが、
クライアントからある項目だけをコピー対象外してほしいという要望があれば、
この記事を参考に処理を実現していただければ幸いです。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?