Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Flow Designer カスタムアクションの出力について

a_129
Mega Guru

sys_idが入った配列をフローに渡すために、カスタムアクションを作成しました。(以下スクリプト参照)
アクション単体のテストでは、値は取得できていますが、
フロー全体のテストを行うと、以下の画像のようにarrayの中の値が取得できません。
また、アクションの出力変数のタイプは、Array.Objectに設定しております。
ちなみに、アクションの出力変数のタイプを【Array.String】や【String】でも試してみましたが、値は取得できませんでした。


解決方法がありましたら、ご教授いただけますと幸いです。

(function execute(inputs, outputs) {
  var star_date = inputs.start_date;
  var end_date = inputs.end_date;
  var array =[];
  var start=[];
  var end=[];
  var sys_id_array=[];
  
  var gr = new GlideRecord('sn_hamp_loaner_asset_order');
  gr.addQuery('active', 'true'); 

  gr.query();

  while(gr.next()){
    start.push(gr.getDisplayValue('work_start'));
    end.push(gr.getDisplayValue('work_end'));
    sys_id_array.push(gr.sys_id.getValue());
  }

  for (var i = 0; i < start.length; i++) {
     if (star_date <= end[i] && end_date >= start[i]) {
          array.push(sys_id_array[i]);
      } 
    }
  outputs.array =array

})(inputs, outputs);

find_real_file.png

1 件の受理された解決策

Hitoshi Ozawa
Giga Sage
Giga Sage

aさん、

2点、気になることがあります。

1.gr.sys_idを取得するのであればgetValue()は不用です。

現在:
sys_id_array.push(gr.sys_id.getValue());
修正後:
sys_id_array.push(gr.sys_id.toString());

2.Action本体のOuputsはどのように定義されていますでしょうか?Array.Stringに設定した後に「Exit Edit Mode」ボタンを押下します。

find_real_file.png

データピルからスクリプト結果の「array」をドラッグ&ドロップします。

find_real_file.png

メインフローでアクションを呼び出し、結果はFor Each Item inを使います。

find_real_file.png

実行するとsys_idが表示されます。

find_real_file.png

元の投稿で解決策を見る

2件の返信2

OlaN
Giga Sage
Giga Sage

Hi,

I have no idea what you have written in your question, so I apologize if I'm completely incorrect.
But I saw a line in your code, you might want to change.

//sys_id_array.push(gr.sys_id.getValue());
// should be -->>
sys_id_array.push(gr.getUniqueValue());

Also, this video might help you find some answers in regards to working with Flow designer and custom actions with complex objects.

Hitoshi Ozawa
Giga Sage
Giga Sage

aさん、

2点、気になることがあります。

1.gr.sys_idを取得するのであればgetValue()は不用です。

現在:
sys_id_array.push(gr.sys_id.getValue());
修正後:
sys_id_array.push(gr.sys_id.toString());

2.Action本体のOuputsはどのように定義されていますでしょうか?Array.Stringに設定した後に「Exit Edit Mode」ボタンを押下します。

find_real_file.png

データピルからスクリプト結果の「array」をドラッグ&ドロップします。

find_real_file.png

メインフローでアクションを呼び出し、結果はFor Each Item inを使います。

find_real_file.png

実行するとsys_idが表示されます。

find_real_file.png