こんにちは、ロジカル・アーツの岡田です。
見積作成の際に、既に作成した見積を参考に新しい見積を作るシーンは多いと思うのですが、見積品目名を含めた形でのコピーが標準では出来ない為、
見積品目名もコピーする形で、見積のコピーをフローで構築してみました。
以下に、手順を記載したいと思います。
はじめに
今回のフローは画面上のボタンより発火する形にしたいので、画面フローでスタートします。
フローの全景は以下です。
手順
見積の取得
まず、元となる見積レコードの全項目を取得します。
ここでの[recordId]とは、今現在(フロー発火時)に見ていたレコードのIDとなります。
これはフローに最初から設定されているわけではないので、新規リソースとして作成します。
【ご注意いただきたいポイント】
・データ型は「テキスト」
・フロー外部での可用性は「入力で使用可能」のみチェックを付ける
以上2点に気を付けてください。
recordIdを設定し終わったら、
「最初のレコードのみ」「すべての項目を自動的に保存」を選択してください。
見積品目名を取得
コピー元が持つ見積品目名のすべてのレコードの各項目を取得します。
まず、見積ID(QuoteId)とrecordIdを使用して該当レコードを絞り込みます。
並び替えはせず(必要であればしてください)、「すべてのレコード」の「すべての項目を自動的に保存」を選択してください。
新見積名の画面入力
画面から新しい見積(コピーしたもの)の名前を取得し、変数に格納します。
コンポーネントで「テキスト」を選択し、「表示ラベル」と「API参照名」を適宜付けます。
ここでは「新見積名入力」「GetNewQuoteName」としています。
新見積の作成
レコード項目の設定方法は「個別のリソースおよびリテラル値を使用」を選択してください。
新見積レコードに必要な項目は上記です。
Nameは先ほどの「GetNewQuoteName」から、それ以外は「見積の取得」で取得したものを使用してください。
ループ
見積品目名取得をコレクション変数に、ループを作成します。
セット
先ほどのループの見積IDに、新見積名入力の見積IDを割り当てます。
また、レコードコレクション変数を新規リソースから作成し(ここではListと命名しています)、それにループの現在の項目(単一の変数)を割り当てます。
ループの現在の項目を設定する際、枠外をクリックすると画像のように設定できます。
複数レコードの一括作成(リストから作成)
ループの外で、見積品目名レコードを一括作成します。
先ほど作成・割り当てたレコードコレクション変数から作成します。
これでフローは完成です。
おわりに
後は見積オブジェクトにボタンを作成し配置すれば完成です。
押下すると・・・
ポップアップが表示され、新見積名を入力し次へを押下します。
無事にコピーされました。
標準では無いこの機能も、フローを使えば実現が可能でした。
この記事が参考になれば幸いです。