tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:取引先の所有者移行と商談の所有者移行の関係の検証を試してみました

取引先の所有者移行と商談の所有者移行の関係の検証を試してみました。

f:id:tyoshikawa1106:20200227032457p:plain


検証用のユーザとして下記の2つを用意しました。(どちらも管理者権限ユーザ)

ユーザA

f:id:tyoshikawa1106:20200227033921p:plain

ユーザB

f:id:tyoshikawa1106:20200227033935p:plain


検証用の取引先と商談はこちら。
f:id:tyoshikawa1106:20200227033824p:plain

f:id:tyoshikawa1106:20200227033836p:plain

Apexコードによる所有者移行

はじめにApexコードによる所有者の移行での検証です。開発者コンソールに下記のコードを実行して所有者を更新してみます。

f:id:tyoshikawa1106:20200227034048p:plain

// ユーザ取得
User userTypeA = [SELECT Id FROM User WHERE LastName = 'Yoshikawa'];
// ユーザ取得
User userTypeB = [SELECT Id FROM User WHERE LastName = 'SF'];
// 取引先取得
Account account = [SELECT Id FROM Account WHERE Name = '株式会社セールスフォース・ドットコム' LIMIT 1];
// アサインフラグ
Boolean isAssignTypeA = true; // ここで切り替え
// アサインフラグ判定
if (isAssignTypeA) {
    // 所有者指定 = Yoshikawa
	account.OwnerId = userTypeA.Id;
} else {
    // 所有者指定 = Saasy
	account.OwnerId = userTypeB.Id;
}
// 取引先UPDATE
update account;
Yoshikawa → Sassyへ移行

先程のコードで「isAssignTypeA = false;」と変更して処理を実行します。結果として取引先の所有者のみ更新されて商談は変更されないことを確認できました。

f:id:tyoshikawa1106:20200227034346p:plain

f:id:tyoshikawa1106:20200227034403p:plain

Sassy → Yoshikawaへ移行

もとに戻しても商談の所有者への影響はありません。
f:id:tyoshikawa1106:20200227034511p:plain

f:id:tyoshikawa1106:20200227034524p:plain

Apexでの取引先所有者更新は既存商談への影響はありませんでした。

標準機能での所有者更新 (オプションのチェックなし)

続いて標準機能での所有者更新です。標準の場合は下記のオプションが用意されています。今回はチェックなしで移行を行います。

  • 他のユーザが所有する進行中の商談を移行
  • 取引先所有者の完了した商談を移行

f:id:tyoshikawa1106:20200227034736p:plain


所有者をYoshikawaからSassyに変更してみました。
f:id:tyoshikawa1106:20200227034818p:plain


完了フラグがオンの商談は所有者そのままで、それ以外の商談の所有者は更新される結果となりました。
f:id:tyoshikawa1106:20200227035056p:plain


所有者をYoshikawaに戻して「取引先所有者の完了した商談を移行」にチェックをつけて更新します。
f:id:tyoshikawa1106:20200227035314p:plain


この場合は完了フラグがオンの商談も移行されました。
f:id:tyoshikawa1106:20200227035439p:plain


上記のとおり、システム管理者権限のユーザが所有者更新を行うと「他のユーザが所有する進行中の商談を移行」のチェックがオフでも進行中の商談の所有者は更新されました。
f:id:tyoshikawa1106:20200227040128p:plain


また、一般ユーザで所有者更新を行う場合、権限によっては「他のユーザが所有する進行中の商談を移行」自体が表示されません。
f:id:tyoshikawa1106:20200227040116p:plain

所有権の一括変更画面

こちらの画面でも所有者の更新が可能です。移行時のオプションも同じように用意されています。
f:id:tyoshikawa1106:20200227040424p:plain


取引先ページの所有者更新と同じくオプションにチェックをつけない場合は完了フラグがオフの商談所有者は更新されませんでした。
f:id:tyoshikawa1106:20200227040551p:plain

まとめ

今回一番確認したかったのは所有者の移行作業実施時にクローズされた過去の商談の所有者が更新されるかを確認したかったのが目的でした。標準機能はもちろん、Apexによる取引先の所有者更新は、クローズ後の商談には影響がないことを確認しました。またApexの場合は進行中の商談所有者への影響もありません。


管理者ユーザの場合のみだと思いますが、「他のユーザが所有する進行中の商談を移行」はあまり意味がなく移行されたのはちょっと気づけてよかったかもしれません。


取引先の所有者移行と商談の所有者移行の関係の検証はこんな感じでした。