はじめに
比較的最近にSalesforceをさわり始めた者が書いているので、ごく初心者向けの内容です。
データローダを使って取引先のレコードタイプを法人から個人に変更するときに、公式ヘルプの記載通りにやったら怒られたので、備忘も兼ねて書きます。
公式ヘルプの内容
確認した公式のヘルプは法人取引先から個人取引先、および、個人取引先から法人取引先へ変更する方法です。
内容をざっくりまとめると、下記のようになります。
- レコードタイプを更新したい取引先のIDとレコードタイプを出力する
- 変更したい先(法人→個人であれば個人取引先)のレコードタイプのsfidを確認する
- 1で取得した取引先のレコードタイプに、2で確認したレコードタイプのIDを指定して更新する
ただ、上記の手順で更新をかけようとしたところ、以下のエラーで怒られてしまいました。
account cannot be converted to person-account
レコードタイプ変更に必要だったこと
ヘルプ通りに進めたはずが…せめて変換に失敗した理由を出力して欲しいと思いましたが、仕方がありません。
諸々確認した結果、私がレコードタイプを変更したかったデータの場合、更新には以下の3作業(?)が必要でした。
- 取引先責任者を作成する
- 更新したい取引先と、取引先責任者の「所有者」を合わせる
- 「親取引先」を空にする
1. 取引先責任者を作成する
更新をかけようとしている取引先の取引先責任者を作成します。
そらそうでしょと言われそうですが、ヘルプに書いてなかったのでうまいこと作ってくれるのかと思っていました…。
2. 更新したい取引先と、取引先責任者の「所有者」を合わせる
取引先の所有者が違っていると更新に失敗します。
自分は検証環境で更新に成功した上で、本番でいざ更新!をして失敗して気づきました。
本番環境のデータ所有者はお客様なのに、取引先責任者の作成が自分(システム管理者)になっていたためです。
3. 「親取引先」を空にする
公式ドキュメントの個人取引先の使用に関する考慮事項に、
個人取引先は取引先階層に含めることはできません
とあるので、親取引先は空にしておく必要があるようです。
検証環境で適当なデータで変換テストをしたときに失敗して確認しました。
法人→個人へ変換を依頼されるようなデータですと、そもそも親取引先は入っていないことが多そうですし、実データの場合はあまり気にしなくても良いかもしれませんね。
更新手順まとめ
上記を踏まえて、今自分が使用している取引先レコードタイプ法人→個人変更フローが以下になります。
- 更新したい取引先(以下取引先)の所有者を確認し、親取引先が入力されていたら空にする
- 取引先の取引先責任者を作成する
- 2の取引先責任者の所有者を、取引先の所有者と同じにする
- 個人取引先のレコードタイプのsfidを確認する
- 更新したい取引先のIDとレコードタイプをデータローダで出力する
- 5で出力した取引先のレコードタイプを4で確認した個人取引先のsfidに書き換える
- 6を使ってデータローダで取引先を更新する
- 取引先情報の更新が必要になっていないか確認する(取引先名や個人取引先のみの必須項目など)
おわりに
自分が取引先レコードタイプ変更で引っかかった点についてまとめました。
今の所は対応件数が多くない(手順を忘れた頃にくる)のでデータローダでちまちま対応していますが、手動更新に恐怖を感じるタイプなので、折を見てボタンポチーでできるようにしようと思います。