---
id: object/page/702
type: object
title: Page 702 "Merge Duplicate"
summary: Page 702 "Merge Duplicate" in Base Application (Microsoft.CRM.Duplicates). 3 public procedures. Present since at least BC23, still in BC30.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: f584b94e8408a45f80be24177c4b9204f6ebaa9c8795fed0cf3f313a6e46e554
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/CRM/Duplicates/MergeDuplicate.Page.al
    title: src/Layers/W1/BaseApp/CRM/Duplicates/MergeDuplicate.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 702
name: Merge Duplicate
namespace: Microsoft.CRM.Duplicates
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 5
  events: 0
  subscribers: 0
  controls: 7
  actions: 3
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Page 702 "Merge Duplicate"

> Page 702 "Merge Duplicate" in Base Application (Microsoft.CRM.Duplicates). 3 public procedures. Present since at least BC23, still in BC30.

Base Application · Microsoft.CRM.Duplicates · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/CRM/Duplicates/MergeDuplicate.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Merge Duplicate |
| SourceTable | Merge Duplicates Buffer |
| PageType | Card |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Records | Current | [Current](../table/64.md#fields) | — |
|  | Merge With | [Duplicate](../table/64.md#fields) | — |
| Conflicting Records | Current | `GetPK(Rec."Current Record ID")` | Specifies the values in the fields of the primary key of the current record. |
|  | Conflicts With | `GetPK(Rec."Duplicate Record ID")` | Specifies the values in the fields of the primary key of the duplicate record. |
| Conflicts | Conflicts | `Rec.GetConflictsMsg()` | Specifies the number of conflicts that prevent the merge. |
| Content | Fields | part [Page 703 "Merge Duplicate Subform"](../page/703.md) | — |
|  | Related Tables | part [Page 703 "Merge Duplicate Subform"](../page/703.md) | — |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Processing | Merge | Remove the duplicate record and reassign the related records to the current record. |  |
|  | Remove Duplicate | Delete the duplicate record. Before you choose this action, select the Override checkbox for fields that are not in the primary key if you want to copy their values to the current record. |  |
|  | Rename Duplicate | Change values in the Alternate Value field on lines where it is the same as in the Current Value field. NOTE: This means that the duplicate record continues to exist after the merge. |  |

## Procedures

- `IsConflictResolved(): Boolean`
- `Set(MergeDuplicatesBuffer: Record "Merge Duplicates Buffer")`
- `SetConflict(MergeDuplicatesConflict: Record "Merge Duplicates Conflict")`

Plus 2 local procedures.

## Triggers

OnOpenPage, OnAfterGetCurrRecord

## Relations

- source table [Table 64 "Merge Duplicates Buffer"](../table/64.md)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: none

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "page", object_name: "Merge Duplicate")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
