- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-16-2022 01:15 AM
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);
解決済! 解決策の投稿を見る。

- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-30-2022 09:07 PM
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」ボタンを押下します。
データピルからスクリプト結果の「array」をドラッグ&ドロップします。
メインフローでアクションを呼び出し、結果はFor Each Item inを使います。
実行するとsys_idが表示されます。

- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-18-2022 10:01 AM
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.

- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-30-2022 09:07 PM
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」ボタンを押下します。
データピルからスクリプト結果の「array」をドラッグ&ドロップします。
メインフローでアクションを呼び出し、結果はFor Each Item inを使います。
実行するとsys_idが表示されます。