community postSales & Receivablescommunity - not Microsoftreviewed - checked by Opus

📋 Effortless Copy Actions: From Business Central to Clipboard 📎

This extension enables users to copy formatted customer, vendor, and transaction data from Business Central directly to the clipboard with a single action, ready to share via email, Teams, or other applications. It demonstrates a modular AL architecture using page extensions, codeunits, and WebPageViewer to handle data formatting and clipboard operations.

post Gerardo Rentería Blog

Gerardo Renteria · 2025-11-19 · 961 words · about 4 min

"Page extensions capture user actions that allow entity data to be formatted into two-column text."

Key points

  • Modular architecture separates formatting logic by entity type into dedicated codeunits for customers, vendors, and ledger entries
  • WebPageViewer add-in renders HTML with two-column layout and JavaScript clipboard API for seamless data copying
  • Page extensions add copy actions to Customer List, Vendor List, and Customer Ledger Entries, integrating the feature into existing workflows
  • Formatted data preserves layout when pasted into external applications like email, Teams, or text editors

Quotes

  • “Page extensions capture user actions that allow entity data to be formatted into two-column text.” (Explains how the solution integrates copy functionality into existing pages without modifying core objects)
  • “Executes document.execCommand(‘copy’) to copy the content to the system clipboard with visual feedback.” (Describes the JavaScript mechanism that actually places formatted data into the system clipboard)
  • “The copied information is now ready to be pasted into any application: email, Teams, WhatsApp, or any text editor.” (Demonstrates the practical benefit of preserving formatting across different external applications)

AL objects mentioned

As named in the post. A name that matches one object page by exact type and name links to it; the others stay as named.

  • codeunit “GDRGClipboardMgtCust”
  • codeunit “GDRGClipboardMgtVend”
  • codeunit “GDRGClipboardMgtCustLedg”
  • page “GDRGClipboardHelper”
  • page “GDRGCustomerListExt”
  • page “GDRGVendorListExt”
  • page “GDRGCustLedgerEntries”
  • permissionset “GDRGClipboard”

Not found in BC28-30: codeunit “GDRGClipboardMgtCust”, codeunit “GDRGClipboardMgtVend”, codeunit “GDRGClipboardMgtCustLedg”, page “GDRGClipboardHelper”, page “GDRGCustomerListExt”, page “GDRGVendorListExt”, page “GDRGCustLedgerEntries”, permissionset “GDRGClipboard”.

Context

  • Features: Copy to clipboard action, Two-column formatted layout, Dynamic dialog titles, HTML rendering via WebPageViewer, JavaScript event handling, Data formatting by entity type

Source: Gerardo Renteria, community blog. Summary, key points and quotes are derived (CONTENT-NOTICE.md); read the original for the full text.