From 94d38a1a8ea900b77c23ff47c60a1bac7a8a0696 Mon Sep 17 00:00:00 2001 From: Onat Buyukakkus <55088871+onbuyuka@users.noreply.github.com> Date: Mon, 3 Nov 2025 11:04:23 +0100 Subject: [PATCH] Skip existing API tools when adding in bulk --- .../Codeunits/MCPConfigImplementation.Codeunit.al | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/System Application/App/MCP/src/Configuration/Codeunits/MCPConfigImplementation.Codeunit.al b/src/System Application/App/MCP/src/Configuration/Codeunits/MCPConfigImplementation.Codeunit.al index 9a876371a6..c2f4e0e20d 100644 --- a/src/System Application/App/MCP/src/Configuration/Codeunits/MCPConfigImplementation.Codeunit.al +++ b/src/System Application/App/MCP/src/Configuration/Codeunits/MCPConfigImplementation.Codeunit.al @@ -426,6 +426,8 @@ codeunit 8351 "MCP Config Implementation" exit; repeat + if CheckAPIToolExists(ConfigId, PageMetadata.ID) then + continue; CreateAPITool(ConfigId, PageMetadata.ID, false); until PageMetadata.Next() = 0; end; @@ -442,10 +444,22 @@ codeunit 8351 "MCP Config Implementation" exit; repeat + if CheckAPIToolExists(ConfigId, PageMetadata.ID) then + continue; CreateAPITool(ConfigId, PageMetadata.ID, false); until PageMetadata.Next() = 0; end; + local procedure CheckAPIToolExists(ConfigId: Guid; PageId: Integer): Boolean + var + MCPConfigurationTool: Record "MCP Configuration Tool"; + begin + MCPConfigurationTool.SetRange(ID, ConfigId); + MCPConfigurationTool.SetRange("Object Type", MCPConfigurationTool."Object Type"::Page); + MCPConfigurationTool.SetRange("Object ID", PageId); + exit(not MCPConfigurationTool.IsEmpty()); + end; + internal procedure GetObjectCaption(ToolId: Guid): Text[100] var MCPConfigurationTool: Record "MCP Configuration Tool";