Blogical

AWS/Salesforceを中心に様々な情報を配信していきます(/・ω・)/

見積(Quote)のコピーをフローでやってみた

こんにちは、ロジカル・アーツの岡田です。

 

見積作成の際に、既に作成した見積を参考に新しい見積を作るシーンは多いと思うのですが、見積品目名を含めた形でのコピーが標準では出来ない為、
見積品目名もコピーする形で、見積のコピーをフローで構築してみました。

以下に、手順を記載したいと思います。

 

 

 

はじめに

今回のフローは画面上のボタンより発火する形にしたいので、画面フローでスタートします。

フローの全景は以下です。






手順

見積の取得

まず、元となる見積レコードの全項目を取得します。

ここでの[recordId]とは、今現在(フロー発火時)に見ていたレコードのIDとなります。

これはフローに最初から設定されているわけではないので、新規リソースとして作成します。

【ご注意いただきたいポイント】

・データ型は「テキスト」

・フロー外部での可用性は「入力で使用可能」のみチェックを付ける

以上2点に気を付けてください。

 

recordIdを設定し終わったら、

「最初のレコードのみ」「すべての項目を自動的に保存」を選択してください。

 

見積品目名を取得

コピー元が持つ見積品目名のすべてのレコードの各項目を取得します。


まず、見積ID(QuoteId)とrecordIdを使用して該当レコードを絞り込みます。

並び替えはせず(必要であればしてください)、「すべてのレコード」の「すべての項目を自動的に保存」を選択してください。

 

新見積名の画面入力

画面から新しい見積(コピーしたもの)の名前を取得し、変数に格納します。

コンポーネントで「テキスト」を選択し、「表示ラベル」と「API参照名」を適宜付けます。

ここでは「新見積名入力」「GetNewQuoteName」としています。

 

新見積の作成


レコード項目の設定方法は「個別のリソースおよびリテラル値を使用」を選択してください。

新見積レコードに必要な項目は上記です。

Nameは先ほどの「GetNewQuoteName」から、それ以外は「見積の取得」で取得したものを使用してください。

 

ループ

見積品目名取得をコレクション変数に、ループを作成します。

セット

先ほどのループの見積IDに、新見積名入力の見積IDを割り当てます。

また、レコードコレクション変数を新規リソースから作成し(ここではListと命名しています)、それにループの現在の項目(単一の変数)を割り当てます。

ループの現在の項目を設定する際、枠外をクリックすると画像のように設定できます。

 

複数レコードの一括作成(リストから作成)

ループの外で、見積品目名レコードを一括作成します。

先ほど作成・割り当てたレコードコレクション変数から作成します。

これでフローは完成です。

 

おわりに

後は見積オブジェクトにボタンを作成し配置すれば完成です。

押下すると・・・

ポップアップが表示され、新見積名を入力し次へを押下します。

無事にコピーされました。

標準では無いこの機能も、フローを使えば実現が可能でした。

この記事が参考になれば幸いです。