質問: チャンス連絡先の役割をカスタムオブジェクトと同期させるバッチプロセス 機会連絡先の役割はトリガを書くオプションがないので、バッチプロセスを使用してカスタムオブジェクトと同期させています。 OppとOpportunityContactRoleはoppidに関連し、Projectとcustomobjはprojectidに関連しています プロジェクトとOppは、oppidに関連しています。プロジェクトはoppidを検索します。 私が持っている質問は 1. 単にopportunitycontactRoleから空のカスタムオブジェクトに挿入するだけの場合は、すべてのopportunitycontactRoleをループし、customobjの新しいレコードを作成して、oppidとprojectidのマップからprojectidを置き換えることができます。しかし、既にレコードが存在し、連絡先に変更が加えられた場合は、どうすれば確認して更新するのですか?また、customobjにいくつかのレコードがあった場合、私はそれをやり遂げる方法について固執しています。 任意のポインタが大きな助けになる
回答: 私は自分で解決策を見つけました...誰かが同様の要件を持っていた場合に備えて。 連絡先役割のIDを保持するカスタムオブジェクトに新しいフィールドを作成しました。 すべてのアクティブなプロジェクトをループし、 そこからすべてのoppアイデアをセットに集める すべてのプロジェクトIDを別のセットに取り込む すべてのプロジェクトをマップにキャプチャし、プロジェクトID プロジェクトオブジェクトのカスタムオブジェクトのすべてのレコードをループする すべてのコンタクターIDを設定します contactroleidとcustomobjectのマップを作成し、そこにレコードを追加します(Mapcontactrole) oppidsetでキャプチャされたすべてのoppsについて、すべてのoppcontactroleをループする contactcontroleがmapcontactroleに存在するかどうかを確認する はいの場合は、フィールドに変更があるかどうかを確認し、変更があれば更新を行います このレコードをカスタムオブジェクトの新しいリストに追加します else それをカスタムオブジェクトのリストに追加する カスタムオブジェクトの新しいリストをアップする