※こちらは過去に公開していたブログからの移行記事です。
レポートの試作や自動化の検証を行うとき、またはSalesforceに別のシステムに入っている情報を移行するときなど、過去の日付を持ったレコードを作成しなければならないとき、どうしていますか?
「ユーザインタフェース」からの設定と適切な権限の付与を行い、データローダを使用することにより、作成日、最終更新日などの「監査項目」に過去日付の値を指定してレコードを作成できます。
監査項目の作成
※注意※
「監査項目の作成」は、Winter‘16 から利用可能になり、Salesforce はこの機能をデータの移行の際(旧システムから元の作成日時の情報をそのまま移行したいときなど)にのみ有効化することを推奨しています。あくまでも自身で行うテストや、旧システムからの移行時に使用を限定したほうが良さそうです。
設定手順
1.設定 > ユーザインターフェース >ユーザインターフェース [「レコードの作成時に監査項目を設定」および「無効な所有者のレコードを更新」ユーザ権限 ]を有効化にチェックを入れて保存。
2.設定 > 権限セット 新規権限セットを作成し、システム権限の[レコードの作成時に監査項目を設定](=レコードを作成するときに、[作成者] や [最終更新者] などの監査項目を設定します (API のみ))にチェックを入れて保存。
3.作成した権限セットをシステム管理者に割り当てる。
※システム管理者にはデフォルトで付与されていますが、「すべてのデータの編集」権限も必要です。
これで、データローダで Insert(Upsert)をする際に、次の監査項目を Mappingできるようになります。
・CreatedById(作成者)
・CreatedDate,(作成日)
・LastModifiedById,(最終更新者)
・LastmodifiedDate(最終更新日)
注意事項
・ Updateでは監査項目は Mappingできません(権限の名前通り「レコードを作成するとき」にのみ、指定ができる機能です)。
・すべてのオブジェクトで設定できるわけではありません。
・未来の日付では作成することができません。(「in the future」のエラーになります)
・作成日 >最終更新日 の場合はエラーとなります。
・作成日、最終更新日は Datetime型なので、「日付」でも「日付/時間」でもどちらでも設定可能です。日付で設定した場合は GMTで+9されて、画面上は AM9:00 で表示されます。
◇ Salesforce > Trailblazer community >ヘルプ > ナレッジ > 「監査項目の作成」を有効化する前の考慮事項◇ Salesforce > Trailblazer community >ヘルプ > ナレッジ > 監査項目の設定の有効化◇ Salesforce > Trailblazer community >ヘルプ > ナレッジ > インポートされたレコードの監査項目 (作成者、作成日、最終更新者 ID、最終更新日) の値を指定する方法作成したレコードを確認する
・作成日、最終更新日は、詳細画面には表示されませんが、リストビューでは表示させることができます。なお、ClassicとLightningではリストビューでの表示のされ方が異なっており、Classicでは年月日だけ、Lightningでは時間まで表示されます。
・詳細画面で作成日、最終更新日を表示させたい場合は、カスタム数式項目を作って、監査項目である作成日、最終更新日を参照させて表示させます。
◇ Salesforce > Trailblazer community >ヘルプ > ナレッジ > 作成日および最終更新日をカスタム項目として追加する方法