Goal
Show how to count distinct records whose tracked columns were changed by a specific user (e.g., a Power Pages account), using Audit History only.
Goal
Show how to count distinct records whose tracked columns were changed by a specific user (e.g., a Power Pages account), using Audit History only.
In Dynamics 365 Finance and Operations (D365 F&O), forms are the frontline of user interaction, but poor performance can turn them into bottlenecks—slow loads, UI freezes, and database contention frustrate users and tank productivity. Based on standard Microsoft practices and real-world developer discussions, this article breaks down four key optimization tips: judicious use of select forupdate, query indexing, minimizing client-side loops, and deferring non-essential data asynchronously. These aren't optional niceties; ignore them, and your forms will drag, especially in high-volume environments. We'll explain each with examples, assuming the latest online D365 F&O—no outdated hacks here.
In Dynamics 365 Finance and Operations (D365 F&O), working with table methods and transactions is fundamental for ensuring data integrity and extending system behavior without overwriting base code. This article dives into Chain of Command (CoC) extensions, the Transaction Tracking System (TTS), key table methods like insert/update/delete and their variants, and the nuances between validation methods such as validateField and reactive ones like modifiedField. Based on real-world discussions and standard Microsoft practices, we'll cover the essentials with examples. Assume the latest online D365 F&O version unless specified otherwise— no outdated workarounds here.
If your goal is to be job-ready as a Dynamics 365 F&O developer, here’s the list of areas that hiring managers expect you to cover. I’ve grouped them by skill area, and flagged the minimum core vs advanced/bonus:
Audience: CE developers moving into F&O or working across both.
Goal: map concepts, components, and patterns one-to-one with concise examples.
This guide walks a junior developer from a blank Azure subscription to a running integration that accepts a message, runs a Durable Function, and creates a contact in Clio via OAuth. It includes the Azure setup, the required environment variables, the project structure, and the end-to-end flow.
Source: https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-isolated-create-first-csharp?pivots=code-editor-visualstudio
Why this matters
When you off‑load sign‑in to Azure AD B2C, the portal’s native login screen is bypassed. That can make it look as if the Authentication/Registration/TermsAgreementEnabled switch no longer works. It does—there are just a few extra pieces you need to wire up.
Both localStorage
and cookies let you remember things in the
browser. They solve overlapping problems, but each one shines in a different
scenario. Here’s a concise guide, plus a real example from an
“on-boarding” tooltip that only shows the first time you visit a page.
Need different Business-Process-Flows (BPFs) for the same entity record depending on a field value? The article below shows how to switch flows dynamically whenever the Appeal Type option-set changes—without hard-coding GUIDs. Drop this into your Blogger post and publish.
Portal web-roles drive what a portal user (contact) can see and do. If you only need a straightforward set-it-and-forget-it rule—no complex branching or API calls—a classic background workflow is still the quickest tool in the box.
Scenario — You need client-side JavaScript to behave differently depending on whether the portal contact holds a particular Web role (e.g. “My Demographics Access”). Power Pages doesn’t expose Web-role data directly to JavaScript, so you must pass that information from Liquid into the page.
Problem statement ↴
Records previously flagged as Ineligible (statecode = Inactive
)
are later re-activated by users. Their associated Business Process Flow
rows remain inactive and stuck on an early stage.
Objective — Automatically reopen a record’s Business Process Flow (BPF) and set it to a specific stage as soon as a flag on the parent record changes, using only a background workflow (no code, no ribbon commands).
Reference: 1
There are multiple ways that you can work with related table records on a table form within Power Apps. For example, you can include related tables in read-only mode with a quick view form and create or edit a record using a main form in a dialog.
Another way you can work with related table records is by adding a form component control to another table's main form. The form component control lets users edit information of a related table record directly from another table’s form.
In some business scenarios users should only add one (or two) child records. The quickest way to enforce this in Dynamics 365 is to hide the New button after the sub-grid reaches a specific row count. This article shows how to:
Knowing the current stage of a Business Process Flow (BPF) lets you lock fields, hide buttons, or trigger downstream logic. Below are two generic patterns that work in every online environment—no proprietary entity names, no deprecated APIs, and no plug-ins.
Reference: 1
As a part of the Power Fx language, authors can now directly invoke a Dataverse action within a formula. Both unbound and bound actions are supported. Authors can add a Power Fx Environment
language object to their app and access Dataverse actions.
If you're trying to create a .snk
file for signing your Dynamics 365 plugin assembly and encounter the error: "The operation could not be completed. Access is denied."
When working with Outlook calendar data in Power Automate, it's important to understand the difference between the “Get events” and “Get calendar view of events” actions—especially if your flow needs to handle recurring events.
You can use the Launch()
function in a Canvas App to open Google Maps and navigate to a specific location entered by the user or stored in your data source.
When I started exploring Microsoft Power Platform with just a Microsoft 365 Business Basic license (primarily for business email via Outlook), I noticed some limitations when trying to create environments for Power Apps development.
By default, each attribute is updated hourly. When a rollup attribute is created or updated a Mass Calculated Rollup Fields job is scheduled to run in 12 hours But you can change it. Follow below steps to change the frequency.
This guide walks you through creating a secure Web API integration between Microsoft Dataverse (used by Dynamics 365) and an external system using Azure Active Directory (Azure AD) authentication.
In Dynamics 365, Environment Variables let you externalize configurable values such as URLs, keys, or feature toggles without changing the solution code.
In Dataverse, you may need to display a Date and Time
column in a readable "Month Year" format — like May 2025
. This is especially useful for calculated or formula-type columns where formatting options are limited.
This guide explains how to Refresh, Add, Update, and Delete tables for Export to PDF.
Download latest solution package
In sales and CRM, measuring account engagement is crucial to identifying customer interactions and potential sales opportunities. In this guide, we will walk through how to calculate the engagement score for an account in Microsoft Dynamics 365 using activities such as emails, phone calls, and appointments.
This topic covers how to set up and deploy Dynamics 365 App for Outlook.
In Dynamics 365, calculated columns are processed by SQL, and complex expressions can sometimes lead to unexpected errors. One reported error is:
SQL error: A SQL arithmetic overflow error occurred
CRM ErrorCode: -2147217098
SQL ErrorCode: -2146232060
SQL Number: 8115