# マージ処理アクション

{% hint style="success" %}
マージ処理アクションの利用には「一括マージアクション」オプションが必要です。ご利用をご希望の場合は担当の営業窓口までお知らせ下さい。
{% endhint %}

## レコードをマージ <a href="#merge-records" id="merge-records"></a>

シート内で選択されている複数のレコードをマージして単一のレコードに統合します。

Salesforce標準のマージ処理とは以下の点が異なります。

* 最大50件までのレコードのマージを一度に実行可能（標準機能では3件まで）
* すべての標準・カスタムオブジェクトに対応（標準機能ではリード・取引先・取引先責任者・ケースなどの限られた標準オブジェクトのみ）

アクションを起動すると選択されたレコードがダイアログ内に以下のような一覧表として表示されます 。

<figure><img src="https://2817247209-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FS2wT6ommdiuYru74JEtd%2Fuploads%2Fgit-blob-3bb5436c9edac33d8b0ba15169d9411581d4beaf%2Fbulk_merge_action_dialog.png?alt=media" alt=""><figcaption></figcaption></figure>

一覧表ではレコードの名前となる項目が左端に固定で表示されます。その他の列では、レコード間で項目の値に違いがある項目のみが列として表示されます。

一覧表の左端にあるラジオボタンからプリンシパル（主）となるレコードを選択します。残りのレコードからマージしたときに項目の値として採用する値をセルをクリックして選択します。

参照のみ（編集不可）の項目の列はグレーで表示され、主レコード以外のレコードから値を選択することはできません。

テキストエリアおよびロングテキストエリア項目に対しては、複数のレコードからマージ後に残す項目の値を選択することが可能です。 選択されたテキストの値は区切り文字列（----）で連結されます。この区切り文字列はアクションボタンの設定で変更可能です。

主レコードを選択し、マージ後のレコードで採用する項目値の選択が完了したら、「マージ」ボタンを押すことでレコードのマージを実行します。

{% hint style="info" %}
項目の値がセルの大きさで隠れてしまい完全に確認できない場合は、セルの上にマウスカーソールを重ねて静止することでツールチップが表示され、値の全体を確認できます。
{% endhint %}

### アクションボタンの設定 <a href="#action-button-setting" id="action-button-setting"></a>

「レコードをマージ」アクションボタンには以下のプロパティを設定できます。

* **ボタンの表示ラベル** – ボタンの中に表示するラベルをカスタマイズして設定します
* **ボタンの表示アイコン** – ボタンの中のラベル横に表示するアイコンを設定します

また詳細設定ダイアログから以下の設定を変更可能です

* **複数テキストデータを選択してマージする際の区切りテキスト** – テキストエリアおよびロングテキストエリア項目において複数のセルを選択してマージを行った場合、連結するテキストデータを区切るための文字列を指定します。デフォルトの値は「----」 （ハイフン4つ）です。
* **レコードのマージの完了時にシートを再読込する** – マージの完了後にシート内のレコードデータを自動的に再読み込みすることで、マージ後のレコードの状態がシートの表示に反映されるようにします。

### マージ処理の詳細 <a href="#merge-action-detail" id="merge-action-detail"></a>

「レコードをマージ」アクションを実行した際には、以下のような処理が行われます。

* Salesforceが標準でマージをサポートしているオブジェクト（リード、取引先、取引先責任者、ケース）については、標準のマージ処理と同等の動作がマージするレコードの数分繰り返し行われます。
* Salesforceが標準でマージ処理をサポートしていないオブジェクトについては、以下の処理を同時に行います。
  * 主レコードとして選択されたレコードの各項目情報をマージ時に指定した内容に更新
  * 主レコード以外のレコードを削除
  * 主レコード以外のレコードに紐づく子レコードにおいて、親レコードの参照を更新可能なものについては、親レコードの参照として主レコードを参照するように更新

### アクションの制限 <a href="#limitation-of-merge-action" id="limitation-of-merge-action"></a>

* 現在50件までのレコードの一括マージに対応しています。50件を超えるレコードを選択した場合には選択したレコードのうち先頭の50件のみがマージの対象となります（ダイアログ内に警告が表示されます）。
* レコードの一括マージを行うには、マージを実行するユーザーが選択されたレコードに対してSalesforce上で更新および削除を行う権限を付与されている必要があります。必要な権限が付与されていない場合、レコードのマージの実行時にエラーが表示されます。
* シート内で追加されているデータ列についてはマージの対象外となります。
* スクラッチデータシートのデータのマージはできません。
