Home
This blog covers X++ development and serves as a personal reference notebook.
Posts
-
Finishing the F&O Visual Studio Extension Setup Behind Admin By Request
Why the Finance and Operations Visual Studio extension fails under Admin By Request, and a PowerShell script that finishes its setup.
-
Programmatic Trace Parsing in X++
Record and parse a Dynamics 365 trace from X++, including SQL text with bind variables, using the built-in Trace Parser libraries.
-
Temporary Admin Revoke Tool for Security Testing
Temporarily drop your System Administrator role, or borrow another user's roles, and test Dynamics 365 security in the same session.
-
How to get the record from a lookup dialog in X++
Extend SysTableLookup so X++ receives the record selected in a lookup dialog, not only the value written back to the control.
-
Debugging in X++ with DebuggerDisplayAttribute
Learn how to use the DebuggerDisplayAttribute in X++ to improve the debugging experience by customizing object representations.
-
Overwriting System Fields in Dynamics 365 F&O
Learn how to overwrite system fields in Dynamics 365 F&O, enabling you to maintain original timestamps and metadata during data migration.
-
Navigating Dynamics 365 Finance and Operations with System Entity Navigation
Open a Dynamics 365 F&O record with System Entity Navigation by building the record GUID from TableId and RecId.
-
Changes in SharePoint Authentication with Dynamics 365 Finance Update 10.0.40
SharePoint authentication changes in Dynamics 365 Finance 10.0.40, and what breaks when SharePointHelper::createProxy is removed.
-
Streamline Your Debugging: Simplifying Reattaching to w3wp.exe in Visual Studio for D365 Finance and Operations
Stop the extra IIS sites so only the AOS w3wp.exe process remains and Visual Studio can reattach without asking which process to use.
-
Chain of Command - Contextual Helper Framework (Updated for 2024)
A 2024 context helper built from a contract registry and factory, so Chain of Command extensions can pass context without a static singleton.
-
Replacing Deep Links with a LinkHandler Class in Dynamics 365
Replace fragile Dynamics 365 deep links with a LinkHandler that finds a record from URL parameters and opens the right form.
-
Shortcomings of the Unified Development Environment in Dynamics 365
Work around label paths, missing package folders, and Trace Parser setup in the Dynamics 365 unified development environment.
-
How to merge PDFs in X++ with PdfSharp
Merge DocuRef PDF attachments in X++ with PdfSharp, using the .NET Framework 4.7.2 build that Finance and Operations can reference.
-
Point-in-time restore and environment-specific data
Store the LCS environment id and raise an event on startup when a restored database no longer belongs to this environment.
-
Integrate Apache Kafka Client into Microsoft Dynamics 365 Finance and Operations, Supply Chain Management
Call Apache Kafka from Dynamics 365 Finance and Operations by wrapping the Confluent .NET client in a C# library referenced from X++.
-
Force start cloud-hosted LCS machine - Chromium extension
A Chromium extension that force-starts a cloud-hosted LCS machine when Lifecycle Services still shows a stale deployed state.
-
Current State of X++ Programming
Where X++ stands in Dynamics 365: longer compiles, missing language features, and a debugger that still crashes too often.
-
Chain of Command - contextual helper class
Pass contract and record context across Chain of Command with a disposable ContextHelper when the call stack has no extension point.
-
Usage of IFeatureRuntimeToggle to enable custom feature toggling
Use IFeatureRuntimeToggle to hide menus and fields with your own logic, without adding an entry to Feature Management.
subscribe via RSS