UI ActionでSubFlowを呼び出して実行する方法について

uchidai
Tera Contributor

下記のナレッジを参考に、タイトルの機能を持ったUI Actionを実装していますがうまくいきません。

実装の補助をいただけると助かります。

解決済み: UI アクションで作成したボタンから、サブフローを呼び出す方法について - ServiceNow Community

クライアント呼び出し可能なフロー、サブフロー、アクションの作成

 

①Client callableの設定について、AdminのRoleを指定しても問題ないでしょうか。

 

②Create Code Snippetにて生成されたScriptを動作確認のため、Background Scriptでほぼそのまま記入して動かしても動かないです。

おそらく変数のinputの記載方法に誤りがあるのでは?と予想していますが、ご確認いただきたいです。

※追記部分はコメントアウトにて記載しています。

※自動生成されたScriptでは、Flowの名称に862という値が自動付与されている。

 862を消すとSubFlowが見つからないというエラーに変わりますが、どういう経緯で値が付与されているかも、わかる範囲で回答いただきたいです。

 

 

(function() {
	
	try {
		var inputs = {};
		// inputs['u_improvement_proposal_management'] = ; // GlideRecord of table: u_improvement_proposal_management 
		
		// 変数の格納方法は、sys_idを渡す形でよいでしょうか。
		inputs['u_improvement_proposal_management'] = "873dda3193dcd290a392729efaba1096";

		// Start Asynchronously: Uncomment to run in background. Code snippet will not have access to outputs.
		// sn_fd.FlowAPI.getRunner().subflow('global.improvement_proposal862').inBackground().withInputs(inputs).run();
				
		// Execute Synchronously: Run in foreground. Code snippet has access to outputs.
		var result = sn_fd.FlowAPI.getRunner().subflow('global.improvement_proposal862').inForeground().withInputs(inputs).run(); // ★この部分でエラーが発生しているようだが、回避策が不明★
		var outputs = result.getOutputs();

		// Get Outputs:
		// Note: outputs can only be retrieved when executing synchronously.
		var u_manage_cloned_widgets = outputs['u_manage_cloned_widgets']; // String
		
		// 出力確認用
		gs.print(u_manage_cloned_widgets);
		
	} catch (ex) {
		var message = ex.getMessage();
		gs.error(message);
	}
	
})();

 

 

 

③その他、心当たりのある原因があれば、情報共有いただけると助かります。

 成果物の設定情報は、Excelへ付与しました。

 回答できる範囲で構いませんので、フォローいただけると助かります。

1件の返信1

uchidai
Tera Contributor

こちらの記事の記載で、「current」として渡すことで動作することが確認できました。

演習: コード スニペットの作成と使用 | ServiceNow 開発者

 

回答優先度は下げていただいて問題ありません。

 

[※自動生成されたScriptでは、Flowの名称に862という値が自動付与されている。

 862を消すとSubFlowが見つからないというエラーに変わりますが、どういう経緯で値が付与されているかも、わかる範囲で回答いただきたいです。] 

参考までに、こちらの理由が分かれば、ご教授いただけると助かります。