LoginSignup
1
0

Salesforce記録:商談の一括コピー

Last updated at Posted at 2024-02-18

背景

友人の会社はSalesforce担当者の離任をきっかけにして、Salesforceの利用を見直したいです。独学経験しかもっていない自分が頼まれて、はじめのSalesforce実務経験をかせぎました。記念品として記録します。

課題説明

会社はある年間更新のサービスを販売しています。契約期間切れの前に、お客さんに連絡して、契約更新を促します。これは商談業務の主な内容です。

毎月月初、来月契約期間切れの「既存商談」を検索して、CSVを出力します。そのCSVデータを加工して、新規商談のデータを作成します。新規商談のデータをツール経由してSalesforceにアップロードします。

お客さんと連絡して、継続される場合、商談からオンライン請求の情報を作成して自動メールを発信します。

新規商談作成は明らかに手間が多いです。まずこの点を解決してみましょう。

改善案

商談一覧に一括コピーを設けるようにします。来月契約期間切れの商談を検索して、複数選択して、一括コピーボタンで、新しい商談を一括作成します。
image.png

コピー作成時、商談名称の後ろ3桁の数字を足す1にします。契約開始日の年を足す1にします。などCSV加工と同じく、細かい編集ロジックが必要です。
image.png

Sandbox作成

Salesforce Sandbox は、あらゆるメタデータや顧客データを含む本番環境の完全なコピーです。 追加の設定や管理なしで安全に利用でき、 組織や企業の実業務を妨げることなく変更を行えます。参考: https://www.salesforce.com/jp/products/platform/products/sandbox/

いきなり本番に手を入れると問題を起こしやすいから、開発環境でやりましょうということです。
Salesforceにログインした後、右上の歯車アイコンをクリックして、「設定」メニューを押して、フリー検索にSandboxを入力して、表示される環境ー>Sandboxをクリックします。
image.png

いくつかの画面遷移の後、以下のSandbox一覧画面が表示されます。新規ボタンを押します。
image.png

名称などを入力して、次へボタンを押します。
image.png

起動時実行するApexクラスの設定みたいです。あまり知らないから無視して作成します。
image.png

しばらくの後一覧画面に作成できたSandboxが表示されます。ログインリンクをクリックします。
image.png

表示されるURLをメモします。ログインユーザは本番ユーザ名+Sandbox名になります。パスワードは本番と同じです。Sandbox初回ログイン時、二段階認証が発生します。オーナーの承認が必要です。そのあとはもう大丈夫で、開発者のみの世界になります。
image.png

上記の手順を友人の会社の担当者に渡して、SandboxのURL・アカウント・パスワードを入手して作業開始です。

開発記録 ~ 基本的な流れ

フローを定義する

歯車アイコン⇒設定メニュー⇒「フロー」で検索⇒プロセスの自動化・フローを選択します。
image.png
新規フローボタンを押します。
image.png

画面フローを選択して、作成ボタンを押します。
image.png

「+」のアイコンをクリックして、プロセスを追加できます。
image.png

最終完成のフローは以下のようになります。左上のボタンで各種リソースを確認・編集できます。※このボタンを見つかるまで2日間かかりました。:relaxed:
image.png

ボタンを定義する

歯車アイコン⇒設定⇒「オブジェクト」で検索⇒オブジェクトマネージャーをクリックします。
image.png

オブジェクトマネージャー一覧画面から、商談を探して開きます。
image.png

詳細画面に「ボタン、リンクおよびアクション」で一括コピーボタンを定義します。「リストビューボタンレイアウト」でボタンを商談一覧画面に配置します。
image.png

ボタンの定義には、表示種別でリストボタン&複数レコード選択用とします。また、前に保存したフローの名称を利用して、「/flow/フロー名称」で登録します。これでボタン押すとき、フローを呼び出します。
image.png

商談のリストビューで、一括コピーボタンを表示するように選択します。
image.png

開発記録 ~ フロー定義の詳細

これからフロー定義の各種リソースの詳細に説明します。

ids変数

いくつかの資料からみると、idsの名称はきまりみたいです。一覧から複数選択されたidをコレクションの形でフローに渡します。それを受取るのは、ids変数です。別名したり、大文字小文字違ったり、などはだめです。この変数はフロー処理にとって唯一のINPUTです。
image.png

割り当て

Countという数字変数を定義して、idsのサイズをCountに代入します。
image.png

分岐

選択条件プロセスに、Count変数により処理を分岐します。
image.png

ゼロ件エラー

未選択場合、エラー画面を表示します。
image.png

選択レコードをループ

件数有りの場合、idsに対してループします。
image.png

商談オブジェクト取得

Idがループ中の項目と一致する商談を取得します。
image.png

新規商談オブジェクト作成

取得した商談オブジェクトの項目を新しい商談の項目に代入して、コピー作成を実現します。
image.png

商談名と契約開始日の処理

商談名と契約開始日は、前年度のものを数式で加工します。
image.png

image.png

変更セットでリリース

送信変更セットで差分作成

送信変更セットは、ログインしている Salesforce 組織で作成された、他の組織に送信するための変更セットです。一般に送信変更セットは、Sandbox でカスタマイズ内容を作成およびテストした後に本番組織に送信するために使用されます。送信変更セットを別の組織に送信しても、その組織で変更が実装されることを保証するものではありません。変更が適用されるには、送信先組織が変更セットをリリースする必要があります。参考:https://help.salesforce.com/s/articleView?id=sf.changesets_about_outbound.htm&type=5

歯車アイコン・設定⇒変更セットで検索⇒送信変更セットを選択します。
image.png

Sandboxで作成したものを全部選択します。
image.png
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
以下の内容は本番リリース後、再度更新します。

送信変更セットをアップロード

本番環境でリリースOKを設定する

Sandbox環境でアップロードボタンを押す

受信変更セットで本番リリース

本番環境から、受信した変更セットを選んで本番リリースします。
参考
https://opt-p.co.jp/blog/salesforce-sfdc/post-1537/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0